();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return \n * })\n * ```\n *\n * @param refA A Callback or mutable Ref\n * @param refB A Callback or mutable Ref\n * @category refs\n */\n\nfunction useMergedRefs(refA, refB) {\n return useMemo(function () {\n return mergeRefs(refA, refB);\n }, [refA, refB]);\n}\n\nexport default useMergedRefs;","import * as React from 'react';\nconst NavContext = /*#__PURE__*/React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","import * as React from 'react';\nconst SelectableContext = /*#__PURE__*/React.createContext(null);\nexport const makeEventKey = (eventKey, href = null) => {\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","import * as React from 'react';\nconst TabContext = /*#__PURE__*/React.createContext(null);\nexport default TabContext;","export const ATTRIBUTE_PREFIX = `data-rr-ui-`;\nexport const PROPERTY_PREFIX = `rrUi`;\nexport function dataAttr(property) {\n return `${ATTRIBUTE_PREFIX}${property}`;\n}\nexport function dataProp(property) {\n return `${PROPERTY_PREFIX}${property}`;\n}","const _excluded = [\"as\", \"active\", \"eventKey\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useNavItem({\n key,\n onClick,\n active,\n id,\n role,\n disabled\n}) {\n const parentOnSelect = useContext(SelectableContext);\n const navContext = useContext(NavContext);\n let isActive = active;\n const props = {\n role\n };\n\n if (navContext) {\n if (!role && navContext.role === 'tablist') props.role = 'tab';\n const contextControllerId = navContext.getControllerId(key != null ? key : null);\n const contextControlledId = navContext.getControlledId(key != null ? key : null); // @ts-ignore\n\n props[dataAttr('event-key')] = key;\n props.id = contextControllerId || id;\n props['aria-controls'] = contextControlledId;\n isActive = active == null && key != null ? navContext.activeKey === key : active;\n }\n\n if (props.role === 'tab') {\n if (disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n if (isActive) {\n props['aria-selected'] = isActive;\n } else {\n props.tabIndex = -1;\n }\n }\n\n props.onClick = useEventCallback(e => {\n if (disabled) return;\n onClick == null ? void 0 : onClick(e);\n\n if (key == null) {\n return;\n }\n\n if (parentOnSelect && !e.isPropagationStopped()) {\n parentOnSelect(key, e);\n }\n });\n return [props, {\n isActive\n }];\n}\nconst NavItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: Component = Button,\n active,\n eventKey\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [props, meta] = useNavItem(Object.assign({\n key: makeEventKey(eventKey, options.href),\n active\n }, options)); // @ts-ignore\n\n props[dataAttr('active')] = meta.isActive;\n return /*#__PURE__*/_jsx(Component, Object.assign({}, options, props, {\n ref: ref\n }));\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","const _excluded = [\"as\", \"onSelect\", \"activeKey\", \"role\", \"onKeyDown\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport qsa from 'dom-helpers/querySelectorAll';\nimport * as React from 'react';\nimport { useContext, useEffect, useRef } from 'react';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport TabContext from './TabContext';\nimport { dataAttr, dataProp } from './DataKey';\nimport NavItem from './NavItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\n\nconst EVENT_KEY_ATTR = dataAttr('event-key');\nconst Nav = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n onSelect,\n activeKey,\n role,\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n // A ref and forceUpdate for refocus, b/c we only want to trigger when needed\n // and don't want to reset the set in the effect\n const forceUpdate = useForceUpdate();\n const needsRefocusRef = useRef(false);\n const parentOnSelect = useContext(SelectableContext);\n const tabContext = useContext(TabContext);\n let getControlledId, getControllerId;\n\n if (tabContext) {\n role = role || 'tablist';\n activeKey = tabContext.activeKey; // TODO: do we need to duplicate these?\n\n getControlledId = tabContext.getControlledId;\n getControllerId = tabContext.getControllerId;\n }\n\n const listNode = useRef(null);\n\n const getNextActiveTab = offset => {\n const currentListNode = listNode.current;\n if (!currentListNode) return null;\n const items = qsa(currentListNode, `[${EVENT_KEY_ATTR}]:not([aria-disabled=true])`);\n const activeChild = currentListNode.querySelector('[aria-selected=true]');\n if (!activeChild) return null;\n const index = items.indexOf(activeChild);\n if (index === -1) return null;\n let nextIndex = index + offset;\n if (nextIndex >= items.length) nextIndex = 0;\n if (nextIndex < 0) nextIndex = items.length - 1;\n return items[nextIndex];\n };\n\n const handleSelect = (key, event) => {\n if (key == null) return;\n onSelect == null ? void 0 : onSelect(key, event);\n parentOnSelect == null ? void 0 : parentOnSelect(key, event);\n };\n\n const handleKeyDown = event => {\n onKeyDown == null ? void 0 : onKeyDown(event);\n\n if (!tabContext) {\n return;\n }\n\n let nextActiveChild;\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n nextActiveChild = getNextActiveTab(-1);\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n nextActiveChild = getNextActiveTab(1);\n break;\n\n default:\n return;\n }\n\n if (!nextActiveChild) return;\n event.preventDefault();\n handleSelect(nextActiveChild.dataset[dataProp('EventKey')] || null, event);\n needsRefocusRef.current = true;\n forceUpdate();\n };\n\n useEffect(() => {\n if (listNode.current && needsRefocusRef.current) {\n const activeChild = listNode.current.querySelector(`[${EVENT_KEY_ATTR}][aria-selected=true]`);\n activeChild == null ? void 0 : activeChild.focus();\n }\n\n needsRefocusRef.current = false;\n });\n const mergedRef = useMergedRefs(ref, listNode);\n return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleSelect,\n children: /*#__PURE__*/_jsx(NavContext.Provider, {\n value: {\n role,\n // used by NavLink to determine it's role\n activeKey: makeEventKey(activeKey),\n getControlledId: getControlledId || noop,\n getControllerId: getControllerId || noop\n },\n children: /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n onKeyDown: handleKeyDown,\n ref: mergedRef,\n role: role\n }))\n })\n });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n Item: NavItem\n});","import { useReducer } from 'react';\n/**\n * Returns a function that triggers a component update. the hook equivalent to\n * `this.forceUpdate()` in a class component. In most cases using a state value directly\n * is preferable but may be required in some advanced usages of refs for interop or\n * when direct DOM manipulation is required.\n *\n * ```ts\n * const forceUpdate = useForceUpdate();\n *\n * const updateOnClick = useCallback(() => {\n * forceUpdate()\n * }, [forceUpdate])\n *\n * return \n * ```\n */\n\nexport default function useForceUpdate() {\n // The toggling state value is designed to defeat React optimizations for skipping\n // updates when they are stricting equal to the last state value\n var _useReducer = useReducer(function (state) {\n return !state;\n }, false),\n dispatch = _useReducer[1];\n\n return dispatch;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroupItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n active,\n disabled,\n eventKey,\n className,\n variant,\n action,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n ...props\n });\n const handleClick = useEventCallback(event => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n navItemProps.onClick(event);\n });\n\n if (disabled && props.tabIndex === undefined) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n } // eslint-disable-next-line no-nested-ternary\n\n\n const Component = as || (action ? props.href ? 'a' : 'button' : 'div');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n ...navItemProps,\n onClick: handleClick,\n className: classNames(className, bsPrefix, meta.isActive && 'active', disabled && 'disabled', variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)\n });\n});\nListGroupItem.displayName = 'ListGroupItem';\nexport default ListGroupItem;","import classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ListGroupItem from './ListGroupItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n className,\n bsPrefix: initialBsPrefix,\n variant,\n horizontal,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'div',\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'list-group');\n let horizontalVariant;\n\n if (horizontal) {\n horizontalVariant = horizontal === true ? 'horizontal' : `horizontal-${horizontal}`;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(!(horizontal && variant === 'flush'), '`variant=\"flush\"` and `horizontal` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(BaseNav, {\n ref: ref,\n ...controlledProps,\n as: as,\n className: classNames(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`)\n });\n});\nListGroup.displayName = 'ListGroup';\nexport default Object.assign(ListGroup, {\n Item: ListGroupItem\n});","export function pdfReferenceValues(\r\n pdfFormValues,\r\n ethnicity,\r\n gender,\r\n yearGroup,\r\n refusal,\r\n relationships,\r\n) {\r\n let pdf = pdfFormValues;\r\n\r\n //Filter selects for pdf descriptions\r\n pdf['ethnicityDesc'] = ethnicity.find(\r\n (x) => x.EthnicityCode === pdfFormValues.ethnicity,\r\n ).EthnicityDesc;\r\n\r\n pdf['yearGroup'] = yearGroup.find(\r\n (x) => x.CategoryValueCode === pdfFormValues.yearGroup,\r\n ).CategoryDesc;\r\n\r\n pdf['genderDesc'] = gender.find(\r\n (x) => x.CategoryValueCode === pdfFormValues.patientGender,\r\n ).CategoryDesc;\r\n\r\n pdf['relationshipDesc'] = relationships.find(\r\n (x) =>\r\n x.CategoriesID ===\r\n parseInt(pdfFormValues.parentGuardianConsentRelationshipForChild, 10),\r\n ).CategoryDesc;\r\n\r\n if (pdfFormValues.parentGuardianConsentReasonForRefusal) {\r\n pdf['refusalReasonDesc'] = refusal.find(\r\n (x) =>\r\n x.CategoriesID ===\r\n parseInt(pdfFormValues.parentGuardianConsentReasonForRefusal, 10),\r\n ).CategoryDesc;\r\n }\r\n\r\n return pdf;\r\n}\r\n\r\nexport function pdfReferenceValuesMenACWYTdIPV(\r\n pdfFormValues,\r\n ethnicity,\r\n gender,\r\n yearGroup,\r\n refusal,\r\n relationships,\r\n) {\r\n let pdf = pdfFormValues;\r\n\r\n //Filter selects for pdf descriptions\r\n pdf['ethnicityDesc'] = ethnicity.find(\r\n (x) => x.EthnicityCode === pdfFormValues.ethnicity,\r\n ).EthnicityDesc;\r\n\r\n pdf['yearGroup'] = yearGroup.find(\r\n (x) => x.CategoryValueCode === pdfFormValues.yearGroup,\r\n ).CategoryDesc;\r\n\r\n pdf['genderDesc'] = gender.find(\r\n (x) => x.CategoryValueCode === pdfFormValues.patientGender,\r\n ).CategoryDesc;\r\n\r\n pdf['relationshipDescMen'] = relationships.find(\r\n (x) =>\r\n x.CategoriesID ===\r\n parseInt(\r\n pdfFormValues.parentGuardianConsentRelationshipForChildMenACWY,\r\n 10,\r\n ),\r\n ).CategoryDesc;\r\n\r\n pdf['relationshipDescTdIPV'] = relationships.find(\r\n (x) =>\r\n x.CategoriesID ===\r\n parseInt(pdfFormValues.parentGuardianConsentRelationshipForChild, 10),\r\n ).CategoryDesc;\r\n\r\n if (pdfFormValues.parentGuardianConsentReasonForRefusalMenACWY) {\r\n pdf['refusalReasonDescMen'] = refusal.find(\r\n (x) =>\r\n x.CategoriesID ===\r\n parseInt(\r\n pdfFormValues.parentGuardianConsentReasonForRefusalMenACWY,\r\n 10,\r\n ),\r\n ).CategoryDesc;\r\n }\r\n\r\n if (pdfFormValues.parentGuardianConsentReasonForRefusal) {\r\n pdf['refusalReasonDescTdIPV'] = refusal.find(\r\n (x) =>\r\n x.CategoriesID ===\r\n parseInt(pdfFormValues.parentGuardianConsentReasonForRefusal, 10),\r\n ).CategoryDesc;\r\n }\r\n\r\n return pdf;\r\n}\r\n","import moment from 'moment';\r\n\r\nexport function dateConversion(year, month, day) {\r\n return moment(new Date(`${year}/${month}/${day}`)).format('YYYY/MM/DD');\r\n}\r\n","import * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormCheckInput from './FormCheckInput';\nimport InputGroupContext from './InputGroupContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupText = createWithBsPrefix('input-group-text', {\n Component: 'span'\n});\n\nconst InputGroupCheckbox = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"checkbox\",\n ...props\n })\n});\n\nconst InputGroupRadio = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"radio\",\n ...props\n })\n});\n\n/**\n *\n * @property {InputGroupText} Text\n * @property {InputGroupRadio} Radio\n * @property {InputGroupCheckbox} Checkbox\n */\nconst InputGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n hasValidation,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group'); // Intentionally an empty object. Used in detecting if a dropdown\n // exists under an input group.\n\n const contextValue = useMemo(() => ({}), []);\n return /*#__PURE__*/_jsx(InputGroupContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, hasValidation && 'has-validation')\n })\n });\n});\nInputGroup.displayName = 'InputGroup';\nexport default Object.assign(InputGroup, {\n Text: InputGroupText,\n Radio: InputGroupRadio,\n Checkbox: InputGroupCheckbox\n});","import { Form } from 'react-bootstrap';\r\n\r\nexport default function PostcodeSelect({ label, ...props }) {\r\n const { data } = props;\r\n\r\n const handleSelect = (event) => {\r\n if (props.addressSelectedCallback != null) {\r\n props.addressSelectedCallback(data[event.target.value]);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {label}\r\n \r\n {data.map((item, index) => (\r\n // \r\n \r\n ))}\r\n \r\n >\r\n );\r\n}\r\n","export default function PostCodeError(props) {\r\n return (\r\n <>\r\n {props.error}
\r\n >\r\n );\r\n}\r\n","import { Form, InputGroup } from 'react-bootstrap';\r\nimport { useFormikContext } from 'formik';\r\nimport InputField from '../inputField.js';\r\nimport PostcodeSelect from './postcodeSelect.js';\r\nimport { Button } from 'react-bootstrap';\r\nimport { useState, useRef } from 'react';\r\nimport PostCodeError from './postCodeError.js';\r\n//import { getAddresses } from '../../../utils/sendRequest.js';\r\nimport { getAddresses_OS } from '../../../utils/sendRequest.js';\r\n\r\nexport default function PostcodeSearch({ label, ...props }) {\r\n const { values } = useFormikContext();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [data, setData] = useState();\r\n const [noResults, setNoResults] = useState(false);\r\n const [error, setError] = useState();\r\n const [show, setShow] = useState(true);\r\n const postcodeSearch = useRef();\r\n\r\n const [state, setState] = useState({\r\n addressLine1: '',\r\n addressLine2: '',\r\n addressLine3: '',\r\n addressLine4: '',\r\n postcode: '',\r\n });\r\n\r\n const addAddressToState = (address) => {\r\n let dpaDepartmentName = address.DPA.DEPARTMENT_NAME || '';\r\n let dpaOrganisationName = address.DPA.ORGANISATION_NAME || '';\r\n let dpaSubBuildingName = address.DPA.SUB_BUILDING_NAME || '';\r\n let dpaBuildingName = address.DPA.BUILDING_NAME || '';\r\n let dpaBuildingNumber = address.DPA.BUILDING_NUMBER || '';\r\n\r\n let dpaDependentThoroughfareName =\r\n address.DPA.DEPENDENT_THOROUGHFARE_NAME || '';\r\n let dpaThoroughfareName = address.DPA.THOROUGHFARE_NAME || '';\r\n let dpaDoubleDependentLocality =\r\n address.DPA.DOUBLE_DEPENDENT_LOCALITY || '';\r\n let dpaDependentLocality = address.DPA.DEPENDENT_LOCALITY || '';\r\n let dpaPostTown = address.DPA.POST_TOWN || '';\r\n let dpaPostcode = address.DPA.POSTCODE || '';\r\n let dpaPOBoxNumber = address.PO_BOX_NUMBER || '';\r\n\r\n //Dummy state update to refresh page\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n addressLine1: address.DPA.BUILDING_NUMBER,\r\n addressLine2: address.DPA.THOROUGHFARE_NAME,\r\n addressLine3: address.DPA.LOCAL_CUSTODIAN_CODE_DESCRIPTION,\r\n addressLine4: address.DPA.POST_TOWN,\r\n postCode: address.DPA.POSTCODE,\r\n }));\r\n\r\n let arrAddrLine = [dpaOrganisationName, dpaDepartmentName, dpaPOBoxNumber].filter((item) => item !== '');\r\n let arrPremisesV2 = [dpaBuildingNumber, dpaSubBuildingName, dpaBuildingName].filter(item => item);\r\n let arrThoroughfareLocalityV2 = [dpaDependentThoroughfareName, dpaThoroughfareName, dpaDoubleDependentLocality, dpaDependentLocality].filter(item => item);\r\n let strPremisesThoroughfareLocality = '';\r\n\r\n const regex = /(^[1-9]+[a-zA-Z]$)|(^[1-9]+-[1-9]+$)/;\r\n\r\n if (regex.test(dpaSubBuildingName) || regex.test(dpaBuildingName) || dpaBuildingNumber !== '') {\r\n\r\n strPremisesThoroughfareLocality = arrPremisesV2[0] + ' ' + arrThoroughfareLocalityV2[0];\r\n\r\n arrThoroughfareLocalityV2.shift();\r\n\r\n arrPremisesV2.shift();\r\n }\r\n\r\n arrAddrLine = arrAddrLine.concat(arrPremisesV2);\r\n arrAddrLine = arrAddrLine.concat(strPremisesThoroughfareLocality);\r\n arrAddrLine = arrAddrLine.concat(arrThoroughfareLocalityV2);\r\n arrAddrLine = [...new Set(arrAddrLine)];\r\n arrAddrLine = arrAddrLine.filter(item => item);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n addressLine1: arrAddrLine[0] ? arrAddrLine[0] : '',\r\n addressLine2: arrAddrLine[1] ? arrAddrLine[1] : '',\r\n addressLine3: arrAddrLine[2] ? arrAddrLine[1] : '',\r\n addressLine4: dpaPostTown,\r\n postCode: dpaPostcode,\r\n }));\r\n\r\n values[`${props.addressFields}Line1`] = arrAddrLine[0] ? arrAddrLine[0] : '';\r\n values[`${props.addressFields}Line2`] = arrAddrLine[1] ? arrAddrLine[1] : '';\r\n values[`${props.addressFields}Line3`] = arrAddrLine[2] ? arrAddrLine[2] : '';\r\n values[`${props.addressFields}Line4`] = dpaPostTown;\r\n values[`${props.postCodeField}PostCode`] = dpaPostcode;\r\n\r\n setShow(!show);\r\n };\r\n\r\n const handlePostCodeSearch = () => {\r\n\r\n setShow(true);\r\n const re =\r\n /^(([gG][iI][rR] {0,}0[aA]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y]))) {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2}))$/;\r\n\r\n if (re.test(postcodeSearch.current.value)) {\r\n setLoading(true);\r\n \r\n getAddresses_OS(postcodeSearch.current.value)\r\n .then((res) => {\r\n if (res.header.totalresults === 0) {\r\n setNoResults(true);\r\n setData(null);\r\n setError(null);\r\n } else {\r\n setNoResults(false);\r\n setData(res.results);\r\n setError(null);\r\n }\r\n setLoading(false);\r\n })\r\n .catch(() => {\r\n setLoading(false);\r\n setError('No address results found');\r\n });\r\n } else {\r\n //Fails regex postcode search value invalid\r\n setError('Please enter a valid postcode');\r\n setData(null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {error && }\r\n {loading && Loading...
}\r\n {data && data.length && show ? (\r\n \r\n ) : (\r\n noResults && \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n >\r\n );\r\n}\r\n","import { useField } from 'formik';\r\n\r\nexport default function CustomFieldError({ label, ...props }) {\r\n const [field, meta] = useField(props);\r\n\r\n return <>{meta.error && {meta.error}
}>;\r\n}\r\n","import { Form } from 'react-bootstrap';\r\nimport { useField } from 'formik';\r\n\r\nexport default function SelectField({ label, ...props }) {\r\n const { data } = props;\r\n const [field, meta, helper] = useField(props);\r\n const { setValue } = helper;\r\n\r\n return (\r\n \r\n {label}\r\n \r\n x.target.value !== ''\r\n ? setValue(x.target.value)\r\n : setValue('')\r\n }\r\n disabled={props.disabled}\r\n >\r\n \r\n {data.map((item, index) => (\r\n \r\n ))}\r\n \r\n {meta.touched && meta.error && (\r\n {meta.error}
\r\n )}\r\n \r\n );\r\n}\r\n","import { Form } from 'react-bootstrap';\r\nimport { useField } from 'formik';\r\n\r\nexport default function SelectField({ label, ...props }) {\r\n const { data } = props;\r\n const [field, meta, helper] = useField(props);\r\n const { setValue } = helper;\r\n\r\n return (\r\n \r\n {label}\r\n \r\n x.target.value !== ''\r\n ? setValue(x.target.value)\r\n : setValue('')\r\n }\r\n disabled={props.disabled}\r\n >\r\n \r\n {data.map((item, index) => (\r\n \r\n ))}\r\n \r\n {meta.touched && meta.error && (\r\n {meta.error}
\r\n )}\r\n \r\n );\r\n}\r\n","import PostcodeSearch from '../../../formFields/address/postcodeSearch.js';\r\nimport CustomFieldError from '../../../formFields/customFieldError.js';\r\nimport SelectFieldEthnicity from '../../../formFields/selectFieldEthnicity.js';\r\nimport SelectField from '../../../formFields/selectField.js';\r\nimport { Form, Row, Col } from 'react-bootstrap';\r\nimport InputField from '../../../formFields/inputField.js';\r\nimport { useFormikContext } from 'formik';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\n\r\nexport default function Demographics(props) {\r\n const { values, errors, touched } = useFormikContext();\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Child Date of Birth* (For example 15 3 1984)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {values.patientGender === 'O' &&\r\n \r\n }\r\n \r\n \r\n \r\n Child NHS Number
\r\n (Please find link to find your Child's NHS Number : https://www.nhs.uk/nhs-services/online-services/find-nhs-number/)\r\n \r\n \r\n \r\n {Object.keys(touched).length > 0 && Object.keys(errors).length > 0 && (\r\n \r\n Please complete all required fields (*)\r\n
\r\n )}\r\n >\r\n );\r\n}\r\n","import { Form } from 'react-bootstrap';\r\nimport { useField } from 'formik';\r\n\r\nexport default function SelectField({ label, ...props }) {\r\n const { data } = props;\r\n const [field, meta, helper] = useField(props);\r\n const { setValue } = helper;\r\n\r\n return (\r\n \r\n {label}\r\n \r\n x.target.value !== ''\r\n ? setValue(x.target.value)\r\n : setValue('')\r\n }\r\n disabled={props.disabled}\r\n >\r\n \r\n {data.map((item, index) => (\r\n \r\n ))}\r\n \r\n {meta.touched && meta.error && (\r\n {meta.error}
\r\n )}\r\n \r\n );\r\n}\r\n","import { Form } from 'react-bootstrap';\r\nimport { useField } from 'formik';\r\n\r\nexport default function RadioField({ label, ...props }) {\r\n const [field, meta] = useField(props);\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import CustomFieldError from '../../../formFields/customFieldError.js';\r\nimport SelectField from '../../../formFields/selectField.js';\r\nimport SelectFieldId from '../../../formFields/selectFieldId.js';\r\nimport { Form, Row, Col,Card } from 'react-bootstrap';\r\nimport RadioField from '../../../formFields/RadioField.js';\r\nimport InputField from '../../../formFields/inputField.js';\r\nimport { useFormikContext } from 'formik';\r\nimport moment from 'moment';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\n\r\nexport default function HpvQuestions(props) {\r\n const { values, errors, touched, handleChange } = useFormikContext();\r\n const [checked, setChecked] = useState(false)\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {props.vaccineQuestions.confirm}\r\n \r\n \r\n \r\n Tick one box below*\r\n \r\n \r\n \r\n \r\n {values.parentGuardianConsentStatus === 'Not Given' &&\r\n \r\n Reason for refusal\r\n \r\n {props.filterRefusal.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentReasonForRefusal &&\r\n errors.parentGuardianConsentReasonForRefusal && (\r\n \r\n {errors.parentGuardianConsentReasonForRefusal}\r\n
\r\n )}\r\n }\r\n {values.parentGuardianConsentReasonForRefusal === '62' && ( //Had elsewhere\r\n \r\n )}\r\n {values.parentGuardianConsentStatus === 'Not Given' &&\r\n \r\n \r\n Would you like more information? *\r\n \r\n \r\n \r\n }\r\n \r\n Relationship to child*\r\n \r\n \r\n {props.filterRelationships.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentRelationshipForChild &&\r\n errors.parentGuardianConsentRelationshipForChild && (\r\n \r\n {errors.parentGuardianConsentRelationshipForChild}\r\n
\r\n )}\r\n \r\n {values.parentGuardianConsentRelationshipForChild ==='78' &&\r\n }\r\n \r\n \r\n Submission Date\r\n\r\n {/* \r\n
\r\n
*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n Health Questionnaire\r\n \r\n
\r\n \r\n {props.vaccineQuestions.q1}\r\n \r\n \r\n \r\n {/* */}\r\n {touched.q1 && errors.q1 && (\r\n {errors.q1}
\r\n )}\r\n \r\n {values.q1 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q1VaccineWhere}\r\n \r\n \r\n \r\n {errors.q1VaccineWhere}\r\n \r\n }\r\n {values.q1 === 'Yes' &&\r\n
\r\n \r\n {props.vaccineQuestions.q1VaccineBrand}\r\n \r\n \r\n \r\n {errors.q1VaccineBrand}\r\n \r\n }\r\n {values.q1 === 'Yes' &&\r\n
\r\n \r\n {props.vaccineQuestions.q1VaccineWhen} (For example 15 3\r\n 1984)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q2}\r\n \r\n \r\n \r\n {touched.q2 && errors.q2 && (\r\n {errors.q2}
\r\n )}\r\n \r\n {values.q2 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q2Comment}\r\n \r\n \r\n \r\n {errors.q2Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q3}\r\n \r\n \r\n \r\n {touched.q3 && errors.q3 && (\r\n {errors.q3}
\r\n )}\r\n \r\n {values.q3 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q3Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q4}\r\n \r\n \r\n \r\n {touched.q4 && errors.q4 && (\r\n {errors.q4}
\r\n )}\r\n \r\n {values.q4 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q4Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q5}\r\n \r\n \r\n \r\n {touched.q5 && errors.q5 && (\r\n {errors.q5}
\r\n )}\r\n \r\n {values.q5 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q5Comment}\r\n \r\n }\r\n
\r\n \r\n Please add any futher information you feel would be\r\n useful\r\n \r\n \r\n \r\n {errors.parentGuardianFurtherInformation}\r\n \r\n \r\n
\r\n {/* Checks if there are errors and fields have been touched */}\r\n {Object.keys(touched).length > 0 &&\r\n Object.keys(errors).length > 0 && (\r\n \r\n Please complete all required fields (*)\r\n
\r\n )}\r\n >\r\n );\r\n}\r\n","import { Alert, Row, Col } from 'react-bootstrap';\r\n\r\nexport default function ErrorNotification(props) {\r\n let alertMessage = props.alertMessage;\r\n\r\n if (alertMessage !== undefined) {\r\n if (!Array.isArray(alertMessage)) {\r\n alertMessage = [alertMessage];\r\n }\r\n\r\n alertMessage = alertMessage.map((item, index) => (\r\n {item}\r\n ));\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Error - there is a problem
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Spinner = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n variant,\n animation,\n size,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n const bsSpinnerPrefix = `${bsPrefix}-${animation}`;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsSpinnerPrefix, size && `${bsSpinnerPrefix}-${size}`, variant && `text-${variant}`)\n });\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","import React from 'react';\r\nimport { Spinner } from 'react-bootstrap';\r\n\r\nexport default function loadingSpinner() {\r\n return ;\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { Button, Form, Row, Col, Card, Alert, ListGroup, ListGroupItem, FormGroup } from 'react-bootstrap';\r\nimport { useFormikContext } from 'formik';\r\n\r\nexport default function DuplicateRecord() {\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n const { values, errors, touched } = useFormikContext();\r\n localStorage .removeItem('token');\r\n localStorage.removeItem('vaccineCode');\r\n localStorage.removeItem('schoolCode');\r\n localStorage.removeItem('consentLetterReferenceCode');\r\n return (\r\n <> \r\n \r\n \r\n \r\n {/* Immunisation Login */}\r\n \r\n \r\n Error\r\n \r\n {values.duplicateReason}\r\n \r\n \r\n \r\n \r\n
\r\n >\r\n \r\n );\r\n}\r\n","import React, { useState, useContext } from 'react';\r\nimport { Form, Formik } from 'formik';\r\nimport { Button, Row, Col,Card, ProgressBar } from 'react-bootstrap';\r\nimport { duplicateCheck } from '../../../utils/sendRequest.js';\r\nimport ErrorNotification from '../../base/ErrorNotification.js';\r\nimport { mapQuestions } from '../../../utils/mapQuestions.js';\r\nimport LoadingSpinner from '../../base/loadingSpinner.js';\r\nimport DuplicateRecord from './subForms/duplicateRecord.js';\r\nimport UserContext from '../../../context/userContext.js';\r\n\r\n\r\nexport default function Wizard({ children, initialValues, onSubmit }) {\r\n const [stepNumber, setStepNumber] = useState(0);\r\n const [stepDescription, setStepDescription] = useState('Demographics');\r\n const steps = React.Children.toArray(children);\r\n const [snapshot, setSnapshot] = useState(initialValues);\r\n const step = steps[stepNumber];\r\n const totalSteps = steps.length;\r\n const isLastStep = stepNumber === totalSteps - 1;\r\n const [progress, setProgress] = useState(0);\r\n const userDetail = useContext(UserContext);\r\n\r\n const wizardSteps = [\r\n { id: 0, description: '1. Demographics' },\r\n { id: 1, description: '2. Duplicate'},\r\n { id: 2, description: '3. Consent'}\r\n ];\r\n const next = (values) => {\r\n \r\n if(stepNumber === 0)\r\n {\r\n values.vaccineDeliveredCode = userDetail.vaccineCode;\r\n values.consentLetterReferenceCode =userDetail.consentLetterReferenceCode;\r\n values.schoolCodeURN = userDetail.schoolCode;\r\n if(values)\r\n {\r\n duplicateCheck(values)\r\n .then((res) => {\r\n if(res.code === 100)\r\n {\r\n setStepNumber(1);\r\n values.duplicateReason = res.message;\r\n setStepDescription('Duplicate');\r\n console.log(\"error\");\r\n }\r\n else if(res.code === 600)\r\n {\r\n setSnapshot(values);\r\n setStepNumber(2);\r\n setStepDescription('Consent');\r\n //setStepNumber(Math.min(stepNumber + 1, totalSteps - 1));\r\n\r\n }\r\n else\r\n {\r\n setSnapshot(values);\r\n setStepNumber(2);\r\n setStepDescription('Consent');\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n }\r\n\r\n };\r\n const previous = (values, touched) => {\r\n //pass in touched from next button, to allow reset of touched values and remove error messages\r\n touched({});\r\n setSnapshot(values);\r\n if (stepNumber === 2) {\r\n setStepNumber(0);\r\n setStepDescription('Demographics');\r\n //setProgress(0);\r\n }\r\n };\r\n const handleSubmit = async (values, bag) => {\r\n if (step.props.onSubmit) {\r\n await step.props.onSubmit(values, bag);\r\n }\r\n if (isLastStep) {\r\n setProgress(progress + 25);\r\n return onSubmit(values, bag);\r\n } else {\r\n bag.setTouched({});\r\n next(values);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {(formik) => (\r\n \r\n )}\r\n \r\n {/* */}\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\n\r\nexport default function ParentalResponsibility(props) {\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n return (\r\n <>\r\n \r\n
\r\n
Parental Responsibility
\r\n
\r\n The Children Act 1989 sets out persons who may have parental\r\n responsibility. These include:{' '}\r\n
\r\n
\r\n - The child’s mother.
\r\n - \r\n The child’s father, if he was married to the mother at the time of\r\n birth.\r\n
\r\n - \r\n Unmarried fathers, who can acquire parental responsibility in several\r\n different ways:\r\n
\r\n {/* - \r\n For children born before 1 December 2003, unmarried fathers will\r\n have parental responsibility if they marry the mother of their\r\n child or obtain a parental responsibility order from the court,\r\n register a parental responsibility agreement with the court or by\r\n an application to court (This will end on 1st December 2021, when\r\n all children born before that date will be 18).\r\n
*/}\r\n - \r\n For children born after 1 December 2003, unmarried fathers will\r\n have parental responsibility if they register the child’s birth\r\n jointly with the mother at the time of birth, re-register the\r\n birth if they are the natural father, marry the mother of their\r\n child or obtain a parental responsibility order from the court\r\n register with the court for parental responsibility.\r\n
\r\n
\r\n \r\n - The child’s legally appointed guardian.
\r\n - \r\n A person in whose favour the court has made a residence order\r\n concerning the child.\r\n
\r\n - \r\n A local authority designated in a care order in respect of the child.\r\n
\r\n - \r\n A local authority or other authorised person who holds an emergency\r\n protection order in respect of the child. Section 2(9) of the Children\r\n Act 1989 states that a person who has parental responsibility for a\r\n child ‘may arrange for some or all of it to be met by one or more\r\n persons acting on his or her behalf’. Such a person might choose to do\r\n this, for example, if a childminder or the staff of a boarding school\r\n have regular care of their child. As only a person exercising parental\r\n responsibility can give valid consent, in the event of any doubt then\r\n specific enquiry should be made. Foster parents do not automatically\r\n have parental responsibility.\r\n
\r\n
\r\n
\r\n >\r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport { Button, Form, Row, Col, Card, Alert, ListGroup, ListGroupItem } from 'react-bootstrap';\r\nimport { useContext } from 'react';\r\nimport UserContext from '../../../context/userContext.js';\r\nimport { submitHPVConsent, generatePDF } from '../../../utils/sendRequest.js';\r\nimport { pdfReferenceValues } from '../../../utils/pdfReferenceValues.js';\r\nimport * as FormValidator from '../../../validation/index.js';\r\nimport { dateConversion } from '../../../utils/dateConversion.js';\r\nimport Demographics from './subForms/demographics.js';\r\nimport HpvQuestions from './subForms/hpvQuestions.js';\r\nimport moment from 'moment';\r\nimport Wizard from './wizardForm.js';\r\nimport DuplicateRecord from './subForms/duplicateRecord.js';\r\nimport ParentalResponsibility from './subForms/parentalResponsibility.js';\r\n\r\nexport default function HPV(props) {\r\n const userDetail = useContext(UserContext);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const WizardStep = ({ children }) => children;\r\n const [failed, setFailed] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const [processing, setProcessing] = useState(false);\r\n const [serverError, setServerError] = useState();\r\n const [pdfFormValues, setPdfFormValues] = useState();\r\n\r\n const filterRelationships = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PARELAT',\r\n );\r\n\r\n const filterYearGroup = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'SCHYRSGP',\r\n );\r\n\r\n const filterGender = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'GENDER',\r\n );\r\n\r\n const filterRefusal = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PAREFUSAL' && x.CarePlusCoding !== 'VC',\r\n );\r\n\r\n const pdfDownload = async () => {\r\n const pdf = pdfReferenceValues(\r\n pdfFormValues,\r\n props.ethnicityOptions,\r\n filterGender,\r\n filterYearGroup,\r\n filterRefusal,\r\n filterRelationships,\r\n );\r\n\r\n setProcessing(true);\r\n\r\n try {\r\n const resPdf = await generatePDF(\r\n pdf,\r\n userDetail.token,\r\n props.vaccineQuestions,\r\n );\r\n\r\n if (!resPdf) {\r\n setFailed();\r\n }\r\n\r\n const file = new Blob([resPdf], { type: 'application/pdf' });\r\n //IE fix\r\n // window navigator - detect browser\r\n //msSaveOrOpenBlob ie method to save a file in a browser\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(file);\r\n const link = document.createElement('a');\r\n link.href = fileURL;\r\n link.download = `Imm Consent Form ${pdfFormValues.inputDate}.pdf`;\r\n link.click();\r\n setTimeout(() => {\r\n URL.revokeObjectURL(link);\r\n setProcessing(false);\r\n setFailed(null);\r\n }, 100);\r\n } catch (error) {\r\n setProcessing(false);\r\n setFailed(error);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n \r\n \r\n {failed && (\r\n Error downloading Consent Form PDF\r\n )}\r\n \r\n Consent form successfully submitted. Thank you.
\r\n Please click on the above logout button to end your session and to complete another form.\r\n \r\n \r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n {`Human Papillomavirus-- HPV Consent form`}\r\n {failed && (\r\n \r\n Error\r\n \r\n {serverError\r\n ? serverError.message\r\n : 'Error updating patient form record'}\r\n \r\n \r\n )}\r\n \r\n {\r\n values.vaccineDeliveredCode = userDetail.vaccineCode;\r\n values.consentLetterReferenceCode =\r\n userDetail.consentLetterReferenceCode;\r\n values.schoolCodeURN = userDetail.schoolCode;\r\n\r\n values.patientDOB = dateConversion(\r\n values.dobYear,\r\n values.dobMonth,\r\n values.dobDay,\r\n );\r\n values.parentGuardianConsentSignatureDate = dateConversion(\r\n values.parentGuardianConsentSignatureYear,\r\n values.parentGuardianConsentSignatureMonth,\r\n values.parentGuardianConsentSignatureDay,\r\n );\r\n\r\n //Day, month, year are nullable - make sure have all values before date conversion\r\n if (\r\n props.vaccineQuestions.q1VaccineWhen &&\r\n values.q1VaccineWhenYear &&\r\n values.q1VaccineWhenMonth &&\r\n values.q1VaccineWhenDay\r\n ) {\r\n values.q1VaccineWhen = dateConversion(\r\n values.q1VaccineWhenYear,\r\n values.q1VaccineWhenMonth,\r\n values.q1VaccineWhenDay,\r\n );\r\n }\r\n setLoading(true);\r\n\r\n try {\r\n const submitConsentFom = await submitHPVConsent(\r\n userDetail.token,\r\n values,\r\n );\r\n\r\n setLoading(false);\r\n setSuccess(true);\r\n setFailed(null);\r\n setServerError(null);\r\n values['inputDate'] = moment(submitConsentFom) // returns the date of input\r\n .utc()\r\n .format('DD-MM-YYYY HH:mm:ss'); //PDF timestamp\r\n setPdfFormValues(values);\r\n } catch (error) {\r\n setLoading(false);\r\n setFailed(true);\r\n setServerError(error);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n School-aged children are offered the human papillomavirus vaccination (HPV) via the national school aged immunisation programme. This is now a single dose as this has been found to be as effective.\r\n \r\n \r\n The School Aged Immunisation Service (SAIS) offers this vaccine in school in year 8, or in year 9 if missed in year 8.\r\n \r\n \r\n Information about the HPV Vaccine.\r\n \r\n \r\n HPV vaccine helps protects against HPV related cancers later in life, such as:\r\n \r\n \r\n cervical cancer\r\n some mouth and throat cancers\r\n some cancers of the anus and genital areas\r\n \r\n \r\n The HPV vaccine does not contain gelatine.\r\n \r\n Common Side Effects\r\n \r\n Redness/swelling at the injection site, and some people may get a small lump which will usually disappear in a few weeks.\r\n Raised temperature\r\n Headache\r\n Dizziness\r\n Feeling sick with swollen glands\r\n More serious side effects are extremely rare and the nurses and trained to deal with these.\r\n \r\n For more information about the HPV vaccination please visit: \r\n \r\n \r\n https://www.gov.uk/government/publications/hpv-vaccine-vaccination-guide-leaflet\r\n \r\n \r\n Children under the age of 16 can consent to their own treatment if they're believed to have enough intelligence, competence and understanding to fully appreciate what's involved in their treatment. \r\n This is known as being Gillick competent.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}","import CustomFieldError from '../../../formFields/customFieldError.js';\r\nimport SelectField from '../../../formFields/selectField.js';\r\nimport SelectFieldId from '../../../formFields/selectFieldId.js';\r\nimport { Form, Row, Col,Card } from 'react-bootstrap';\r\nimport RadioField from '../../../formFields/RadioField.js';\r\nimport InputField from '../../../formFields/inputField.js';\r\nimport { useFormikContext } from 'formik';\r\nimport moment from 'moment';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\n\r\nexport default function MenACWYTdIPVQuestions(props) {\r\n const { values, errors, touched, handleChange } = useFormikContext();\r\n const [checked, setChecked] = useState(false)\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n I have understood the information given to me about the\r\n diphtheria, tetanus and polio vaccinations (Td/IPV). I\r\n confirm I have parental responsibility for this child.\r\n \r\n \r\n \r\n Tick one box below (Td/IPV)*\r\n \r\n \r\n \r\n \r\n {values.parentGuardianConsentStatus === 'Not Given' && \r\n \r\n Reason for refusal (Td/IPV)\r\n \r\n {props.filterRefusal.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentReasonForRefusal &&\r\n errors.parentGuardianConsentReasonForRefusal && (\r\n \r\n {errors.parentGuardianConsentReasonForRefusal}\r\n
\r\n )}\r\n }\r\n {values.parentGuardianConsentReasonForRefusal === '62' && ( //Had elsewhere\r\n \r\n )}\r\n {values.parentGuardianConsentStatus === 'Not Given' && \r\n \r\n \r\n Would you like more information? (Td/IPV)*\r\n \r\n \r\n \r\n }\r\n \r\n Relationship to child (Td/IPV)*\r\n \r\n \r\n {props.filterRelationships.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentRelationshipForChild &&\r\n errors.parentGuardianConsentRelationshipForChild && (\r\n \r\n {errors.parentGuardianConsentRelationshipForChild}\r\n
\r\n )}\r\n \r\n {values.parentGuardianConsentRelationshipForChild === '78' && \r\n }\r\n \r\n\r\n \r\n \r\n Submission Date (Td/IPV)\r\n \r\n\r\n\r\n {/* \r\n
\r\n
*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n I have understood the information given to me about the\r\n meningitis vaccine (MenACWY). I confirm I have parental\r\n responsibility for this child.\r\n \r\n \r\n \r\n Tick one box below (MenACWY)*\r\n \r\n \r\n \r\n \r\n {values.parentGuardianConsentStatusMenACWY === 'Not Given' && \r\n \r\n Reason for refusal (MenACWY)\r\n \r\n {props.filterRefusal.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentReasonForRefusalMenACWY &&\r\n errors.parentGuardianConsentReasonForRefusalMenACWY && (\r\n \r\n {\r\n errors.parentGuardianConsentReasonForRefusalMenACWY\r\n }\r\n
\r\n )}\r\n }\r\n {values.parentGuardianConsentReasonForRefusalMenACWY ===\r\n '62' && ( //Had elsewhere\r\n \r\n )}\r\n {values.parentGuardianConsentStatusMenACWY === 'Not Given' && \r\n \r\n \r\n Would you like more information? (MenACWY)*\r\n \r\n \r\n \r\n }\r\n\r\n \r\n Relationship to child (MenACWY)*\r\n \r\n \r\n {props.filterRelationships.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentRelationshipForChildMenACWY &&\r\n errors.parentGuardianConsentRelationshipForChildMenACWY && (\r\n \r\n {\r\n errors.parentGuardianConsentRelationshipForChildMenACWY\r\n }\r\n
\r\n )}\r\n \r\n {values.parentGuardianConsentRelationshipForChildMenACWY ==='78' &&\r\n }\r\n \r\n \r\n \r\n Submission Date (MenACWY)\r\n \r\n {/* \r\n
\r\n
*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n Health Questionnaire\r\n \r\n
\r\n \r\n {props.vaccineQuestions.q1}\r\n \r\n \r\n \r\n {/* */}\r\n {touched.q1 && errors.q1 && (\r\n {errors.q1}
\r\n )}\r\n \r\n {values.q1 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q1Comment}\r\n \r\n \r\n \r\n {errors.q1Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q2}\r\n \r\n \r\n \r\n {touched.q2 && errors.q2 && (\r\n {errors.q2}
\r\n )}\r\n \r\n {values.q2 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q2Comment}\r\n \r\n \r\n \r\n {errors.q2Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q3}\r\n \r\n \r\n \r\n {touched.q3 && errors.q3 && (\r\n {errors.q3}
\r\n )}\r\n \r\n {values.q3 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q3Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q4}\r\n \r\n \r\n \r\n {touched.q4 && errors.q4 && (\r\n {errors.q4}
\r\n )}\r\n \r\n {values.q4 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q4Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q5}\r\n \r\n \r\n \r\n {touched.q5 && errors.q5 && (\r\n {errors.q5}
\r\n )}\r\n \r\n {values.q5 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q5Comment}\r\n \r\n }\r\n {props.vaccineQuestions.q6 && (\r\n <>\r\n
\r\n \r\n {props.vaccineQuestions.q6}\r\n \r\n \r\n \r\n {touched.q6 && errors.q6 && (\r\n {errors.q6}
\r\n )}\r\n \r\n {values.q6 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q6Comment}\r\n \r\n }\r\n >\r\n )}\r\n\r\n
\r\n \r\n Please add any futher information you feel would be\r\n useful\r\n \r\n \r\n \r\n {errors.parentGuardianFurtherInformation}\r\n \r\n \r\n
\r\n {/* Checks if there are errors and fields have been touched */}\r\n {Object.keys(touched).length > 0 &&\r\n Object.keys(errors).length > 0 && (\r\n \r\n Please complete all required fields (*)\r\n
\r\n )}\r\n\r\n >\r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport {\r\n Button,\r\n Form,\r\n Row,\r\n Col,\r\n Card,\r\n Alert,\r\n ListGroup,\r\n ListGroupItem,\r\n} from 'react-bootstrap';\r\nimport { useContext } from 'react';\r\nimport UserContext from '../../../context/userContext.js';\r\nimport Wizard from './wizardForm.js';\r\nimport DuplicateRecord from './subForms/duplicateRecord.js';\r\nimport MenACWYTdIPVQuestions from './subForms/MenACWYTdIPVQuestions.js';\r\nimport {\r\n submitConsentMenACWYTdIPV,\r\n generatePDFMen,\r\n} from '../../../utils/sendRequest.js';\r\nimport { pdfReferenceValuesMenACWYTdIPV } from '../../../utils/pdfReferenceValues.js';\r\nimport * as FormValidator from '../../../validation/index.js';\r\nimport { dateConversion } from '../../../utils/dateConversion.js';\r\nimport Demographics from './subForms/demographics.js';\r\nimport moment from 'moment';\r\n\r\nexport default function MenACWYTdIPV(props) {\r\n const userDetail = useContext(UserContext);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const WizardStep = ({ children }) => children;\r\n const [failed, setFailed] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const [serverError, setServerError] = useState();\r\n const [processing, setProcessing] = useState(false);\r\n\r\n const [pdfFormValues, setPdfFormValues] = useState();\r\n\r\n const filterRelationships = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PARELAT',\r\n );\r\n\r\n const filterGender = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'GENDER',\r\n );\r\n\r\n const filterYearGroup = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'SCHYRSGP',\r\n );\r\n\r\n const filterRefusal = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PAREFUSAL' && x.CarePlusCoding !== 'VC', //Filter out gelatine option\r\n );\r\n\r\n const pdfDownload = async () => {\r\n const pdf = pdfReferenceValuesMenACWYTdIPV(\r\n pdfFormValues,\r\n props.ethnicityOptions,\r\n filterGender,\r\n filterYearGroup,\r\n filterRefusal,\r\n filterRelationships,\r\n );\r\n\r\n setProcessing(true);\r\n\r\n try {\r\n const resPdf = await generatePDFMen(\r\n pdf,\r\n userDetail.token,\r\n props.vaccineQuestions,\r\n );\r\n\r\n if (!resPdf) {\r\n setFailed();\r\n }\r\n\r\n const file = new Blob([resPdf], { type: 'application/pdf' });\r\n //IE fix\r\n // window navigator - detect browser\r\n //msSaveOrOpenBlob ie method to save a file in a browser\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(file);\r\n const link = document.createElement('a');\r\n link.href = fileURL;\r\n link.download = `Imm Consent Form ${pdfFormValues.inputDate}.pdf`;\r\n link.click();\r\n setTimeout(() => {\r\n URL.revokeObjectURL(link);\r\n setProcessing(false);\r\n setFailed(null);\r\n }, 100);\r\n } catch (error) {\r\n setProcessing(false);\r\n setFailed(error);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n \r\n \r\n {failed && (\r\n Error downloading Consent Form PDF\r\n )}\r\n \r\n Consent form successfully submitted. Thank you.
\r\n Please click on the above logout button to end your session and to complete another form.\r\n \r\n \r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n {`${props.vaccineQuestions.title} consent form`}\r\n {failed && (\r\n \r\n Error\r\n \r\n {serverError\r\n ? serverError.message\r\n : 'Error updating patient form record'}\r\n \r\n \r\n )}\r\n \r\n {\r\n values.vaccineDeliveredCode = userDetail.vaccineCode;\r\n values.consentLetterReferenceCode =\r\n userDetail.consentLetterReferenceCode;\r\n values.schoolCodeURN = userDetail.schoolCode;\r\n\r\n values.patientDOB = dateConversion(\r\n values.dobYear,\r\n values.dobMonth,\r\n values.dobDay,\r\n );\r\n\r\n values.parentGuardianConsentSignatureDate = dateConversion(\r\n values.parentGuardianConsentSignatureYear,\r\n values.parentGuardianConsentSignatureMonth,\r\n values.parentGuardianConsentSignatureDay,\r\n );\r\n\r\n values.parentGuardianConsentSignatureDateMenACWY =\r\n dateConversion(\r\n values.parentGuardianConsentSignatureDateMenACWYYear,\r\n values.parentGuardianConsentSignatureDateMenACWYMonth,\r\n values.parentGuardianConsentSignatureDateMenACWYDay,\r\n );\r\n\r\n setLoading(true);\r\n\r\n try {\r\n const submitConsentFom = await submitConsentMenACWYTdIPV(\r\n userDetail.token,\r\n values,\r\n );\r\n\r\n setLoading(false);\r\n setSuccess(true);\r\n setFailed(null);\r\n setServerError(null);\r\n values['inputDate'] = moment(submitConsentFom) // returns the date of input\r\n .utc()\r\n .format('DD-MM-YYYY HH:mm:ss'); //PDF timestamp\r\n setPdfFormValues(values);\r\n } catch (error) {\r\n setLoading(false);\r\n setFailed(true);\r\n setServerError(error);\r\n }\r\n }}\r\n >\r\n \r\n \r\n {/* \r\n Please complete this consent form as soon as possible the web\r\n form will not be active 3 days before the session in school.\r\n This will allow us to clinically assess all requests for\r\n vaccination.\r\n */}\r\n \r\n Your child is due to have two booster vaccinations. One protects against diphtheria, tetanus, and polio. The other against meningitis and septicaemia.\r\n \r\n \r\n The School Aged Immunisation Service (SAIS) offers these vaccines in school when children are in year 9, or in year 10 if missed in year 9 and we have a consent form from you.\r\n \r\n \r\n If you change your mind at any point after you have sent your consent form, please contact the immunisation team\r\n \r\n \r\n Immunisation Team - Telephone - 0121 466 341
\r\n Email - BCHNT.BirminghamImms@nhs.net\r\n \r\n \r\n Please see below for more information about the teenage booster vaccination or visit:\r\n \r\n \r\n https://www.gov.uk/government/publications/immunisations-for-young-people\r\n \r\n \r\n Information about the teenage booster vaccinations\r\n \r\n \r\n Vaccine 1 (Td/IPV) offers protection against three things:\r\n \r\n \r\n Diphtheria is a serious disease that usually begins with a sore throat. It can cause breathing problems and damage the heart and nervous system. In severe cases, it can kill.\r\n \r\n \r\n Tetanus is a painful disease affecting the nervous system. It can lead to muscle spasms, may cause breathing problems and can kill. \r\n Tetanus is caused by germs found in the soil and manure that get into your body through open cuts or burns.\r\n \r\n \r\n \r\n Polio is a virus that attacks the nervous system. It can cause permanent paralysis of muscles. If it affects the chest muscles or the brain, polio can also kill.\r\n \r\n \r\n Vaccine 2 (Men ACWY) offers protection against most meningitis and septicaemia.\r\n \r\n \r\n Meningitis affects the lining of the brain. It can be caused by viruses, bacteria, or other disease-causing organisms. Meningitis can also occur after an injury.\r\n \r\n \r\n Septicaemia is blood poisoning. It is very serious, especially if not diagnosed early, and can lead to death.\r\n \r\n \r\n These vaccines do not contain gelatine\r\n \r\n Common Side Effects\r\n \r\n Redness/swelling at the injection site, and some people may get a small lump which will usually disappear in a few weeks.\r\n Raised temperature\r\n Headache\r\n Dizziness\r\n \r\n Feeling sick with swollen glands\r\n \r\n \r\n More serious side effects are extremely rare and the nurses and\r\n trained to deal with these.\r\n \r\n \r\n
\r\n\r\n {/* \r\n {props.vaccineQuestions.heading}{' '}\r\n \r\n {props.vaccineQuestions.linkText}\r\n \r\n */}\r\n \r\n Children under the age of 16 can consent to their own treatment if they're believed to have enough intelligence, \r\n competence and understanding to fully appreciate what's involved in their treatment. \r\n This is known as being Gillick competent.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n","import CustomFieldError from '../../../formFields/customFieldError.js';\r\nimport SelectField from '../../../formFields/selectField.js';\r\nimport SelectFieldId from '../../../formFields/selectFieldId.js';\r\nimport { Form, Row, Col,Card } from 'react-bootstrap';\r\nimport RadioField from '../../../formFields/RadioField.js';\r\nimport InputField from '../../../formFields/inputField.js';\r\nimport { useFormikContext } from 'formik';\r\nimport moment from 'moment';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\n\r\nexport default function FluQuestions(props) {\r\n const { values, errors, touched, handleChange } = useFormikContext();\r\n const [checked, setChecked] = useState(false)\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {props.vaccineQuestions.confirm}\r\n \r\n \r\n \r\n Tick one box below*\r\n \r\n \r\n \r\n \r\n {values.parentGuardianConsentStatus === 'Not Given' &&\r\n \r\n } \r\n {values.parentGuardianConsentReasonForRefusal === '62' && ( //Had elsewhere\r\n \r\n )}\r\n {values.parentGuardianConsentStatus === 'Not Given' && \r\n \r\n \r\n Would you like more information?*\r\n \r\n \r\n \r\n }\r\n \r\n {values.parentGuardianConsentRelationshipForChild ==='78' &&\r\n }\r\n \r\n \r\n Submission date\r\n\r\n {/* \r\n
\r\n
*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Health Questionnaire\r\n \r\n
\r\n \r\n {props.vaccineQuestions.q1}\r\n \r\n \r\n \r\n {touched.q1 && errors.q1 && (\r\n {errors.q1}
\r\n )}\r\n \r\n {values.q1 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q1Comment}\r\n \r\n \r\n \r\n {errors.q1Comment}\r\n \r\n }\r\n\r\n
\r\n \r\n {props.vaccineQuestions.q2}\r\n \r\n \r\n \r\n {touched.q2 && errors.q2 && (\r\n {errors.q2}
\r\n )}\r\n \r\n {values.q2 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q2Comment}\r\n \r\n \r\n \r\n {errors.q2Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q3}\r\n \r\n \r\n \r\n {touched.q3 && errors.q3 && (\r\n {errors.q3}
\r\n )}\r\n \r\n {values.q3 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q3Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q4}\r\n \r\n \r\n \r\n {touched.q4 && errors.q4 && (\r\n {errors.q4}
\r\n )}\r\n \r\n {values.q4 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q4Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q5}\r\n \r\n \r\n \r\n {touched.q5 && errors.q5 && (\r\n {errors.q5}
\r\n )}\r\n \r\n {values.q5 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q5Comment}\r\n \r\n }\r\n\r\n
\r\n \r\n {props.vaccineQuestions.q6}\r\n \r\n \r\n \r\n {touched.q6 && errors.q6 && (\r\n {errors.q6}
\r\n )}\r\n \r\n {values.q6 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q6Comment}\r\n \r\n }\r\n\r\n
\r\n \r\n 7. Is anyone in your family currently receiving\r\n treatment that severly affects their immune system (e.g.\r\n they need to be kept in isolation)?*\r\n \r\n \r\n \r\n {touched.q7 && errors.q7 && (\r\n {errors.q7}
\r\n )}\r\n \r\n {values.q7 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q7Comment}\r\n \r\n }\r\n {(values.q1 === 'Yes' ||\r\n values.q2 === 'Yes' ||\r\n values.q3 === 'Yes' ||\r\n values.q4 === 'Yes' ||\r\n values.q5 === 'Yes' ||\r\n values.q6 === 'Yes' ||\r\n values.q7 === 'Yes') && \r\n
\r\n \r\n 8. If yes to the above questions can your child avoid\r\n close contact with them for two weeks after receiving\r\n the vaccination?*\r\n \r\n \r\n \r\n {touched.q8 && errors.q8 && (\r\n {errors.q8}
\r\n )}\r\n }\r\n {((values.q1 === 'Yes' ||\r\n values.q2 === 'Yes' ||\r\n values.q3 === 'Yes' ||\r\n values.q4 === 'Yes' ||\r\n values.q5 === 'Yes' ||\r\n values.q6 === 'Yes' ||\r\n values.q7 === 'Yes') && values.q8 === 'No') &&\r\n
\r\n \r\n If no, please give details\r\n \r\n \r\n \r\n {errors.q8Comment}\r\n \r\n }\r\n\r\n
\r\n \r\n 9. Does your child take any medications (including\r\n salisylate therapy e.g. aspirin?)*\r\n \r\n \r\n \r\n {touched.q9 && errors.q9 && (\r\n {errors.q9}
\r\n )}\r\n \r\n {values.q9 === 'Yes' &&\r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q9Comment}\r\n \r\n }\r\n\r\n
\r\n \r\n Please add any futher information you feel would be\r\n useful\r\n \r\n \r\n \r\n {errors.parentGuardianFurtherInformation}\r\n \r\n \r\n
\r\n {/* Checks if there are errors and fields have been touched */}\r\n {Object.keys(touched).length > 0 &&\r\n Object.keys(errors).length > 0 && (\r\n \r\n Please complete all required fields (*)\r\n
\r\n )}\r\n\r\n >\r\n );\r\n}\r\n","import { useEffect,useState } from 'react';\r\nimport { Button, Form, Row, Col, Card, Alert, ListGroup, ListGroupItem, FormGroup } from 'react-bootstrap';\r\nimport { useContext } from 'react';\r\nimport UserContext from '../../../context/userContext.js';\r\nimport { submitFluConsent, generatePDF } from '../../../utils/sendRequest.js';\r\nimport { pdfReferenceValues } from '../../../utils/pdfReferenceValues.js';\r\nimport * as FormValidator from '../../../validation/index.js';\r\nimport { dateConversion } from '../../../utils/dateConversion.js';\r\nimport Demographics from './subForms/demographics.js';\r\nimport FluQuestions from './subForms/fluQuestions.js';\r\nimport DuplicateRecord from './subForms/duplicateRecord.js';\r\nimport ParentalResponsibility from './subForms/parentalResponsibility.js';\r\nimport moment from 'moment';\r\nimport Wizard from './wizardForm.js';\r\n\r\nexport default function Flu(props) {\r\n \r\n const userDetail = useContext(UserContext);\r\n const WizardStep = ({ children }) => children;\r\n const [loading, setLoading] = useState(false);\r\n const [failed, setFailed] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const [processing, setProcessing] = useState(false);\r\n const [serverError, setServerError] = useState();\r\n const [pdfFormValues, setPdfFormValues] = useState();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n\r\n const filterRelationships = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PARELAT',\r\n );\r\n\r\n const filterGender = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'GENDER',\r\n );\r\n\r\n const filterYearGroup = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'SCHYRSGP',\r\n );\r\n\r\n const filterRefusal = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PAREFUSAL',\r\n );\r\n\r\n const pdfDownload = async () => {\r\n const pdf = pdfReferenceValues(\r\n pdfFormValues,\r\n props.ethnicityOptions,\r\n filterGender,\r\n filterYearGroup,\r\n filterRefusal,\r\n filterRelationships,\r\n );\r\n\r\n setProcessing(true);\r\n\r\n try {\r\n const resPdf = await generatePDF(\r\n pdf,\r\n userDetail.token,\r\n props.vaccineQuestions,\r\n );\r\n\r\n if (!resPdf) {\r\n setFailed();\r\n }\r\n\r\n const file = new Blob([resPdf], { type: 'application/pdf' });\r\n //IE fix\r\n // window navigator - detect browser\r\n //msSaveOrOpenBlob ie method to save a file in a browser\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(file);\r\n const link = document.createElement('a');\r\n link.href = fileURL;\r\n link.download = `Imm Consent Form ${pdfFormValues.inputDate}.pdf`;\r\n link.click();\r\n setTimeout(() => {\r\n URL.revokeObjectURL(link);\r\n setProcessing(false);\r\n setFailed(null);\r\n }, 100);\r\n } catch (error) {\r\n setProcessing(false);\r\n setFailed(error);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n \r\n \r\n {failed && (\r\n Error downloading Consent Form PDF\r\n )}\r\n \r\n Consent form successfully submitted. Thank you.
\r\n Please click on the above logout button to end your session and to complete another form.\r\n \r\n \r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n {`Nasal Flu vaccination Consent form`}\r\n {failed && (\r\n \r\n Error\r\n \r\n {serverError\r\n ? serverError.message\r\n : 'Error updating patient form record'}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {\r\n values.vaccineDeliveredCode = userDetail.vaccineCode;\r\n values.consentLetterReferenceCode =\r\n userDetail.consentLetterReferenceCode;\r\n values.schoolCodeURN = userDetail.schoolCode;\r\n //values.patientForename = userDetail.patientForename;\r\n\r\n values.patientDOB = dateConversion(\r\n values.dobYear,\r\n values.dobMonth,\r\n values.dobDay,\r\n );\r\n\r\n values.parentGuardianConsentSignatureDate = dateConversion(\r\n values.parentGuardianConsentSignatureYear,\r\n values.parentGuardianConsentSignatureMonth,\r\n values.parentGuardianConsentSignatureDay,\r\n );\r\n\r\n setLoading(true);\r\n\r\n try {\r\n const submitConsentFom = await submitFluConsent(\r\n userDetail.token,\r\n values,\r\n );\r\n\r\n setLoading(false);\r\n setSuccess(true);\r\n setFailed(null);\r\n setServerError(null);\r\n values['inputDate'] = moment(submitConsentFom) // returns the date of input\r\n .utc()\r\n .format('DD-MM-YYYY HH:mm:ss'); //PDF timestamp\r\n setPdfFormValues(values);\r\n } catch (error) {\r\n setLoading(false);\r\n setFailed(true);\r\n setServerError(error);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n Your child is entitled to have the nasal flu vaccine this year.\r\n The School Aged Immunisation Service (SAIS) offers these vaccines in school.\r\n Please ask the school for the exact date.\r\n \r\n It is important you contact the immunisation team if:\r\n \r\n Your child receives this vaccination anywhere else after you return the form to us.\r\n If you change your mind after you fill in the form.\r\n Your child becomes wheezy in the three days before the immunisation is due.\r\n Your child increases their asthma medication in the two weeks before the immunisation is due.\r\n \r\n \r\n
\r\n \r\n Immunisation Team Contact details:\r\n
\r\nTelephone: 0121 466 3410\r\n
\r\nEmail : BCHNT.BirminghamImms@nhs.net\r\n \r\n
\r\n \r\n Information about the flu vaccination\r\n \r\n \r\n Flu can be a very unpleasant illness in children. \r\n Some children may get a very high fever, sometimes they may need to go to hospital for treatment. \r\n Serious complications of flu include a painful ear infection, acute bronchitis, and pneumonia.\r\n \r\n \r\n The flu vaccine is the best protection we have against this unpredictable virus.\r\n \r\n \r\n The flu viruses change every year, so the vaccine is updated. \r\n We recommend that your child is vaccinated against flu each year, even if vaccinated last year. \r\n The effectiveness of the vaccine will vary from year to year, depending on the match between the strain of flu in circulation and that contained in the vaccine.\r\n As children with some medical conditions may be more vulnerable to flu, it is especially important that they are vaccinated.\r\n \r\n \r\n Children may not be able to have the nasal vaccine if they \r\n \r\n \r\n are currently wheezy or have been wheezy in the past 72 hours \r\n (we can offer an injected flu vaccine to avoid a delay in protection)\r\n have increased their asthma medication in the two weeks before the vaccine is due.\r\n have needed intensive care due to asthma or egg allergic anaphylaxis (these children should seek the advice of their specialist and may need to have the nasal vaccine in hospital)\r\n have a condition, or are on treatment, that severely weakens their immune system or have someone in their household with a severely weakened immune system.\r\n \r\n are allergic to any other vaccine components - See the website at www.medicines.org.uk/ emc/product/3296/pil for a list of the vaccine's ingredients.\r\n \r\n \r\n \r\n
\r\n \r\n Children who have been vaccinated with the nasal spray should avoid household contact with people with very severely weakened immune systems for around two weeks following vaccination\r\n \r\n \r\n Gelatine and Vaccines.\r\n \r\n The nasal vaccine is offered to children as it can be more effective than the injected vaccine. It is easier to administer and considered better at reducing the spread of flu to others who may be more vulnerable to the complications of flu.\r\n The nasal flu vaccine has a highly processed form of porcine gelatine. The gelatine helps to keep the vaccine viruses stable so that the vaccine gives the best protection against flu.\r\n \r\n \r\n The nasal vaccine is offered to children as it can be more effective than the injected vaccine. It is easier to administer and considered better at reducing the spread of flu to others who may be more vulnerable to the complications of flu.\r\n \r\n \r\n Your child may need the injectable vaccine if they are at high risk from flu due to medical conditions or treatments and can’t have the nasal flu vaccine. In these cases, the injection can be given in the school session. \r\n \r\n \r\n For those who may not accept the use of porcine gelatine in medical products, an alternative injectable vaccine may be available this year. If you would like your child to receive the injectable flu vaccine, please book an appointment at one of our community clinics.\r\n \r\n\r\n \r\n Please call 0121 466 3410 or email \r\n BCHCNT.BirminghamImms@nhs.net \r\n to book an appointment.\r\n \r\n \r\n Common Side Effects\r\n \r\n \r\n Raised temperature\r\n Runny or blocked nose\r\n Headache\r\n Tiredness\r\n \r\n Loss of appetite\r\n \r\n More serious side effects are extremely rare and the nurses and trained to deal with these.\r\n \r\n
\r\n \r\n For more information about the nasal flu vaccination please visit https://www.gov.uk/government/publications/flu-vaccination-leaflets-and-posters\r\n \r\n \r\n Older children under the age of 16 can consent to their own treatment if they're believed to have enough intelligence, competence and understanding to fully appreciate what's involved in their treatment. This is known as being Gillick competent.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import CustomFieldError from '../../../formFields/customFieldError.js';\r\nimport SelectField from '../../../formFields/selectField.js';\r\nimport SelectFieldId from '../../../formFields/selectFieldId.js';\r\nimport { Form, Row, Col,Card } from 'react-bootstrap';\r\nimport RadioField from '../../../formFields/RadioField.js';\r\nimport InputField from '../../../formFields/inputField.js';\r\nimport { useFormikContext } from 'formik';\r\nimport moment from 'moment';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\n\r\nexport default function MmrQuestions(props) {\r\n const { values, errors, touched, handleChange } = useFormikContext();\r\n const [checked, setChecked] = useState(false)\r\n useEffect(() => {\r\n window.scrollTo(0, 20); // 20 prevent scrolling issues, not firing on build\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {props.vaccineQuestions.confirm}\r\n \r\n \r\n \r\n Tick one box below*\r\n \r\n \r\n \r\n \r\n {values.parentGuardianConsentStatus === 'Not Given' && \r\n \r\n Reason for refusal\r\n \r\n {props.filterRefusal.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentReasonForRefusal &&\r\n errors.parentGuardianConsentReasonForRefusal && (\r\n \r\n {errors.parentGuardianConsentReasonForRefusal}\r\n
\r\n )}\r\n }\r\n {values.parentGuardianConsentReasonForRefusal === '62' && ( //Had elsewhere\r\n \r\n )}\r\n {values.parentGuardianConsentStatus === 'Not Given' &&\r\n \r\n \r\n Would you like more information?*\r\n \r\n \r\n \r\n }\r\n \r\n Relationship to child*\r\n \r\n \r\n {props.filterRelationships.map((e) => (\r\n \r\n ))}\r\n \r\n {touched.parentGuardianConsentRelationshipForChild &&\r\n errors.parentGuardianConsentRelationshipForChild && (\r\n \r\n {errors.parentGuardianConsentRelationshipForChild}\r\n
\r\n )}\r\n \r\n {values.parentGuardianConsentRelationshipForChild === '78' &&\r\n }\r\n \r\n \r\n Submission date\r\n\r\n {/* \r\n
\r\n
*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n Health Questionnaire\r\n \r\n
\r\n \r\n {props.vaccineQuestions.q1}\r\n \r\n \r\n \r\n {/* */}\r\n {touched.q1 && errors.q1 && (\r\n {errors.q1}
\r\n )}\r\n \r\n {values.q1 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q1VaccineWhere}\r\n \r\n \r\n \r\n {errors.q1VaccineWhere}\r\n \r\n }\r\n {values.q1 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q1VaccineWhen} (For example 15 3\r\n 1984)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n\r\n
\r\n \r\n {props.vaccineQuestions.q2}\r\n \r\n \r\n \r\n {touched.q2 && errors.q2 && (\r\n {errors.q2}
\r\n )}\r\n \r\n {values.q2 === 'Yes' && \r\n
\r\n \r\n {props.vaccineQuestions.q2Comment}\r\n \r\n \r\n \r\n {errors.q2Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q3}\r\n \r\n \r\n \r\n {touched.q3 && errors.q3 && (\r\n {errors.q3}
\r\n )}\r\n \r\n {values.q3 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q3Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q4}\r\n \r\n \r\n \r\n {touched.q4 && errors.q4 && (\r\n {errors.q4}
\r\n )}\r\n \r\n {values.q4 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q4Comment}\r\n \r\n }\r\n
\r\n \r\n {props.vaccineQuestions.q5}\r\n \r\n \r\n \r\n {touched.q5 && errors.q5 && (\r\n {errors.q5}
\r\n )}\r\n \r\n {values.q5 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q5Comment}\r\n \r\n }\r\n\r\n
\r\n \r\n {props.vaccineQuestions.q6}\r\n \r\n \r\n \r\n {touched.q6 && errors.q6 && (\r\n {errors.q6}
\r\n )}\r\n \r\n {values.q6 === 'Yes' && \r\n
\r\n If yes, please give details\r\n \r\n \r\n {errors.q6Comment}\r\n \r\n }\r\n\r\n
\r\n \r\n Please add any futher information you feel would be\r\n useful\r\n \r\n \r\n \r\n {errors.parentGuardianFurtherInformation}\r\n \r\n \r\n
\r\n {/* Checks if there are errors and fields have been touched */}\r\n {Object.keys(touched).length > 0 &&\r\n Object.keys(errors).length > 0 && (\r\n \r\n Please complete all required fields (*)\r\n
\r\n )}\r\n >\r\n );\r\n}\r\n","import { useState } from 'react';\r\nimport { Button, Form, Row, Col, Card, Alert, ListGroup, ListGroupItem, } from 'react-bootstrap';\r\nimport { useContext } from 'react';\r\nimport UserContext from '../../../context/userContext.js';\r\nimport { submitMMRConsent, generatePDF } from '../../../utils/sendRequest.js';\r\nimport { pdfReferenceValues } from '../../../utils/pdfReferenceValues.js';\r\nimport * as FormValidator from '../../../validation/index.js';\r\nimport { dateConversion } from '../../../utils/dateConversion.js';\r\nimport Demographics from './subForms/demographics.js';\r\nimport moment from 'moment';\r\nimport Wizard from './wizardForm.js';\r\nimport DuplicateRecord from './subForms/duplicateRecord.js';\r\nimport MmrQuestions from './subForms/mmrQuestions.js';\r\nimport ParentalResponsibility from './subForms/parentalResponsibility.js';\r\n\r\nexport default function MMR(props) {\r\n const userDetail = useContext(UserContext);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const WizardStep = ({ children }) => children;\r\n const [failed, setFailed] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const [processing, setProcessing] = useState(false);\r\n const [serverError, setServerError] = useState();\r\n const [pdfFormValues, setPdfFormValues] = useState();\r\n\r\n const filterRelationships = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PARELAT',\r\n );\r\n\r\n const filterGender = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'GENDER',\r\n );\r\n\r\n const filterYearGroup = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'SCHYRSGP',\r\n );\r\n\r\n const filterRefusal = props.patientOptions.filter(\r\n (x) => x.CategoryDomainGroup === 'PAREFUSAL',\r\n );\r\n\r\n const pdfDownload = async () => {\r\n const pdf = pdfReferenceValues(\r\n pdfFormValues,\r\n props.ethnicityOptions,\r\n filterGender,\r\n filterYearGroup,\r\n filterRefusal,\r\n filterRelationships,\r\n );\r\n\r\n setProcessing(true);\r\n\r\n try {\r\n const resPdf = await generatePDF(\r\n pdf,\r\n userDetail.token,\r\n props.vaccineQuestions,\r\n );\r\n\r\n if (!resPdf) {\r\n setFailed();\r\n }\r\n\r\n const file = new Blob([resPdf], { type: 'application/pdf' });\r\n //IE fix\r\n // window navigator - detect browser\r\n //msSaveOrOpenBlob ie method to save a file in a browser\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(file);\r\n const link = document.createElement('a');\r\n link.href = fileURL;\r\n link.download = `Imm Consent Form ${pdfFormValues.inputDate}.pdf`;\r\n link.click();\r\n setTimeout(() => {\r\n URL.revokeObjectURL(link);\r\n setProcessing(false);\r\n setFailed(null);\r\n }, 100);\r\n } catch (error) {\r\n setProcessing(false);\r\n setFailed(error);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n \r\n \r\n {failed && (\r\n Error downloading Consent Form PDF\r\n )}\r\n \r\n Consent form successfully submitted. Thank you.
\r\n Please click on the above logout button to end your session and to complete another form.\r\n \r\n \r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n {`MMR – Measles/Mumps and Rubella Consent form`}\r\n {failed && (\r\n \r\n Error\r\n \r\n {serverError\r\n ? serverError.message\r\n : 'Error updating patient form record'}\r\n \r\n \r\n )}\r\n \r\n {\r\n values.vaccineDeliveredCode = userDetail.vaccineCode;\r\n values.consentLetterReferenceCode =\r\n userDetail.consentLetterReferenceCode;\r\n values.schoolCodeURN = userDetail.schoolCode;\r\n\r\n values.patientDOB = dateConversion(\r\n values.dobYear,\r\n values.dobMonth,\r\n values.dobDay,\r\n );\r\n\r\n values.parentGuardianConsentSignatureDate = dateConversion(\r\n values.parentGuardianConsentSignatureYear,\r\n values.parentGuardianConsentSignatureMonth,\r\n values.parentGuardianConsentSignatureDay,\r\n );\r\n\r\n //Day, month, year are nullable - make sure have all values before date conversion\r\n if (\r\n values.q1VaccineWhenYear &&\r\n values.q1VaccineWhenMonth &&\r\n values.q1VaccineWhenDay\r\n ) {\r\n values.q1VaccineWhen = dateConversion(\r\n values.q1VaccineWhenYear,\r\n values.q1VaccineWhenMonth,\r\n values.q1VaccineWhenDay,\r\n );\r\n }\r\n\r\n setLoading(true);\r\n\r\n try {\r\n const submitConsentFom = await submitMMRConsent(\r\n userDetail.token,\r\n values,\r\n );\r\n\r\n setLoading(false);\r\n setSuccess(true);\r\n setFailed(null);\r\n setServerError(null);\r\n values['inputDate'] = moment(submitConsentFom) // returns the date of input\r\n .utc()\r\n .format('DD-MM-YYYY HH:mm:ss'); //PDF timestamp\r\n setPdfFormValues(values);\r\n } catch (error) {\r\n setLoading(false);\r\n setFailed(true);\r\n setServerError(error);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n The NHS recommends that all children have two MMR vaccinations.\r\n These offer protection against measles, mumps, and rubella. They are routinely given by your child’s GP at the age of 1 year and just before they start schoo\r\n \r\n \r\n Childhood vaccinations are recorded on the local child health information system (CHIS). Your child does not have two MMR vaccinations recorded on this system\r\n \r\n \r\n It may be that the MMR vaccination(s) your child received have not been reported to CHIS.\r\n \r\n \r\n If you think your child has received two MMR vaccinations, please check with your GP and let us know the dates when your child had the MMR vaccines.\r\n \r\n \r\n We can then update your child’s record with the dates of MMR vaccine received\r\n \r\n \r\n Information about the MMR-Measles/Mumps and Rubella vaccine\r\n \r\n \r\n MMR vaccine offers protection against three infectious diseases.\r\n \r\n \r\n Measles - Measles is a very infectious viral illness that is spread by coughs and sneezes. \r\n Complications can include chest and ear infections, fits, diarrhoea, encephalitis (infection of the brain) and brain damage. \r\n Those who develop complications may need to be admitted to hospital for treatment.\r\n \r\n \r\n Mumps - Mumps is a viral illness that is spread by coughs and sneezes or close contact with someone who already has the infection. \r\n Complications of mumps can be very painful and can include inflammation of the ovaries or testicles, and in rarer cases, the pancreas. \r\n Mumps can also cause viral meningitis and encephalitis (infection of the brain).\r\n \r\n \r\n Rubella - Rubella is a viral illness, often called German measles, that is now rare in the UK thanks to the success of the MMR vaccine. \r\n Complications of rubella are rare but if a pregnant woman catches rubella during pregnancy, there can be devastating consequences for her unborn baby which could lead \r\n to the baby being born with cataracts (eye problems), deafness, heart problems or brain damage.\r\n \r\n \r\n The MMR vaccine we use does not contain gelatine\r\n \r\n Common Side Effects\r\n \r\n Redness/swelling at the injection site, and some people may get a small lump which will usually disappear in a few weeks.\r\n Raised temperature\r\n Headache\r\n Dizziness\r\n \r\n Feeling sick with swollen glands\r\n \r\n \r\n More serious side effects are extremely rare and the nurses are trained to deal with these.\r\n \r\n \r\n \r\n For more information about the MMR vaccination please visit\r\n \r\n \r\n \r\n https://www.gov.uk/government/publications/mmr-for-all-general-leaflet\r\n \r\n \r\n \r\n Children under the age of 16 can consent to their own treatment if they're believed to have enough intelligence, \r\n competence and understanding to fully appreciate what's involved in their treatment. \r\n This is known as being Gillick competent.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","export function mapQuestions(vaccineCode) {\r\n switch (vaccineCode) {\r\n case 'Flu Jab':\r\n return {\r\n confirm:\r\n 'I have understood the information given to me about the nasal flu vaccination. I confirm I have parental responsibility for this child.',\r\n q1: '1. Has your child had a flu vaccination since September this year?*',\r\n q1Comment: 'If yes, please give details',\r\n q2: ' Does your child have any allergies?*',\r\n q2Comment: 'If yes, please give details',\r\n q3: '3. Does your child have a severe egg allergy (requiring intensive care admission)?*',\r\n q4: '4. Does your child have asthma?*',\r\n q5: '5. Has your child ever been admitted to intensive care because of their asthma?*',\r\n q6: '6. Does your child have any serious health conditions or are they receiving treatment that severely weakens their immune system (e.g. treatment for leukaemia?)*',\r\n q7: '7. Is anyone in your family currently receiving treatment that severly affects their immune system (e.g. they need to be kept in isolation)?*',\r\n q8: '8. If yes to the above questions can your child avoid close contact with them for two weeks after receiving the vaccination?',\r\n q9: '9. Does your child take any medications (includin salicylate therapy e.g. aspirin?)*',\r\n };\r\n case 'MMR':\r\n return {\r\n confirm:\r\n 'I have understood the information given to me about the MMR vaccinations. I confirm I have parental responsibility for this child.',\r\n q1: '1. Has your child had an MMR vaccine before?*',\r\n q1Comment: null,\r\n q1VaccineWhere: 'If yes, where did they have the MMR vaccine?',\r\n q1VaccineBrand: null,\r\n q1VaccineWhen: 'If yes, when did they have the MMR vaccine?',\r\n q2: '2. Has your child ever had a severe allergic reaction or any other problems after other injections/vaccines?*',\r\n q2Comment: 'If yes, please give details',\r\n q3: '3. Does your child have any allergies?*',\r\n q4: '4. Does your child have any serious health problems including prolonged bleeding?*',\r\n q5: '5. Does your child take any medications?*',\r\n q6: '6. Has your child had any injections (vaccines) in the last 4 weeks?*',\r\n q7: null,\r\n q8: null,\r\n q9: null,\r\n };\r\n case 'HPV':\r\n return {\r\n confirm:\r\n 'I have understood the information given to me about the HPV vaccinations. I confirm I have parental responsibility for this child.',\r\n q1: '1. Has your child had an HPV vaccine before?*',\r\n q1Comment: null,\r\n q1VaccineWhere: 'If yes, where did they have the HPV vaccine?*',\r\n q1VaccineBrand: 'If known, what was the brand of HPV vaccine?',\r\n q1VaccineWhen: 'If known, when did they have the HPV vaccine?',\r\n q2: '2. Has your child ever had a severe allergic reaction or any other problems after other injections/vaccines?*',\r\n q2Comment: 'If yes, please give details',\r\n q3: '3. Does your child have any allergies?*',\r\n q4: '4. Does your child have any serious health problems including prolonged bleeding?*',\r\n q5: '5. Does your child take any medications?*',\r\n q6: null,\r\n q7: null,\r\n q8: null,\r\n q9: null,\r\n };\r\n case 'MenACWY/Td/IPV':\r\n return {\r\n title:\r\n 'Diphtheria, tetanus and polio vaccine (Td/IPV) and meningitis vaccine (MenACWY)',\r\n heading: '', //* Note service amends 14.10.22 * Hardcoded on form Men form due to formatting - CP\r\n link: 'https://www.gov.uk/government/publications/immunisations-for-young-people',\r\n linkText: 'Please read the attached guide for more information.',\r\n q1: '1. Has your child had a diphtheria, tetanus and polio vaccine (Td/IPV) vaccine within the last 5 years?*',\r\n q1Comment:\r\n 'If yes, when did they have the diphtheria, tetanus and polio vaccine (Td/IPV) vaccine?',\r\n q2: '2. Has your child had a meningitis vaccine (MenACWY) vaccine since the age of 10?*',\r\n q2Comment:\r\n 'If yes, when did they have the Meningitis vaccine (MenACWY) vaccine?',\r\n q3: '3. Has your child ever had a severe allergic reaction or any other problems after other injections/vaccines?*',\r\n q4: '4. Does your child have any allergies?*',\r\n q5: '5. Does your child have any serious health problems including prolonged bleeding?*',\r\n q6: '6. Does your child take any medications?*',\r\n q7: null,\r\n q8: null,\r\n q9: null,\r\n };\r\n default:\r\n throw new Error('Unable to create patient form');\r\n }\r\n}\r\n","import { useContext, useState, useEffect } from 'react';\r\nimport UserContext from '../../context/userContext.js';\r\nimport HPV from './forms/hpv.js';\r\nimport MenACWYTdIPV from './forms/MenACWYTdIPV.js';\r\nimport Flu from './forms/flu.js';\r\nimport MMR from './forms/mmr.js';\r\nimport { Row, Col } from 'react-bootstrap';\r\nimport { getEthnicities, getPatientOptions } from '../../utils/sendRequest.js';\r\nimport ErrorNotification from '../base/ErrorNotification.js';\r\nimport { mapQuestions } from '../../utils/mapQuestions.js';\r\nimport LoadingSpinner from '../base/loadingSpinner.js';\r\n\r\nexport default function ImmunoForm() {\r\n const userDetail = useContext(UserContext);\r\n const [patientOptions, setPatientOptions] = useState();\r\n const [ethnicityOptions, setEthnicityOptions] = useState();\r\n const [serverError, setServerError] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [vaccineQuestions, setVaccineQuestions] = useState();\r\n\r\n useEffect(() => {\r\n async function getFormOptions() {\r\n try {\r\n const [ethOptions, patOptions, questionOptions] = await Promise.all([\r\n getEthnicities(userDetail.token),\r\n getPatientOptions(userDetail.token),\r\n mapQuestions(userDetail.vaccineCode),\r\n ]);\r\n let patientsOptionsRefused = [\r\n ...patOptions,\r\n {\r\n CategoriesID: '',\r\n CategoryDesc: 'Please select if refused',\r\n CategoryDomainGroup: 'PAREFUSAL',\r\n CategoryValueCode: '',\r\n },\r\n ];\r\n setEthnicityOptions(ethOptions);\r\n setPatientOptions(patientsOptionsRefused);\r\n\r\n setVaccineQuestions(questionOptions);\r\n setLoading(false);\r\n } catch (err) {\r\n setServerError(err);\r\n setEthnicityOptions(null);\r\n setPatientOptions(null);\r\n\r\n setVaccineQuestions(null);\r\n setLoading(false);\r\n }\r\n }\r\n getFormOptions();\r\n }, []);\r\n\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n } else {\r\n if (serverError) {\r\n return ;\r\n } else {\r\n if (userDetail.vaccineCode === 'MenACWY/Td/IPV') {\r\n return (\r\n \r\n );\r\n } else if (userDetail.vaccineCode === 'Flu Jab') {\r\n return (\r\n \r\n );\r\n } else if (userDetail.vaccineCode === 'MMR') {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import React, { useContext } from 'react';\r\nimport UserContext from '../../context/userContext.js';\r\nimport { Redirect, Route, Switch, HashRouter } from 'react-router-dom';\r\nimport Login from '../authentication/login';\r\nimport ImmunoForm from '../immunoForm/immunoForm';\r\n\r\nexport default function Routing({ loginProcess }) {\r\n const userDetail = useContext(UserContext);\r\n if (userDetail.token) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else if (userDetail.token === null) {\r\n return ;\r\n } else {\r\n return <>>;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\n\r\nimport BCHCLogo from '../../assets/img/nhs-logo.png';\r\n\r\nfunction Header() {\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default React.memo(Header);\r\n","import React from 'react';\r\nimport { Row, Col, Button } from 'react-bootstrap';\r\n\r\nfunction Footer() {\r\n const scrollToTop = () => {\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default React.memo(Footer);\r\n","import React, { useContext } from 'react';\r\nimport UserContext from '../../context/userContext.js';\r\nimport { Button, Row, Col } from 'react-bootstrap';\r\n\r\nexport default function User({ logoutProcess }) {\r\n const userDetail = useContext(UserContext);\r\n\r\n if (userDetail.token) {\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport UserContext from './context/userContext.js';\r\nimport { Container } from 'react-bootstrap';\r\nimport Routing from './components/routing/routing.js';\r\nimport Header from './components/base/header.js';\r\nimport Footer from './components/base/footer.js';\r\nimport User from './components/base/User.js';\r\n//Test build\r\nexport default function App() {\r\n const [token, setToken] = useState();\r\n const [vaccineCode, setVaccineCode] = useState();\r\n const [schoolCode, setSchoolCode] = useState();\r\n const [consentLetterReferenceCode, setConsentLetterReferenceCode] =\r\n useState();\r\n\r\n const loginProcess = (userDetail, consentLetterReferenceCode) => {\r\n localStorage.setItem('token', userDetail.token);\r\n localStorage.setItem('vaccineCode', userDetail.vaccineCode);\r\n localStorage.setItem('schoolCode', userDetail.schoolCode);\r\n localStorage.setItem(\r\n 'consentLetterReferenceCode',\r\n consentLetterReferenceCode,\r\n );\r\n setVaccineCode(userDetail.vaccineCode);\r\n setSchoolCode(userDetail.schoolCode);\r\n setConsentLetterReferenceCode(consentLetterReferenceCode);\r\n setToken(userDetail.token);\r\n };\r\n\r\n const logoutProcess = () => {\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('vaccineCode');\r\n localStorage.removeItem('schoolCode');\r\n localStorage.removeItem('consentLetterReferenceCode');\r\n setToken(null);\r\n setVaccineCode(null);\r\n setSchoolCode(null);\r\n setConsentLetterReferenceCode(null);\r\n };\r\n\r\n useEffect(() => {\r\n const token = localStorage.getItem('token');\r\n const vaccineCode = localStorage.getItem('vaccineCode');\r\n const schoolCode = localStorage.getItem('schoolCode');\r\n const consentLetterReferenceCode = localStorage.getItem(\r\n 'consentLetterReferenceCode',\r\n );\r\n\r\n if (token) {\r\n setVaccineCode(vaccineCode);\r\n setSchoolCode(schoolCode);\r\n setConsentLetterReferenceCode(consentLetterReferenceCode);\r\n setToken(token);\r\n } else {\r\n setToken(null);\r\n setVaccineCode(null);\r\n setSchoolCode(null);\r\n setConsentLetterReferenceCode(null);\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n >\r\n );\r\n}\r\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","import 'react-app-polyfill/ie9';\r\nimport 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport './scss/index.scss';\r\nimport { BrowserRouter } from 'react-router-dom';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root'),\r\n);\r\n"],"names":["rawAsap","task","queue","length","requestFlush","module","exports","index","flush","currentIndex","call","scan","newLength","scope","global","self","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","makeRequestCallFromTimer","callback","timeoutHandle","setTimeout","handleTimer","intervalHandle","setInterval","clearTimeout","clearInterval","toggle","observer","node","document","createTextNode","observe","characterData","data","makeRequestCallFromMutationObserver","hasOwn","hasOwnProperty","classNames","classes","i","arguments","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","join","default","isCallable","require","tryToString","$TypeError","TypeError","argument","isConstructor","$String","String","wellKnownSymbol","create","defineProperty","UNSCOPABLES","ArrayPrototype","undefined","configurable","value","charAt","S","unicode","isPrototypeOf","it","Prototype","isObject","ArrayBuffer","DataView","fails","buffer","isExtensible","NAME","Constructor","NATIVE_ARRAY_BUFFER","DESCRIPTORS","classof","createNonEnumerableProperty","defineBuiltIn","getPrototypeOf","setPrototypeOf","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","get","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isTypedArray","klass","Function","this","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","forced","options","ARRAY","TypedArrayConstructor","error","error2","exportTypedArrayStaticMethod","getTypedArrayConstructor","proto","state","isView","uncurryThis","FunctionName","defineBuiltIns","anInstance","toIntegerOrInfinity","toLength","toIndex","IEEE754","getOwnPropertyNames","arrayFill","arraySlice","setToStringTag","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","setInternalState","set","ARRAY_BUFFER","DATA_VIEW","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","RangeError","fill","reverse","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","view","count","isLittleEndian","intIndex","store","byteLength","bytes","start","byteOffset","conversion","INCORRECT_ARRAY_BUFFER_NAME","name","NaN","keys","j","constructor","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","offset","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","lengthOfArrayLike","deletePropertyOrThrow","min","Math","copyWithin","target","O","len","to","from","end","inc","argumentsLength","endPos","$forEach","STRICT_METHOD","arrayMethodIsStrict","forEach","callbackfn","list","result","bind","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","step","iterator","next","iteratorMethod","done","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","map","filter","some","every","find","findIndex","filterReject","$lastIndexOf","lastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","array","foo","Boolean","method","aCallable","IS_RIGHT","memo","left","right","max","k","fin","n","slice","floor","insertionSort","comparefn","element","merge","llength","rlength","lindex","rindex","mergeSort","middle","originalArray","arraySpeciesConstructor","anObject","iteratorClose","fn","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","exec","SKIP_CLOSING","ITERATION_SUPPORT","object","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","tag","tryGet","callee","adder","add","wasDeleted","collection","remover","allDeleted","aConstructor","iterate","source","mapFn","nextItem","defineIterator","setSpecies","fastKey","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","iterable","type","first","last","size","AS_ENTRIES","define","previous","entry","getEntry","removed","clear","prev","has","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","getWeakData","ArrayIterationModule","splice","id","uncaughtFrozenStore","frozen","UncaughtFrozenStore","entries","findUncaughtFrozen","$","isForced","InternalMetadataModule","checkCorrectnessOfIteration","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","enable","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","f","getOwnPropertyDescriptor","MATCH","regexp","error1","F","requireObjectCoercible","quot","replace","string","attribute","p1","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","ENUMERABLE_NEXT","bitmap","enumerable","writable","toPropertyKey","propertyKey","ordinaryToPrimitive","hint","makeBuiltIn","descriptor","getter","setter","defineGlobalProperty","simple","nonConfigurable","nonWritable","src","IS_PURE","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","values","path","wrappedWellKnownSymbolModule","Symbol","P","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","firefox","match","IS_DENO","IS_NODE","window","Deno","version","UA","test","userAgent","Pebble","process","getBuiltIn","versions","v8","split","webkit","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","sham","regexpExec","RegExpPrototype","RegExp","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","re","flags","uncurriedNativeRegExpMethod","nativeMethod","str","arg2","forceStringMethod","$exec","doesNotExceedSafeInteger","flattenIntoArray","original","sourceLen","depth","mapper","thisArg","targetIndex","sourceIndex","preventExtensions","NATIVE_BIND","FunctionPrototype","Reflect","$Function","concat","factories","construct","argsLength","args","partArgs","getDescriptor","aFunction","namespace","getMethod","usingIterator","Map","V","func","Set","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","position","captures","namedCaptures","replacement","tailPos","m","symbols","ch","capture","check","globalThis","a","b","console","abs","pow","log","LN2","mantissaLength","exponent","mantissa","c","exponentLength","eMax","eBias","rt","sign","Infinity","nBits","propertyIsEnumerable","Wrapper","NewTarget","NewTargetPrototype","functionToString","inspectSource","hiddenKeys","getOwnPropertyNamesModule","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","onFreeze","NATIVE_WEAK_MAP","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","noop","empty","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","feature","detection","normalize","POLYFILL","NATIVE","toLowerCase","Number","isInteger","isFinite","isRegExp","USE_SYMBOL_AS_UID","$Symbol","Result","stopped","ResultPrototype","unboundFunction","iterFn","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","innerResult","innerError","PrototypeOfArrayIteratorPrototype","arrayIterator","obj","CONFIGURABLE_LENGTH","TEMPLATE","arity","$expm1","expm1","exp","x","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","roundTiesToEven","LOG10E","log10","log1p","ceil","trunc","head","notify","promise","then","macrotask","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","Promise","queueMicrotaskDescriptor","queueMicrotask","parent","domain","exit","enter","resolve","nextTick","NATIVE_SYMBOL","keyFor","getOwnPropertySymbols","symbol","url","URL","searchParams","pathname","toJSON","sort","href","URLSearchParams","username","host","hash","PromiseCapability","reject","$$resolve","$$reject","globalIsFinite","trim","whitespaces","n$ParseFloat","parseFloat","trimmedString","$parseInt","parseInt","hex","radix","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","assign","A","B","alphabet","chr","T","activeXDocument","definePropertiesModule","enumBugKeys","html","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","style","display","appendChild","contentWindow","open","NullProtoObjectViaIFrame","Properties","V8_PROTOTYPE_DEFINE_BUG","defineProperties","props","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","FAILS_ON_PRIMITIVES","names","$propertyIsEnumerable","NASHORN_BUG","WEBKIT","random","__defineSetter__","aPossiblePrototype","CORRECT_SETTER","__proto__","TO_ENTRIES","input","pref","val","valueOf","NativePromiseConstructor","IS_BROWSER","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability","promiseCapability","all","Target","Source","Queue","tail","item","R","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","raw","groups","sticky","charsAdded","strCopy","multiline","hasIndices","ignoreCase","dotAll","unicodeSets","regExpFlags","$RegExp","MISSED_STICKY","y","is","TAG","SHARED","mode","copyright","license","defaultConstructor","charCodeAt","CONVERT_TO_STRING","pos","second","codeAt","$repeat","repeat","IS_END","maxLength","fillString","fillLen","stringFiller","intMaxLength","stringLength","fillStr","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","$RangeError","fromCharCode","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","base","encode","output","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","t","qMinusT","baseMinusT","label","encoded","labels","$trimEnd","forcedStringTrimMethod","trimEnd","$trimStart","trimStart","whitespace","ltrim","rtrim","SymbolPrototype","TO_PRIMITIVE","location","defer","channel","port","validateArgumentsLength","setImmediate","clearImmediate","Dispatch","MessageChannel","ONREADYSTATECHANGE","run","runner","listener","event","post","postMessage","protocol","handler","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","integer","toPrimitive","prim","BigInt","toPositiveInteger","BYTES","isSymbol","exoticToPrim","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","typedArrayFrom","nativeDefineProperty","nativeGetOwnPropertyDescriptor","round","BYTES_PER_ELEMENT","WRONG_LENGTH","fromList","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","addElement","typedArrayOffset","$length","$len","arrayFromConstructorAndList","typedArraySpeciesConstructor","speciesConstructor","postfix","passed","required","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","arrayBufferModule","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","addToUnscopables","$filter","$findIndex","FIND_INDEX","SKIPS_HOLES","$find","FIND","flatMap","flat","depthArg","$includes","$IndexOf","un$IndexOf","ARRAY_ITERATOR","Arguments","un$Join","ES3_STRINGS","separator","$map","of","$reduceRight","CHROME_VERSION","reduceRight","$reduce","reduce","un$Slice","HAS_SPECIES_SUPPORT","internalSort","FF","IE_OR_EDGE","V8","un$Sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","code","v","itemsLength","items","arrayLength","getSortCompare","deleteCount","insertCount","actualDeleteCount","actualStart","dateToPrimitive","DatePrototype","Date","HAS_INSTANCE","FUNCTION_NAME_EXISTS","nameRE","regExpExec","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","replacer","$replacer","fixIllFormed","stringify","space","JSON","init","$acosh","acosh","sqrt","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","LOG2E","clz32","$cosh","cosh","$hypot","hypot","value1","value2","div","sum","aLen","larg","$imul","imul","UINT16","xn","yn","xl","yl","log2","sinh","tanh","thisNumberValue","NUMBER","NativeNumber","NumberPrototype","toNumeric","primValue","toNumber","third","maxCode","digits","NumberWrapper","isNaN","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","un$ToFixed","toFixed","acc","multiply","c2","divide","dataToString","s","fractionDigits","e","z","fractDigits","x2","__defineGetter__","$entries","$freeze","freeze","fromEntries","getOwnPropertyDescriptors","$getOwnPropertySymbols","nativeGetPrototypeOf","$isFrozen","isFrozen","$isSealed","isSealed","nativeKeys","__lookupGetter__","desc","__lookupSetter__","$preventExtensions","$seal","seal","$values","$parseFloat","newPromiseCapabilityModule","perform","capability","$promiseResolve","remaining","alreadyCalled","real","onRejected","Internal","OwnPromiseCapability","nativeThen","microtask","hostReportErrors","PromiseConstructorDetection","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","PromiseWrapper","wrap","promiseResolve","onFinally","isFunction","race","r","PromiseConstructorWrapper","CHECK_WRAPPER","functionApply","thisArgument","argumentsList","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","attributes","deleteProperty","objectGetPrototypeOf","isDataDescriptor","receiver","objectPreventExtensions","objectSetPrototypeOf","existingDescriptor","ownDescriptor","getRegExpFlags","proxyAccessor","NativeRegExp","SyntaxError","stringIndexOf","IS_NCG","CORRECT_NEW","BASE_FORCED","RegExpWrapper","pattern","rawFlags","handled","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","named","brackets","ncg","groupid","groupname","handleNCG","handleDotAll","defineBuiltInAccessor","INDICES_SUPPORT","calls","expected","pairs","$toString","TO_STRING","n$ToString","NOT_GENERIC","INCORRECT_NAME","createHTML","forcedStringHTMLMethod","anchor","big","blink","bold","codePointAt","notARegExp","correctIsRegExpLogic","un$EndsWith","endsWith","CORRECT_IS_REGEXP_LOGIC","searchString","endPosition","search","fixed","fontcolor","color","fontsize","$fromCodePoint","fromCodePoint","elements","italics","STRING_ITERATOR","point","link","fixRegExpWellKnownSymbolLogic","advanceStringIndex","nativeMatch","maybeCallNative","matcher","rx","res","fullUnicode","matchStr","$padEnd","padEnd","$padStart","padStart","template","rawTemplate","literalSegments","getSubstitution","REPLACE","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","_","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","small","callRegExpExec","MAX_UINT32","$push","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SPLIT","nativeSplit","internalSplit","limit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","p","un$StartsWith","startsWith","strike","sub","sup","trimLeft","trimRight","$trim","defineWellKnownSymbol","nativeObjectCreate","getOwnPropertyNamesExternal","defineSymbolToPrimitive","HIDDEN","QObject","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","properties","IS_OBJECT_PROTOTYPE","useSetter","useSimple","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolToString","symbolValueOf","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","u$ArrayCopyWithin","$every","$fill","toBigInt","actualValue","fromSpeciesAndList","predicate","createTypedArrayConstructor","$indexOf","ArrayIterators","arrayValues","arrayKeys","arrayEntries","GENERIC","ITERATOR_IS_VALUES","typedArrayValues","$join","$set","WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS","TO_OBJECT_BUG","$some","ACCEPT_INCORRECT_ARGUMENTS","mod","begin","beginIndex","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","InternalWeakMap","collectionWeak","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","deleteAll","getMapIterator","newMap","findKey","groupBy","keyDerivative","derivedKey","sameValueZero","keyBy","keyOf","mapKeys","mapValues","noInitial","accumulator","update","isPresentInMap","addAll","difference","newSet","getSetIterator","intersection","hasCheck","isDisjointFrom","isSubsetOf","otherSet","isSupersetOf","arrayJoin","sep","symmetricDifference","union","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","arraySort","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","safeGetBuiltIn","nativeFetch","NativeRequest","Headers","RequestPrototype","HeadersPrototype","decodeURIComponent","encodeURIComponent","shift","plus","sequences","percentSequence","percentDecode","sequence","deserialize","replacements","serialize","URLSearchParamsIterator","params","URLSearchParamsState","parseObject","parseQuery","bindURL","entryIterator","entryNext","query","updateURL","URLSearchParamsConstructor","URLSearchParamsPrototype","append","getAll","found","headersHas","headersSet","wrapRequestOptions","headers","body","fetch","RequestConstructor","Request","getState","EOF","arrayFrom","toASCII","URLSearchParamsModule","getInternalURLState","getInternalSearchParamsState","NativeURL","pop","unshift","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","serializeHost","compress","ignore0","ipv6","maxIndex","currStart","currLength","findLongestZeroSequence","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","specialSchemes","ftp","file","http","https","ws","wss","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","isBase","baseState","failure","urlString","parse","stateOverride","codePoints","bufferCodePoints","pointer","seenAt","seenBracket","seenPasswordToken","scheme","password","fragment","cannotBeABaseURL","isSpecial","includesCredentials","codePoint","encodedCodePoints","parseHost","shortenPath","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","parseIPv6","partsLength","numbers","part","ipv4","parts","parseIPv4","cannotHaveUsernamePasswordPort","pathSize","setHref","getOrigin","URLConstructor","origin","getProtocol","setProtocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","getSearchParams","getHash","setHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","format","d","Error","argIndex","framesToPop","getNative","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","setCacheAdd","setCacheHas","SetCache","__data__","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","resIndex","baseTimes","isArguments","isBuffer","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","initAccum","reAsciiWord","eq","baseFor","createBaseFor","castPath","toKey","arrayPush","keysFunc","symbolsFunc","getRawTag","objectToString","symToStringTag","toStringTag","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","other","bitmask","customizer","stack","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","matchData","noCustomizer","objValue","srcValue","COMPARE_PARTIAL_FLAG","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","isPrototype","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","baseGet","arrayMap","symbolProto","baseToString","cache","stringToPath","baseSlice","coreJsData","fromRight","castSlice","hasUnicode","stringToArray","methodName","strSymbols","trailing","arrayReduce","deburr","words","reApos","deburrLetter","basePropertyOf","arraySome","cacheHas","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","message","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","freeGlobal","baseGetAllKeys","getSymbols","isKeyable","baseIsNative","getValue","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","nativeGetSymbols","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","Ctor","ctorString","hasFunc","reHasUnicode","reHasUnicodeWord","nativeCreate","reIsUint","reIsDeepProp","reIsPlainProp","maskSrcKey","assocIndexOf","getMapData","memoize","overArg","freeExports","nodeType","freeModule","freeProcess","nodeUtil","types","binding","transform","freeSelf","root","LARGE_ARRAY_SIZE","asciiToArray","unicodeToArray","memoizeCapped","rePropName","reEscapeChar","quote","subString","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","rsDingbatRange","rsLowerRange","rsUpperRange","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsModifier","rsEmoji","reUnicodeWord","capitalize","camelCase","createCompounder","word","upperFirst","reLatin","reComboMark","defaultValue","baseHas","hasPath","baseHasIn","baseIsArguments","stubFalse","Buffer","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeys","isArrayLike","baseAssignValue","baseForOwn","baseIteratee","resolver","memoized","Cache","baseProperty","basePropertyDeep","snakeCase","createCaseFirst","asciiWords","hasUnicodeWord","unicodeWords","guard","hookCallback","hooks","setHookCallback","hasOwnProp","isObjectEmpty","isUndefined","isNumber","isDate","arr","arrLen","extend","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","createInvalid","fun","momentProperties","updateInProgress","copyConfig","prop","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","deprecate","deprecationHandler","argLen","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","invalidDate","replaceLongDateFormatTokens","longDateFormat","defaultLongDateFormat","LTS","L","LL","LLL","LLLL","_longDateFormat","formatUpper","toUpperCase","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","ss","mm","h","hh","dd","w","ww","M","MM","yy","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","u","isLeapYear","year","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","month","date","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","isPM","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","dayOfMonthOrdinalParse","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","defineLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","weekdayOverflow","curWeek","GG","W","createLocal","gg","ISO_8601","RFC_2822","skipped","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","minute","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","matches","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","direction","period","tmp","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","toISOString","keepOffset","toDate","inspect","prefix","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","listMonthsImpl","out","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","factory","propIsEnumerable","test1","test2","test3","letter","err","shouldUseNative","performance","getNanoSeconds","hrtime","moduleLoadTime","hr","upTime","nodeLoadTime","loadTime","asap","LAST_ERROR","IS_ERROR","_U","_V","_W","_X","doResolve","handle","deferred","_Y","cb","ex","tryCallOne","handleResolved","newValue","getThen","finale","_Z","Handler","tryCallTwo","_0","safeThen","TRUE","valuePromise","FALSE","NULL","UNDEFINED","ZERO","EMPTYSTRING","iterableToArray","DEFAULT_WHITELIST","ReferenceError","enabled","disable","matchWhitelist","cls","displayId","rejections","allRejections","whitelist","logged","line","logError","_1","onHandled","timeout","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bool","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","maxSize","_maxSize","_size","_values","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","pathCache","setCache","getCache","normalizePath","isQuoted","shouldBeQuoted","hasLeadingNumber","hasSpecialChars","safe","segments","iter","idx","isBracket","vendors","raf","caf","_now","cp","cancelled","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","g","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","D","oa","pa","qa","ma","na","la","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","$$typeof","_context","_payload","_init","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","ownerDocument","eb","children","Children","db","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","ob","namespaceURI","innerHTML","firstChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","setProperty","substring","ub","menuitem","area","br","col","embed","img","keygen","param","track","wbr","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","removeEventListener","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","child","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","transition","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","bd","cd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","email","range","tel","text","me","ne","oe","listeners","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","G","$e","af","bf","cf","df","passive","Nb","ef","ff","gf","hf","J","K","Q","je","char","ke","jf","kf","lf","mf","autoFocus","nf","__html","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","H","I","Cf","N","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","context","observedBits","responders","wg","xg","updateQueue","firstBaseUpdate","lastBaseUpdate","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Component","refs","Gg","Kg","isMounted","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","updater","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","ref","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","documentElement","tagName","fh","gh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","useState","getSnapshot","subscribe","useEffect","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useCallback","useContext","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","createElementNS","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","querySelectorAll","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","keyList","hasProp","hasElementType","Element","equal","arrA","arrB","dateA","dateB","regexpA","regexpB","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","modifier","asterisk","partial","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","opts","pretty","attachKeys","sensitive","route","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","IsSomeRendererActing","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","createFactory","createRef","forwardRef","isValidElement","lazy","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isGeneratorFunction","genFun","ctor","mark","awrap","async","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","unstable_forceFrameRate","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","toposort","nodes","edges","cursor","sorted","visited","outgoingEdges","edge","makeOutgoingEdges","nodesHash","makeNodesHash","visit","predecessors","nodeRep","outgoing","uniqueNodes","warning","support","Blob","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","header","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","buf","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","_bodyArrayBuffer","rejected","arrayBuffer","isConsumed","readAsText","readBlobAsText","chars","readArrayBufferAsText","formData","decode","json","oldValue","credentials","signal","upcased","normalizeMethod","referrer","reParamSearch","parseHeaders","rawHeaders","Response","bodyInit","status","statusText","response","redirectStatuses","redirect","DOMException","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","getAllResponseHeaders","responseURL","responseText","ontimeout","onabort","fixUrl","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","__esModule","definition","nmd","paths","_arrayLikeToArray","_unsupportedIterableToArray","minLen","_slicedToArray","_s","_e","_arr","_n","React","_defineProperty","enumerableOnly","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","ThemeContext","prefixes","useBootstrapPrefix","defaultPrefix","Container","bsPrefix","fluid","className","_jsx","_setPrototypeOf","subClass","superClass","isAbsolute","spliceOne","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","valueEqual","aValue","bValue","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","createLocation","currentLocation","hashIndex","searchIndex","parsePath","_extends","decodeURI","URIError","resolvePathname","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","isActive","notifyListeners","_len","_key","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","invariant","globalHistory","canUseHistory","navigator","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","allKeys","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","MAX_SIGNED_31_BIT_INT","commonjsGlobal","createEventEmitter","handlers","on","off","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","_Component","_this","emitter","_inheritsLoose","_proto","nextProps","_Component2","_this2","onUpdate","_proto2","createNamedContext","historyContext","Router","computeRootMatch","isExact","_pendingLocation","RouterContext","staticContext","HistoryContext","Lifecycle","onMount","prevProps","onUnmount","cacheCount","generatePath","compilePath","Redirect","computedMatch","matchPath","cacheKey","Route","isEmptyChildren","createURL","staticHandler","Switch","DEVICE_SIZES","Row","decoratedBsPrefix","sizePrefix","brkPoint","cols","propValue","infix","Col","spans","span","useCol","colProps","rHyphen","pascalCase","camelize","createWithBsPrefix","BsComponent","Tag","resolvedPrefix","CardImg","variant","CardHeader","contextValue","cardHeaderBsPrefix","CardHeaderContext","DivStyledAsH5","divWithClassName","DivStyledAsH6","CardBody","CardTitle","CardSubtitle","CardLink","CardText","CardFooter","CardImgOverlay","Card","border","Img","Title","Subtitle","Link","Text","Header","Footer","ImgOverlay","tooltip","Feedback","FormCheckInput","isInvalid","controlId","FormContext","FormCheckLabel","htmlFor","FormCheck","bsSwitchPrefix","inline","feedbackTooltip","feedback","feedbackType","title","innerFormContext","hasLabel","_jsxs","_Fragment","Input","Label","FormControl","htmlSize","plaintext","readOnly","FormGroup","FormLabel","column","visuallyHidden","columnClass","FormRange","FormSelect","FormText","muted","FloatingLabel","validated","Form","Group","Floating","FormFloating","Check","Range","Select","_excluded","useButtonProps","rel","tabIndex","handleClick","isTrivialHref","role","onKeyDown","Button","asProp","_objectWithoutPropertiesLoose","buttonProps","active","catch","pdfSend","submitHPVConsent","submitFluConsent","submitMMRConsent","submitConsentMenACWYTdIPV","getEthnicities","getPatientOptions","generatePDF","vaccineQuestions","_toConsumableArray","_classCallCheck","_defineProperties","_createClass","protoProps","staticProps","baseClone","circulars","clones","cloneNode","errorToString","regExpToString","SYMBOL_REGEXP","printNumber","printSimpleValue","quoteStrings","printValue","mixed","notOneOf","notType","originalValue","isCast","defined","uuid","uppercase","lessThan","moreThan","positive","negative","boolean","isValue","noUnknown","__isYupSchema__","Condition","otherwise","schema","branch","isSchema","_assertThisInitialized","_inherits","_getPrototypeOf","_isNativeReflectConstruct","Proxy","_typeof","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Super","_construct","Parent","Class","_wrapNativeSuper","_cache","strReg","ValidationError","errorOrErrors","errors","isError","captureStackTrace","runTests","endEarly","tests","fired","once","nestedErrors","Reference","isContext","isSibling","__isYupRef","createValidation","validate","sync","rest","Ref","createError","overrides","nextParams","formatError","ctx","_ref2","validOrError","OPTIONS","getIn","lastPart","lastPartDebug","_part","innerType","fields","_type","parentPath","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","ReferenceSet","describe","isRef","newItems","removeItems","BaseSchema","conditions","_whitelist","_blacklist","exclusiveTests","transforms","withMutation","typeError","spec","strip","abortEarly","recursive","nullable","presence","_value","_mutate","_typeError","_whitelistError","_blacklistError","cloneDeep","before","combined","mergedSpec","_typeCheck","resolvedSchema","_cast","assert","formattedValue","formattedResult","rawValue","_options","getDefault","initialTests","maybeCb","_validate","validateSync","_getDefault","def","exclusive","_isPresent","isNullable","isExclusive","dep","enums","valids","invalids","notRequired","Mixed","BooleanSchema","isAbsent","_superPropBase","_get","rEmail","rUrl","rUUID","isTrimmed","objStringTag","StringSchema","strValue","excludeEmptyString","NumberSchema","parsed","less","more","_method","avail","truncate","isoReg","DateSchema","timestamp","struct","numericKeys","minutesOffset","isoParse","cast","prepareParam","INVALID_DATE","sortFields","excludes","addNode","depPath","_err$path","sortByKeyOrder","unknown","known","defaultSort","ObjectSchema","_sortErrors","_nodes","_excludedEdges","_options$stripUnknown","stripUnknown","intermediateValue","innerOptions","__validating","isChanged","exists","fieldValue","inputValue","fieldSpec","nextFields","schemaOrRef","dft","getDefaultFromShape","additions","picked","fromGetter","newObj","noAllow","unknownKeys","allow","transformKeys","ArraySchema","_opts","castArray","castElement","_options$abortEarly","_options$recursive","rejector","stringRequired","yup","nullableString","stringMinMaxRequired","detailsString","yesNo","when","nullableDay","nullableMonth","valueClean","nullableStringMax","consentLetterReferenceCode","accessCode","parentGuardianConsentStatus","parentGuardianConsentReasonForRefusal","parentGuardianConsentReasonForRefusalComments","parentGuardianNeedMoreInfoRequire","parentGuardianConsentRelationshipForChild","parentGuardianConsentRelationshipForChildOther","parentGuardianConsentSignatureName","parentGuardianConsentSignatureDay","parentGuardianConsentSignatureMonth","parentGuardianConsentSignatureYear","parentGuardianConsentStatusMenACWY","parentGuardianConsentReasonForRefusalMenACWY","parentGuardianConsentReasonForRefusalCommentsMenACWY","parentGuardianConsentSignatureNameMenACWY","parentGuardianConsentSignatureDateMenACWYDay","parentGuardianConsentSignatureDateMenACWYMonth","parentGuardianConsentSignatureDateMenACWYYear","parentGuardianNeedMoreInfoRequireMenACWY","parentGuardianConsentRelationshipForChildMenACWY","parentGuardianConsentRelationshipForChildMenACWYOther","q1","q1Comment","q2","q2Comment","q3","q3Comment","q4","q4Comment","q5","q5Comment","q6","q6Comment","parentGuardianFurtherInformation","q7","q7Comment","q8","q8Comment","q9","q9Comment","q1VaccineWhere","q1VaccineWhenDay","q1VaccineWhenMonth","q1VaccineWhenYear","nullableYear","q1VaccineBrand","patientForename","patientSurname","patientAddressLine1","patientAddressLine2","patientAddressLine3","patientAddressLine4","patientPostCode","dobDay","dobMonth","dobYear","patientDOB","moment","dob","patientGender","patientGenderOther","ethnicity","parentGuardianConsentPhoneCarer","nullableTelephone","parentGuardianConsentEmailAddress","nullableEmail","parentGuardianConsentConfirmEmailAddress","nHSNumber","establishRemainder","nullableNhsNo","yearGroup","yearClass","isMergeableObject","isNonNullObject","stringValue","REACT_ELEMENT_TYPE","isReactElement","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","arrayMerge","sourceIsArray","destination","mergeObject","objectCtorString","getPrototype","isNew","assignValue","copyObject","nativeKeysIn","isProto","baseKeysIn","keysIn","allocUnsafe","isDeep","copy","getSymbolsIn","dataView","cloneArrayBuffer","reFlags","typedArray","cloneDataView","cloneTypedArray","cloneRegExp","cloneSymbol","objectCreate","baseCreate","nodeIsMap","baseIsMap","nodeIsSet","baseIsSet","funcTag","cloneableTags","isFlat","isFull","initCloneArray","copyArray","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","baseAssignIn","copySymbols","baseAssign","initCloneByTag","isSet","subValue","isMap","getAllKeysIn","arrayEach","CLONE_DEEP_FLAG","isEmptyArray","isPromise","toPath","setIn","resVal","pathArray","currentPath","currentObj","nextPath","setNestedObjectValues","FormikContext","FormikProvider","useFormikContext","formik","formikReducer","touched","isEqual","isSubmitting","isValidating","submitCount","emptyErrors","emptyTouched","useFormik","validateOnChange","validateOnBlur","validateOnMount","isInitialValid","enableReinitialize","onSubmit","initialValues","initialErrors","initialTouched","initialStatus","fieldRegistry","runValidateHandler","maybePromisedErrors","actualException","runValidationSchema","validationSchema","validateData","prepareDataForValidation","validateYupSchema","yupError","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","fieldValidations","fieldErrorsList","curr","runAllValidations","fieldErrors","schemaErrors","validateErrors","validateFormWithHighPriority","useEventCallback","combinedErrors","resetForm","dispatchFn","maybePromisedOnReset","validateField","maybePromise","registerField","unregisterField","setTouched","shouldValidate","setErrors","setValues","resolvedValues","setFieldError","setFieldValue","executeChange","eventOrTextValue","maybePath","currentArrayOfValues","isValueInArray","valueProp","getValueForCheckbox","getSelectedValues","handleChange","setFieldTouched","executeBlur","outerHTML","handleBlur","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","promiseOrUndefined","executeSubmit","_errors","handleSubmit","imperativeMethods","validateForm","handleReset","getFieldMeta","initialError","getFieldHelpers","setError","getFieldProps","isAnObject","nameOrOptions","valueState","onChange","onBlur","dirty","Formik","formikbag","innerRef","isPlainObject","shouldClone","useIsomorphicLayoutEffect","useField","propsOrFieldName","fieldName","validateFn","_action","onReset","insert","copyArrayLike","FieldArrayInner","updateArrayField","updateErrors","alterErrors","updateTouched","alterTouched","prevState","fieldError","fieldTouched","handlePush","indexA","handleSwap","move","handleMove","handleInsert","handleReplace","handleUnshift","handleRemove","remove","arrayHelpers","restOfFormik","InputField","Login","loginProcess","authenticating","setAuthenticating","failed","setFailed","serverError","setServerError","xs","sm","FormValidator","noValidate","autoComplete","placeholder","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","defaultKey","_toPropertyKey","_toPrimitive","useUncontrolled","_extends2","Utils","propsValue","handlerName","_useUncontrolledProp","wasPropRef","_useState","stateValue","isProp","wasProp","useUncontrolledProp","__reactInternalSnapshotFlag","__reactInternalSnapshot","__suppressDeprecationWarning","useCommittedRef","isReactNative","product","Anchor","handleKeyDown","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","appear","isMounting","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","appearing","nodeRef","ReactDOM","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","_this$props","childProps","TransitionGroupContext","ownerWindow","doc","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","css","getPropertyValue","psuedoElement","getComputedStyle","isTransform","removeProperty","cssText","optionsSupported","onceSupported","eventName","wrappedHandler","__once","onceHandler","emulateTransitionEnd","padding","triggerEvent","transitionEnd","mult","parseDuration","removeEmulate","transitionEndListener","toFnRef","refA","refB","mergeRefs","childRef","mergedRef","useMergedRefs","attachRef","componentOrElement","handleEnter","handleEntering","handleEntered","handleExit","handleExiting","handleExited","handleAddEndListener","innerProps","fadeStyles","Fade","transitionClasses","isAppearing","offsetHeight","triggerBrowserReflow","TransitionWrapper","CloseButton","DivStyledAsH4","AlertHeading","AlertLink","show","closeLabel","Alert","uncontrolledProps","closeVariant","onClose","dismissible","handleClose","alert","Heading","NavContext","makeEventKey","eventKey","dataAttr","useNavItem","parentOnSelect","SelectableContext","navContext","contextControllerId","getControllerId","contextControlledId","getControlledId","activeKey","NavItem","EVENT_KEY_ATTR","Nav","onSelect","needsRefocusRef","tabContext","TabContext","listNode","getNextActiveTab","currentListNode","selector","activeChild","handleSelect","nextActiveChild","dataset","Item","ListGroupItem","navItemProps","ListGroup","horizontalVariant","initialBsPrefix","horizontal","controlledProps","BaseNav","pdfReferenceValues","pdfFormValues","gender","refusal","relationships","pdf","EthnicityCode","EthnicityDesc","CategoryValueCode","CategoryDesc","CategoriesID","pdfReferenceValuesMenACWYTdIPV","dateConversion","InputGroupText","InputGroup","hasValidation","InputGroupContext","Radio","Checkbox","PostcodeSelect","addressSelectedCallback","DPA","ADDRESS","PostCodeError","PostcodeSearch","loading","setLoading","setData","noResults","setNoResults","setShow","postcodeSearch","addressLine1","addressLine2","addressLine3","addressLine4","postcode","getAddresses_OS","totalresults","dpaDepartmentName","DEPARTMENT_NAME","dpaOrganisationName","ORGANISATION_NAME","dpaSubBuildingName","SUB_BUILDING_NAME","dpaBuildingName","BUILDING_NAME","dpaBuildingNumber","BUILDING_NUMBER","dpaDependentThoroughfareName","DEPENDENT_THOROUGHFARE_NAME","dpaThoroughfareName","THOROUGHFARE_NAME","dpaDoubleDependentLocality","DOUBLE_DEPENDENT_LOCALITY","dpaDependentLocality","DEPENDENT_LOCALITY","dpaPostTown","POST_TOWN","dpaPostcode","POSTCODE","dpaPOBoxNumber","PO_BOX_NUMBER","LOCAL_CUSTODIAN_CODE_DESCRIPTION","postCode","arrAddrLine","arrPremisesV2","arrThoroughfareLocalityV2","strPremisesThoroughfareLocality","addressFields","postCodeField","inputLabel","CustomFieldError","SelectField","Demographics","scrollTo","YearGroup","RadioField","HpvQuestions","filterRefusal","filterRelationships","q1VaccineWhen","ErrorNotification","alertMessage","Spinner","bsSpinnerPrefix","loadingSpinner","DuplicateRecord","localStorage","removeItem","duplicateReason","Wizard","stepNumber","setStepNumber","setStepDescription","steps","snapshot","totalSteps","isLastStep","progress","setProgress","userDetail","UserContext","vaccineDeliveredCode","vaccineCode","schoolCodeURN","schoolCode","bag","ParentalResponsibility","HPV","WizardStep","success","setSuccess","processing","setProcessing","setPdfFormValues","patientOptions","CategoryDomainGroup","filterYearGroup","filterGender","CarePlusCoding","pdfDownload","ethnicityOptions","resPdf","msSaveOrOpenBlob","fileURL","download","inputDate","click","childPostCodeSearch","parentGuardianConsentSignatureDate","submitConsentFom","textAlign","MenACWYTdIPVQuestions","MenACWYTdIPV","parentGuardianConsentSignatureDateMenACWY","FluQuestions","Flu","MmrQuestions","MMR","mapQuestions","heading","linkText","ImmunoForm","setPatientOptions","setEthnicityOptions","setVaccineQuestions","ethOptions","patOptions","questionOptions","patientsOptionsRefused","getFormOptions","Routing","BCHCLogo","alt","User","logoutProcess","App","setToken","setVaccineCode","setSchoolCode","setConsentLetterReferenceCode","getItem","setItem","BrowserRouter","createHistory","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","navigate","isModifiedEvent","forwardedRef","isDuplicateNavigation","ariaCurrent","activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","getElementById"],"sourceRoot":""}