@openmrs/esm-patient-registration-app 3.0.2-pre.310 → 3.0.2-pre.332
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/258.js +2 -0
- package/dist/258.js.map +1 -0
- package/dist/272.js +1 -1
- package/dist/272.js.map +1 -1
- package/dist/295.js +1 -1
- package/dist/295.js.map +1 -1
- package/dist/30.js +1 -1
- package/dist/30.js.map +1 -1
- package/dist/309.js +3 -0
- package/dist/{770.js.LICENSE.txt → 309.js.LICENSE.txt} +0 -0
- package/dist/309.js.map +1 -0
- package/dist/323.js +1 -1
- package/dist/323.js.map +1 -1
- package/dist/324.js +1 -1
- package/dist/324.js.map +1 -1
- package/dist/401.js +2 -0
- package/dist/401.js.map +1 -0
- package/dist/574.js +1 -1
- package/dist/71.js +1 -1
- package/dist/71.js.map +1 -1
- package/dist/817.js +1 -1
- package/dist/817.js.map +1 -1
- package/dist/831.js +3 -0
- package/dist/{932.js.LICENSE.txt → 831.js.LICENSE.txt} +0 -0
- package/dist/831.js.map +1 -0
- package/dist/916.js +2 -0
- package/dist/916.js.map +1 -0
- package/dist/932.js +1 -2
- package/dist/932.js.map +1 -1
- package/dist/openmrs-esm-patient-registration-app.js +1 -1
- package/dist/openmrs-esm-patient-registration-app.js.buildmanifest.json +103 -80
- package/dist/openmrs-esm-patient-registration-app.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +7 -1
- package/src/offline.resources.ts +34 -30
- package/src/offline.ts +9 -9
- package/src/patient-registration/field/id/id-field.component.tsx +15 -12
- package/src/patient-registration/{ui-components/identifier-selection-overlay/index.tsx → field/id/identifier-selection-overlay.tsx} +29 -30
- package/src/patient-registration/{ui-components/identifier-selection-overlay → field/id}/identifier-selection.scss +0 -0
- package/src/patient-registration/form-manager.test.ts +5 -14
- package/src/patient-registration/form-manager.ts +104 -72
- package/src/patient-registration/input/basic-input/input/input.component.tsx +2 -8
- package/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx +23 -34
- package/src/patient-registration/input/dummy-data/dummy-data-input.component.tsx +2 -0
- package/src/patient-registration/patient-registration-hooks.ts +71 -62
- package/src/patient-registration/patient-registration-types.tsx +30 -17
- package/src/patient-registration/patient-registration-utils.ts +4 -3
- package/src/patient-registration/patient-registration.component.tsx +17 -19
- package/src/patient-registration/patient-registration.resource.tsx +6 -5
- package/src/patient-registration/section/patient-relationships/relationships-section.component.tsx +6 -6
- package/src/root.component.tsx +2 -2
- package/src/widgets/delete-identifier-confirmation-modal.tsx +41 -0
- package/src/widgets/delete-identifier-modal.scss +32 -0
- package/src/widgets/edit-patient-details-button.component.tsx +1 -1
- package/translations/en.json +1 -2
- package/dist/373.js +0 -2
- package/dist/373.js.map +0 -1
- package/dist/764.js +0 -2
- package/dist/764.js.map +0 -1
- package/dist/770.js +0 -3
- package/dist/770.js.map +0 -1
- package/dist/94.js +0 -2
- package/dist/94.js.map +0 -1
package/dist/94.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"94.js","mappings":"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","sources":["webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/before-save-prompt.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/patient-registration.scss?0796","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/validation/patient-registration-validation.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/patient-registration-context.ts","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/input.scss?11d4","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/dummy-data/dummy-data-input.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/section.scss?cee8","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/demographics/demographics-section.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/contact-info/contact-info-section.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/patient-relationships/relationships.scss?b3be","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/custom-input/autosuggest/autosuggest.scss?549a","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/custom-input/autosuggest/autosuggest.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/patient-relationships/relationships-section.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/basic-input/input/input.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/basic-input/select/select-input.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/death-info/death-info-section.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/section-wrapper.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/field.scss?530c","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/address/address-field.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/phone/phone-field.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/email/email-field.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/name/name-field.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/dob/dob.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/date-util.ts","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/gender/gender-field.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/ui-components/identifier-selection-overlay/identifier-selection.scss?0bbe","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/ui-components/overlay/overlay.scss?b44b","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/ui-components/overlay/index.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/ui-components/identifier-selection-overlay/index.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/id/id-field.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/section-helper.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/patient-registration-utils.ts","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/patient-registration-hooks.ts","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/patient-registration.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/root.component.tsx","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/field/field.scss","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/custom-input/autosuggest/autosuggest.scss","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/input/input.scss","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/patient-registration.scss","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/patient-relationships/relationships.scss","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/section/section.scss","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/ui-components/identifier-selection-overlay/identifier-selection.scss","webpack://@openmrs/esm-patient-registration-app/./src/patient-registration/ui-components/overlay/overlay.scss"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { showModal } from '@openmrs/esm-framework';\nimport { useTranslation } from 'react-i18next';\n\nfunction getUrlWithoutPrefix(url: string) {\n return url.split(window['getOpenmrsSpaBase']())?.[1];\n}\n\ninterface BeforeSavePromptProps {\n when: boolean;\n redirect?: string;\n}\n\nconst BeforeSavePrompt: React.FC<BeforeSavePromptProps> = ({ when, redirect }) => {\n const history = useHistory();\n const { t } = useTranslation();\n const ref = useRef<boolean>(false);\n const [localTarget, setTarget] = useState<string | undefined>();\n const target = localTarget || redirect;\n const cancelUnload = useCallback((e: BeforeUnloadEvent) => {\n const message = t(\n 'discardModalBody',\n \"The changes you made to this patient's details have not been saved. Discard changes?\",\n );\n e.preventDefault();\n e.returnValue = message;\n return message;\n }, []);\n\n const cancelNavigation = useCallback((evt: CustomEvent) => {\n if (!evt.detail.navigationIsCanceled && !ref.current) {\n ref.current = true;\n evt.detail.cancelNavigation();\n const dispose = showModal(\n 'cancel-patient-edit-modal',\n {\n onConfirm: () => {\n setTarget(evt.detail.newUrl);\n dispose();\n },\n },\n () => {\n ref.current = false;\n },\n );\n }\n }, []);\n\n useEffect(() => {\n if (when && typeof target === 'undefined') {\n window.addEventListener('single-spa:before-routing-event', cancelNavigation);\n window.addEventListener('beforeunload', cancelUnload);\n\n return () => {\n window.removeEventListener('beforeunload', cancelUnload);\n window.removeEventListener('single-spa:before-routing-event', cancelNavigation);\n };\n }\n }, [target, when, cancelUnload, cancelNavigation]);\n\n useEffect(() => {\n if (typeof target === 'string') {\n history.push(`/${getUrlWithoutPrefix(target)}`);\n }\n }, [target]);\n\n return null;\n};\n\nexport default BeforeSavePrompt;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./patient-registration.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./patient-registration.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import * as Yup from 'yup';\n\nexport const validationSchema = Yup.object({\n givenName: Yup.string().required('givenNameRequired'),\n familyName: Yup.string().required('familyNameRequired'),\n additionalGivenName: Yup.string().when('addNameInLocalLanguage', {\n is: true,\n then: Yup.string().required('givenNameRequired'),\n otherwise: Yup.string().notRequired(),\n }),\n additionalFamilyName: Yup.string().when('addNameInLocalLanguage', {\n is: true,\n then: Yup.string().required('familyNameRequired'),\n otherwise: Yup.string().notRequired(),\n }),\n gender: Yup.string().oneOf(['Male', 'Female', 'Other', 'Unknown'], 'genderUnspecified').required('genderRequired'),\n birthdate: Yup.date().required('birthdayRequired').max(Date(), 'birthdayNotInTheFuture').nullable(),\n yearsEstimated: Yup.number().min(0, 'negativeYears'),\n monthsEstimated: Yup.number().min(0, 'negativeMonths'),\n deathDate: Yup.date().max(Date(), 'deathdayNotInTheFuture').nullable(),\n email: Yup.string().optional().email('invalidEmail'),\n});\n","import { createContext, SetStateAction, useContext } from 'react';\nimport { FormValues, CapturePhotoProps } from './patient-registration-types';\n\nexport interface PatientRegistrationContextProps {\n identifierTypes: Array<any>;\n values: FormValues;\n validationSchema: any;\n setValidationSchema(value: any): void;\n inEditMode: boolean;\n fieldConfigs: Record<string, any>;\n setFieldValue(field: string, value: any, shouldValidate?: boolean): void;\n setCapturePhotoProps(value: SetStateAction<CapturePhotoProps>): void;\n currentPhoto: string;\n}\n\nexport const PatientRegistrationContext = createContext<PatientRegistrationContextProps | undefined>(undefined);\n\nexport function useFieldConfig(field: string) {\n const { fieldConfigs } = useContext(PatientRegistrationContext);\n return fieldConfigs[field];\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./input.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./input.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport { FormValues } from '../../patient-registration-types';\nimport styles from './../input.scss';\n\ninterface DummyDataInputProps {\n setValues(values: FormValues, shouldValidate?: boolean): void;\n}\n\nexport const dummyFormValues: FormValues = {\n givenName: 'John',\n middleName: '',\n familyName: 'Smith',\n unidentifiedPatient: false,\n additionalGivenName: 'Joey',\n additionalMiddleName: '',\n additionalFamilyName: 'Smitty',\n addNameInLocalLanguage: true,\n gender: 'Male',\n birthdate: new Date(2020, 1, 1) as any,\n yearsEstimated: 1,\n monthsEstimated: 2,\n birthdateEstimated: true,\n telephoneNumber: '0800001066',\n address1: 'Bom Jesus Street',\n address2: '',\n cityVillage: 'Recife',\n stateProvince: 'Pernambuco',\n country: 'Brazil',\n postalCode: '50030-310',\n isDead: false,\n deathDate: '',\n deathCause: '',\n relationships: [{ relatedPerson: '', relationship: '' }],\n identifiers: [],\n};\n\nexport const DummyDataInput: React.FC<DummyDataInputProps> = ({ setValues }) => {\n return (\n <main>\n <button\n onClick={() => setValues(dummyFormValues)}\n className={`omrs-btn omrs-filled-neutral ${styles.dummyData}`}\n type=\"button\"\n aria-label=\"Dummy Data Input\">\n Input Dummy Data\n </button>\n </main>\n );\n};\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./section.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./section.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useContext, useEffect } from 'react';\nimport styles from './../section.scss';\nimport { useField } from 'formik';\nimport { getField } from '../section-helper';\nimport { PatientRegistrationContext } from '../../patient-registration-context';\n\nexport interface DemographicsSectionProps {\n id: 'demographics';\n fields: Array<any>;\n}\n\nexport const DemographicsSection: React.FC<DemographicsSectionProps> = ({ fields }) => {\n const [field, meta] = useField('addNameInLocalLanguage');\n const { setFieldValue } = useContext(PatientRegistrationContext);\n\n useEffect(() => {\n if (!field.value && meta.touched) {\n setFieldValue('additionalGivenName', '');\n setFieldValue('additionalMiddleName', '');\n setFieldValue('additionalFamilyName', '');\n }\n }, [field.value, meta.touched]);\n\n return (\n <section className={styles.formSection} aria-label=\"Demographics Section\">\n {fields.map((field) => (\n <div key={field}>{getField(field)}</div>\n ))}\n </section>\n );\n};\n","import React from 'react';\nimport { getField } from '../section-helper';\n\nexport interface ContactInfoSectionProps {\n id: 'contact';\n fields: Array<string>;\n}\n\nexport const ContactInfoSection: React.FC<ContactInfoSectionProps> = ({ fields }) => {\n return (\n <section aria-label=\"Contact Info Section\">\n {fields.map((fieldName) => (\n <div key={fieldName}>{getField(fieldName)}</div>\n ))}\n </section>\n );\n};\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./relationships.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./relationships.scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./autosuggest.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./autosuggest.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { Search } from 'carbon-components-react';\nimport styles from './autosuggest.scss';\nimport { useTranslation } from 'react-i18next';\n\ninterface AutosuggestProps {\n name: string;\n placeholder: string;\n getDisplayValue: Function;\n getFieldValue: Function;\n getSearchResults: (query: string) => Promise<any>;\n onSuggestionSelected: (field: string, value: string) => void;\n}\n\nexport const Autosuggest: React.FC<AutosuggestProps> = ({\n name,\n placeholder,\n getDisplayValue,\n getFieldValue,\n getSearchResults,\n onSuggestionSelected,\n}) => {\n const [suggestions, setSuggestions] = useState([]);\n const searchBox = useRef(null);\n const wrapper = useRef(null);\n const { t } = useTranslation();\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutsideComponent);\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutsideComponent);\n };\n }, [wrapper]);\n\n const handleClickOutsideComponent = (e) => {\n if (wrapper.current && !wrapper.current.contains(e.target)) {\n setSuggestions([]);\n }\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const query = e.target.value;\n if (query) {\n getSearchResults(query).then((suggestions) => {\n setSuggestions(suggestions);\n });\n } else {\n setSuggestions([]);\n }\n };\n\n const handleClick = (index: number) => {\n const display = getDisplayValue(suggestions[index]);\n const value = getFieldValue(suggestions[index]);\n searchBox.current.input.value = display;\n onSuggestionSelected(name, value);\n setSuggestions([]);\n };\n\n return (\n <div className={styles.autocomplete} ref={wrapper}>\n <Search\n name={name}\n id=\"autosuggest\"\n placeholder={placeholder}\n labelText={t('fullName', 'Full Name')}\n onChange={handleChange}\n ref={searchBox}\n className={styles.autocompleteSearch}\n light\n size=\"xl\"\n />\n {suggestions.length > 0 && (\n <ul className={styles.suggestions}>\n {suggestions.map((suggestion, index) => (\n <li //eslint-disable-line jsx-a11y/no-noninteractive-element-interactions\n key={index}\n onClick={(e) => handleClick(index)}>\n {getDisplayValue(suggestion)}\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n};\n","import React, { useContext, useEffect, useState } from 'react';\nimport sectionStyles from '../section.scss';\nimport styles from './relationships.scss';\nimport { Button, Select, SelectItem } from 'carbon-components-react';\nimport { FieldArray } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { Autosuggest } from '../../input/custom-input/autosuggest/autosuggest.component';\nimport { PatientRegistrationContext } from '../../patient-registration-context';\nimport { ResourcesContext } from '../../../offline.resources';\nimport { fetchPerson } from '../../patient-registration.resource';\n\ninterface RelationshipType {\n display: string;\n uuid: string;\n direction: string;\n}\n\nexport interface RelationshipsSectionProps {\n id: 'relationships';\n}\n\nexport const RelationshipsSection: React.FC<RelationshipsSectionProps> = () => {\n const { relationshipTypes } = useContext(ResourcesContext);\n const [displayRelationshipTypes, setDisplayRelationshipTypes] = useState<RelationshipType[]>([]);\n const { setFieldValue } = React.useContext(PatientRegistrationContext);\n const { t } = useTranslation();\n\n useEffect(() => {\n const tmp: RelationshipType[] = [];\n relationshipTypes.results.forEach((type) => {\n const aIsToB = {\n display: type.aIsToB,\n uuid: type.uuid,\n direction: 'aIsToB',\n };\n const bIsToA = {\n display: type.bIsToA,\n uuid: type.uuid,\n direction: 'bIsToA',\n };\n aIsToB.display === bIsToA.display ? tmp.push(aIsToB) : tmp.push(aIsToB, bIsToA);\n });\n setDisplayRelationshipTypes(tmp);\n }, [relationshipTypes]);\n\n const handleRelationshipTypeChange = (event) => {\n const { target } = event;\n const field = target.name;\n const value = target.options[target.selectedIndex].value;\n setFieldValue(field, value);\n };\n\n const handleSuggestionSelected = (field: string, selectedSuggestion: string) => {\n setFieldValue(field, selectedSuggestion);\n };\n\n const searchPerson = async (query: string) => {\n const abortController = new AbortController();\n const searchResults = await fetchPerson(query, abortController);\n return searchResults.data.results;\n };\n\n return (\n <section className={sectionStyles.formSection} aria-label=\"Relationships Section\">\n <section className={sectionStyles.fieldGroup}>\n <FieldArray name=\"relationships\">\n {({\n push,\n remove,\n form: {\n values: { relationships },\n },\n }) => (\n <div>\n {relationships && relationships.length > 0 ? (\n <div>\n <br />\n {relationships.map((_relationship: any, index: React.Key) => (\n <div key={index} className={styles.relationship}>\n <div className={styles.searchBox} style={{ marginBottom: '1rem' }}>\n <Autosuggest\n name={`relationships[${index}].relatedPerson`}\n placeholder=\"Find person\"\n onSuggestionSelected={handleSuggestionSelected}\n getSearchResults={searchPerson}\n getDisplayValue={(item) => item.display}\n getFieldValue={(item) => item.uuid}\n />\n </div>\n <div className={`${styles.selectRelationshipType}`} style={{ marginBottom: '1rem' }}>\n <Select\n light={true}\n id=\"select\"\n defaultValue=\"placeholder-item\"\n labelText={t('relationship', 'Relationship')}\n onChange={handleRelationshipTypeChange}\n name={`relationships[${index}].relationship`}>\n <SelectItem\n disabled\n hidden\n value=\"placeholder-item\"\n text={t('relationshipToPatient', 'Relationship to patient')}\n />\n {displayRelationshipTypes.map((type) => (\n <SelectItem\n text={type.display}\n value={`${type.uuid}/${type.direction}`}\n key={type.display}\n />\n ))}\n </Select>\n </div>\n <div className={styles.actions}>\n {relationships.length - 1 === index && (\n <Button kind=\"ghost\" onClick={() => push({})}>\n {t('addRelationshipButtonText', 'Add Relationship')}\n </Button>\n )}\n </div>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n )}\n </FieldArray>\n </section>\n </section>\n );\n};\n","import React, { useMemo } from 'react';\nimport { TextInput } from 'carbon-components-react';\nimport { useField } from 'formik';\nimport { useTranslation } from 'react-i18next';\n\ninterface InputProps {\n id: string;\n name: string;\n labelText: string;\n light: boolean;\n disabled?: boolean;\n placeholder?: string;\n checkWarning?(value: string): string;\n}\n\nexport const Input: React.FC<InputProps> = ({ checkWarning, ...props }) => {\n const [field, meta] = useField(props.name);\n const { t } = useTranslation();\n /*\n t('givenNameRequired')\n t('familyNameRequired')\n t('genderUnspecified')\n t('genderRequired')\n t('birthdayRequired')\n t('birthdayNotInTheFuture')\n t('negativeYears')\n t('negativeMonths')\n t('deathdayNotInTheFuture')\n t('invalidEmail')\n t('numberInNameDubious')\n */\n const value = field.value || '';\n const invalidText = meta.error && t(meta.error);\n const warnText = useMemo(() => {\n if (!invalidText && typeof checkWarning === 'function') {\n const warning = checkWarning(value);\n return warning && t(warning);\n }\n\n return undefined;\n }, [checkWarning, invalidText, value, t]);\n\n return (\n <div style={{ marginBottom: '1rem' }}>\n <TextInput\n {...props}\n {...field}\n invalid={!!(meta.touched && meta.error)}\n invalidText={invalidText}\n warn={!!warnText}\n warnText={warnText}\n value={value}\n />\n </div>\n );\n};\n","import React from 'react';\nimport { Select, SelectItem } from 'carbon-components-react';\nimport { useField } from 'formik';\n\ninterface SelectInputProps {\n name: string;\n options: Array<string>;\n label: string;\n}\n\nexport const SelectInput: React.FC<SelectInputProps> = ({ name, options, label }) => {\n const [field, meta] = useField(name);\n const selectOptions = [\n <SelectItem disabled hidden text={`Select ${label}`} key=\"\" value=\"\" />,\n ...options.map((currentOption, index) => <SelectItem text={currentOption} value={currentOption} key={index} />),\n ];\n\n return (\n <div style={{ marginBottom: '1rem' }}>\n <Select id=\"identifier\" {...field} labelText={label} light>\n {selectOptions}\n </Select>\n </div>\n );\n};\n","import React from 'react';\nimport { Input } from '../../input/basic-input/input/input.component';\nimport { SelectInput } from '../../input/basic-input/select/select-input.component';\nimport { PatientRegistrationContext } from '../../patient-registration-context';\nimport { useTranslation } from 'react-i18next';\nimport styles from './../section.scss';\n\nexport interface DeathInfoSectionProps {\n id: 'death';\n}\n\nexport const DeathInfoSection: React.FC<DeathInfoSectionProps> = () => {\n const { values } = React.useContext(PatientRegistrationContext);\n const { t } = useTranslation();\n\n return (\n <section className={styles.formSection} aria-label=\"Death Info Section\">\n <h5 className={`omrs-type-title-5 ${styles.formSectionTitle}`}>Death Info</h5>\n <section className={styles.fieldGroup}>\n <Input labelText={t('isDeadInputLabel', 'Is Dead')} name=\"isDead\" id=\"isDead\" light />\n {values.isDead && (\n <>\n <Input labelText={t('deathDateInputLabel', 'Date of Death')} name=\"deathDate\" id=\"deathDate\" light />\n <SelectInput\n options={[t('unknown', 'Unknown'), t('stroke', 'Stroke')]}\n label={t('causeOfDeathInputLabel', 'Cause of Death')}\n name=\"deathCause\"\n />\n </>\n )}\n </section>\n </section>\n );\n};\n","import React from 'react';\nimport styles from '../patient-registration.scss';\nimport { Tile } from 'carbon-components-react';\nimport { useTranslation } from 'react-i18next';\n\nexport const SectionWrapper = ({ id, children, name, index }) => {\n const { t } = useTranslation();\n return (\n <div id={id}>\n <h3 className={styles.productiveHeading02} style={{ color: '#161616' }}>\n {index + 1}. {name}\n </h3>\n <span className={styles.label01}>\n {t('allFieldsRequiredText', 'All fields are required unless marked optional')}\n </span>\n <div style={{ margin: '1rem 0 1rem' }}>\n <Tile>{children}</Tile>\n </div>\n </div>\n );\n};\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./field.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./field.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Input } from '../../input/basic-input/input/input.component';\nimport { ResourcesContext } from '../../../offline.resources';\nimport styles from '../field.scss';\n\nfunction parseString(xmlDockAsString: string) {\n const parser = new DOMParser();\n return parser.parseFromString(xmlDockAsString, 'text/xml');\n}\n\nfunction getTagAsDocument(tagName: string, template: XMLDocument) {\n const tmp = template.getElementsByTagName(tagName)[0];\n return tmp ? parseString(tmp.outerHTML) : parseString('');\n}\n\nfunction getFieldValue(field: string, doc: XMLDocument) {\n const fieldElement = doc.getElementsByTagName(field)[0];\n return fieldElement ? fieldElement.getAttribute('value') : null;\n}\n\nexport const AddressField: React.FC = () => {\n const { addressTemplate } = useContext(ResourcesContext);\n const [addressFields, setAddressFields] = useState([]);\n const { t } = useTranslation();\n const addressTemplateXml = addressTemplate.results[0].value;\n\n useEffect(() => {\n const templateXmlDoc = parseString(addressTemplateXml);\n const nameMappings = getTagAsDocument('nameMappings', templateXmlDoc);\n const elementDefaults = getTagAsDocument('elementdefaults', templateXmlDoc);\n const properties = nameMappings.getElementsByTagName('property');\n const propertiesObj = Array.prototype.map.call(properties, (property: Element) => {\n const name = property.getAttribute('name');\n /*\n t('postalCode')\n t('address1')\n t('stateProvince')\n t('cityVillage')\n t('country')\n */\n const labelText = t(name, property.getAttribute('value'));\n const value = getFieldValue(name, elementDefaults);\n return {\n id: name,\n name,\n labelText,\n value,\n };\n });\n setAddressFields(propertiesObj);\n }, [t, addressTemplateXml]);\n\n return (\n <div>\n <h4 className={styles.productiveHeading02Light}>{t('addressHeader', 'Address')}</h4>\n <div>\n {addressFields.map((attributes) => (\n <Input key={attributes.name} {...attributes} light />\n ))}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { Input } from '../../input/basic-input/input/input.component';\nimport { useTranslation } from 'react-i18next';\n\nexport const PhoneField: React.FC = () => {\n const { t } = useTranslation();\n\n return (\n <div>\n <Input id=\"phone\" name=\"phone\" labelText={t('phoneNumberInputLabelText', 'Phone number (optional)')} light />\n </div>\n );\n};\n","import React from 'react';\nimport styles from '../field.scss';\nimport { Input } from '../../input/basic-input/input/input.component';\nimport { useTranslation } from 'react-i18next';\nimport { PhoneField } from '../phone/phone-field.component';\n\nexport const PhoneEmailField: React.FC = () => {\n const { t } = useTranslation();\n\n return (\n <div>\n <h4 className={styles.productiveHeading02Light}>{t('phoneEmailLabelText', 'Phone & Email')}</h4>\n <div className={styles.grid}>\n <PhoneField />\n <Input id=\"email\" name=\"email\" labelText={t('emailLabelText', 'Email')} light />\n </div>\n </div>\n );\n};\n","import React, { useCallback, useContext } from 'react';\nimport styles from '../field.scss';\nimport { Input } from '../../input/basic-input/input/input.component';\nimport { PatientRegistrationContext, useFieldConfig } from '../../patient-registration-context';\nimport { useTranslation } from 'react-i18next';\nimport { ExtensionSlot } from '@openmrs/esm-framework';\n\nconst containsNoNumbers = /^([^0-9]*)$/;\n\nfunction checkNumber(value: string) {\n if (!containsNoNumbers.test(value)) {\n return 'numberInNameDubious';\n }\n\n return undefined;\n}\n\nexport const NameField = () => {\n const { t } = useTranslation();\n const { setCapturePhotoProps, currentPhoto } = useContext(PatientRegistrationContext);\n\n const onCapturePhoto = useCallback((dataUri: string, photoDateTime: string) => {\n if (setCapturePhotoProps) {\n setCapturePhotoProps({\n imageData: dataUri,\n dateTime: photoDateTime,\n });\n }\n }, []);\n\n const fieldConfigs = useFieldConfig('name');\n\n return (\n <div>\n <h4 className={styles.productiveHeading02Light}>{t('fullNameLabelText', 'Full Name')}</h4>\n <div className={styles.grid}>\n <ExtensionSlot\n className={styles.photoExtension}\n extensionSlotName=\"capture-patient-photo-slot\"\n state={{ onCapturePhoto, initialState: currentPhoto }}\n />\n\n <div className={styles.nameField}>\n <Input\n id=\"givenName\"\n name=\"givenName\"\n labelText={t('givenNameLabelText', 'Given Name')}\n light\n checkWarning={checkNumber}\n />\n {fieldConfigs.displayMiddleName && (\n <Input\n id=\"middleName\"\n name=\"middleName\"\n labelText={t('middleNameLabelText', 'Middle Name')}\n light\n checkWarning={checkNumber}\n />\n )}\n <Input\n id=\"familyName\"\n name=\"familyName\"\n labelText={t('familyNameLabelText', 'Family Name')}\n light\n checkWarning={checkNumber}\n />\n </div>\n </div>\n </div>\n );\n};\n","import React, { useContext } from 'react';\nimport { DatePicker, DatePickerInput, TextInput } from 'carbon-components-react';\nimport { useTranslation } from 'react-i18next';\nimport { useField } from 'formik';\nimport { PatientRegistrationContext } from '../../patient-registration-context';\nimport { generateFormatting } from '../../date-util';\n\nexport const DobField: React.FC = () => {\n const { t } = useTranslation();\n const [field, meta] = useField('birthdate');\n const [estimated] = useField('birthdateEstimated');\n const { setFieldValue } = useContext(PatientRegistrationContext);\n const { format, placeHolder, dateFormat } = generateFormatting(['d', 'm', 'Y'], '/');\n const invalidText = meta.error && t(meta.error);\n\n const onDateChange = ([birthdate]) => {\n setFieldValue('birthdate', birthdate);\n setFieldValue('birthdateEstimated', false);\n };\n\n return (\n <div style={{ marginBottom: '1rem' }}>\n <DatePicker dateFormat={dateFormat} datePickerType=\"single\" light onChange={onDateChange}>\n <DatePickerInput\n id=\"birthdate\"\n placeholder={placeHolder}\n labelText={t('dateOfBirthLabelText', 'Date of Birth')}\n invalid={!!(meta.touched && meta.error)}\n invalidText={invalidText}\n {...field}\n value={estimated.value ? '' : format(field.value)}\n />\n </DatePicker>\n </div>\n );\n};\n\nexport const EobField: React.FC = () => {\n const { t } = useTranslation();\n const today = new Date();\n const [field] = useField('birthdate');\n const [estimated] = useField('birthdateEstimated');\n const { setFieldValue } = useContext(PatientRegistrationContext);\n\n const onValueChange = (ev) => {\n const years = +ev.target.value;\n\n if (!isNaN(years) && years < 1000 && years >= 0) {\n setFieldValue('birthdate', new Date(today.getFullYear() - years, 0, 1));\n setFieldValue('birthdateEstimated', true);\n }\n };\n\n return (\n <div style={{ marginBottom: '1rem' }}>\n <TextInput\n id=\"birthdateEstimated\"\n light\n onChange={onValueChange}\n labelText={t('estimatedYearsLabelText', 'Estimated Years')}\n value={estimated.value && field.value ? `${today.getFullYear() - field.value.getFullYear()}` : ''}\n />\n </div>\n );\n};\n","export const generateFormatting = (order: Array<string>, separator: string) => {\n const parse = (value: string) => {\n const parts = value.split(separator);\n const date = new Date(null);\n\n order.forEach((key, index) => {\n switch (key) {\n case 'd':\n date.setDate(parseInt(parts[index]));\n break;\n case 'm':\n date.setMonth(parseInt(parts[index]) - 1);\n break;\n case 'Y':\n date.setFullYear(parseInt(parts[index]));\n break;\n }\n });\n return date;\n };\n\n const format = (date: Date) => {\n if (date === null) {\n return '';\n } else if (!(date instanceof Date)) {\n return date;\n } else {\n const parts = [];\n\n order.forEach((key, index) => {\n switch (key) {\n case 'd':\n parts[index] = date.getDate();\n break;\n case 'm':\n parts[index] = date.getMonth() + 1;\n break;\n case 'Y':\n parts[index] = date.getFullYear();\n break;\n }\n });\n\n return parts.join(separator);\n }\n };\n\n const placeHolder = order.map((x) => (x === 'Y' ? 'YYYY' : x + x)).join(separator);\n const dateFormat = order.join(separator);\n\n return { parse, format, placeHolder, dateFormat };\n};\n","import React, { useContext } from 'react';\nimport { RadioButton, RadioButtonGroup } from 'carbon-components-react';\nimport styles from '../field.scss';\nimport { useTranslation } from 'react-i18next';\nimport { PatientRegistrationContext } from '../../patient-registration-context';\nimport { useField } from 'formik';\nimport { DobField, EobField } from '../dob/dob.component';\n\nexport const GenderBirthField: React.FC = () => {\n const { t } = useTranslation();\n const [field, meta] = useField('gender');\n const { setFieldValue } = useContext(PatientRegistrationContext);\n\n const setGender = (gender: string) => {\n setFieldValue('gender', gender);\n };\n\n return (\n <div>\n <h4 className={styles.productiveHeading02Light}>{t('sexAndBirthLabel', 'Sex & Birth')}</h4>\n <div className={styles.grid}>\n <div className={styles.ageField}>\n <DobField />\n <EobField />\n </div>\n <div className={styles.sexField}>\n <p className=\"bx--label\">{t('genderLabelText', 'Sex')}</p>\n <RadioButtonGroup name=\"gender\" orientation=\"vertical\" onChange={setGender} valueSelected={field.value}>\n <RadioButton id=\"male\" labelText={t('maleLabelText', 'Male')} value=\"Male\" />\n <RadioButton id=\"female\" labelText={t('femaleLabelText', 'Female')} value=\"Female\" />\n <RadioButton id=\"other\" labelText={t('otherLabelText', 'Other')} value=\"Other\" />\n <RadioButton id=\"unknown\" labelText={t('unknownLabelText', 'Unknown')} value=\"Unknown\" />\n </RadioButtonGroup>\n {meta.touched && meta.error && (\n <>\n <input type=\"hidden\" data-invalid=\"true\" />\n <div className=\"bx--form-requirement\">{t(meta.error)}</div>\n </>\n )}\n </div>\n </div>\n </div>\n );\n};\n","import * as Yup from 'yup';\nimport React, { useState, useEffect, useCallback, useContext, useMemo } from 'react';\nimport styles from '../../input.scss';\nimport { useTranslation } from 'react-i18next';\nimport { Input } from '../../basic-input/input/input.component';\nimport { PatientIdentifierValue } from '../../../patient-registration-types';\nimport { PatientRegistrationContext } from '../../../patient-registration-context';\nimport { TrashCan16, Edit16, Undo16 } from '@carbon/icons-react';\nimport { Button } from 'carbon-components-react';\nimport { ResourcesContext } from '../../../../offline.resources';\n\ninterface IdentifierInputProps {\n patientIdentifier: PatientIdentifierValue;\n index: number;\n remove: <T>(index: number) => T;\n}\n\nexport const IdentifierInput: React.FC<IdentifierInputProps> = ({ patientIdentifier, index, remove }) => {\n const { patientIdentifiers: identifierTypes } = useContext(ResourcesContext);\n const identifierType = useMemo(\n () => identifierTypes.find((identifierType) => identifierType.uuid === patientIdentifier.identifierType),\n [patientIdentifier],\n );\n const { validationSchema, setValidationSchema, setFieldValue, values } = React.useContext(PatientRegistrationContext);\n const { source, action, identifier } = patientIdentifier;\n const identifierName = identifierType.name;\n const fieldName = `identifiers[${index}].identifier`;\n const { t } = useTranslation();\n const [option, setAutoGenerationOption] = useState({\n manualEntryEnabled: source ? true : undefined,\n automaticGenerationEnabled: undefined,\n });\n const [identifierValidationSchema, setIdentifierValidationSchema] = useState(Yup.object({}));\n // This will save the value, if value is to be restored is needed\n const [restoredValue, setRestoredValue] = useState(patientIdentifier.identifier);\n\n useEffect(() => {\n if (source && source.autoGenerationOption && source.autoGenerationOption.automaticGenerationEnabled) {\n setFieldValue(`identifiers[${index}].autoGeneration`, true);\n }\n }, [source]);\n\n useEffect(() => {\n if (source) {\n if (source.autoGenerationOption) {\n setAutoGenerationOption(source.autoGenerationOption);\n\n if (source.autoGenerationOption.automaticGenerationEnabled) {\n setFieldValue(`identifiers[${index}].autoGeneration`, true);\n setFieldValue(`identifiers[${index}].identifier`, '');\n }\n } else {\n setAutoGenerationOption({\n manualEntryEnabled: true,\n automaticGenerationEnabled: false,\n });\n setFieldValue(`identifiers[${index}].autoGeneration`, false);\n }\n } else {\n setAutoGenerationOption({\n manualEntryEnabled: true,\n automaticGenerationEnabled: false,\n });\n setFieldValue(`identifiers[${index}].autoGeneration`, true);\n }\n }, [source]);\n\n const handleEdit = useCallback(() => {\n setRestoredValue(patientIdentifier.identifier);\n setFieldValue(`identifiers[${index}]`, {\n ...patientIdentifier,\n action: 'UPDATE',\n source: identifierType.identifierSources.length > 0 ? identifierType.identifierSources[0] : null,\n } as PatientIdentifierValue);\n }, [patientIdentifier]);\n\n const handleDelete = useCallback(() => {\n if (action === 'ADD') {\n remove(index);\n } else {\n setFieldValue(`identifiers[${index}].action`, 'DELETE');\n }\n }, [patientIdentifier]);\n\n const handleUndo = useCallback(() => {\n setFieldValue(`identifiers[${index}]`, {\n ...patientIdentifier,\n action: 'NONE',\n source: null,\n identifier: restoredValue,\n } as PatientIdentifierValue);\n }, [patientIdentifier, restoredValue]);\n\n const autoGenerated = !option.manualEntryEnabled || (option.manualEntryEnabled && option.automaticGenerationEnabled);\n\n return (\n <div className={styles.IDInput}>\n {option.manualEntryEnabled && (action === 'ADD' || action === 'UPDATE') ? (\n <Input\n id={identifierName}\n light\n placeholder={\n autoGenerated\n ? `${t('autoGeneratedPlaceholderText', 'Auto generated')}`\n : `${t('enterIdentifierPlaceholderText', 'Enter Identifier')}`\n }\n labelText={identifierName}\n name={fieldName}\n disabled={!option.manualEntryEnabled}\n />\n ) : (\n <div className={styles.textID}>\n <p className={styles.label}>{identifierName}</p>\n <p className={styles.bodyShort02}>\n {identifier ? identifier : t('autoGeneratedPlaceholderText', 'Auto generated')}\n </p>\n </div>\n )}\n <div>\n {patientIdentifier.action === 'UPDATE' && (\n <Button\n kind=\"ghost\"\n onClick={handleUndo}\n iconDescription={t('restoreIdentifierTooltip', 'Restore')}\n hasIconOnly>\n <Undo16 />\n </Button>\n )}\n {patientIdentifier.action === 'NONE' && (\n <Button kind=\"ghost\" onClick={handleEdit} iconDescription={t('editIdentifierTooltip', 'Edit')} hasIconOnly>\n <Edit16 />\n </Button>\n )}\n {!(identifierType?.isPrimary || identifierType?.required) && (\n <Button\n kind=\"ghost\"\n onClick={handleDelete}\n iconDescription={t('deleteIdentifierTooltip', 'Delete')}\n hasIconOnly>\n <TrashCan16 className={styles.trashCan} />\n </Button>\n )}\n </div>\n </div>\n );\n};\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./identifier-selection.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./identifier-selection.scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./overlay.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/openmrs/node_modules/sass-loader/dist/cjs.js!./overlay.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport { ArrowLeft16, Close16 } from '@carbon/icons-react';\nimport { Button, Header } from 'carbon-components-react';\nimport styles from './overlay.scss';\nimport { useLayoutType } from '@openmrs/esm-framework';\n\ninterface OverlayProps {\n close: () => void;\n header: string;\n buttonsGroup?: React.ReactElement;\n}\n\nconst Overlay: React.FC<OverlayProps> = ({ close, children, header, buttonsGroup }) => {\n const isDesktop = useLayoutType() === 'desktop';\n\n return (\n <div className={isDesktop ? styles.desktopOverlay : styles.tabletOverlay}>\n {isDesktop ? (\n <div className={styles.desktopHeader}>\n <div className={styles.headerContent}>{header}</div>\n <Button className={styles.closeButton} onClick={close} kind=\"ghost\" hasIconOnly>\n <Close16 />\n </Button>\n </div>\n ) : (\n <Header className={styles.tabletOverlayHeader}>\n <Button onClick={close} hasIconOnly>\n <ArrowLeft16 onClick={close} />\n </Button>\n <div className={styles.headerContent}>{header}</div>\n </Header>\n )}\n <div className={styles.overlayContent}>{children}</div>\n <div className={styles.buttonsGroup}>{buttonsGroup}</div>\n </div>\n );\n};\n\nexport default Overlay;\n","import React, { useMemo, useCallback, useEffect, useState, Dispatch, SetStateAction, useContext } from 'react';\nimport styles from './identifier-selection.scss';\nimport { useTranslation } from 'react-i18next';\nimport { Button, Checkbox, Search, RadioButtonGroup, RadioButton } from 'carbon-components-react';\nimport { PatientIdentifierType, PatientIdentifierValue } from '../../patient-registration-types';\nimport Overlay from '../overlay';\nimport { ResourcesContext } from '../../../offline.resources';\n\ninterface PatientIdentifierOverlayProps {\n setFieldValue: (string, any) => void;\n closeOverlay: () => void;\n push: (obj: any) => void;\n remove: <T>(index: number) => T;\n identifiers: PatientIdentifierValue[];\n}\n\nconst PatientIdentifierOverlay: React.FC<PatientIdentifierOverlayProps> = ({\n closeOverlay,\n push,\n setFieldValue,\n identifiers,\n remove,\n}) => {\n const { patientIdentifiers } = useContext(ResourcesContext);\n const [identifierTypes, setIdentifierTypes] = useState<PatientIdentifierType[]>([]);\n const [searchString, setSearchString] = useState<string>('');\n const { t } = useTranslation();\n const getIdentifierByTypeUuid = useCallback(\n (identifierTypeUuid: string) => identifiers.find((identifier) => identifier.identifierType === identifierTypeUuid),\n [identifiers],\n );\n\n useEffect(() => {\n if (patientIdentifiers) {\n setIdentifierTypes(\n patientIdentifiers.map((identifierType) => {\n const identifier = getIdentifierByTypeUuid(identifierType.uuid);\n return {\n ...identifierType,\n checked: identifier ? identifier.action !== 'DELETE' : identifierType.isPrimary || identifierType.required,\n source:\n identifier?.source ?? identifierType.identifierSources.length > 0\n ? identifierType.identifierSources[0]\n : null,\n };\n }),\n );\n }\n }, [patientIdentifiers, identifiers]);\n\n const handleSearch = useCallback((event) => setSearchString(event?.target?.value ?? ''), []);\n\n const filteredIdentifiers = useMemo(\n () => identifierTypes?.filter((identifier) => identifier?.name?.toLowerCase().includes(searchString.toLowerCase())),\n [identifierTypes, searchString],\n );\n\n const handleCheckingIdentifier = (uuid: string, checked: boolean) =>\n setIdentifierTypes((identifiers) =>\n identifiers.map((identifier) =>\n identifier.uuid === uuid\n ? {\n ...identifier,\n checked: identifier.isPrimary || identifier.required || checked,\n }\n : identifier,\n ),\n );\n\n const handleSelectingIdentifierSource = (identifierTypeUuid, sourceUuid) =>\n setIdentifierTypes((identifierTypes) =>\n identifierTypes?.map((identifierType) =>\n identifierType?.uuid === identifierTypeUuid\n ? {\n ...identifierType,\n source: identifierType?.identifierSources.find((source) => source?.uuid === sourceUuid),\n }\n : identifierType,\n ),\n );\n\n const identifierTypeFields = useMemo(\n () =>\n filteredIdentifiers.map((identifierType) => {\n const identifier = getIdentifierByTypeUuid(identifierType.uuid);\n const showIdentifierSources = !(identifier?.action === 'NONE');\n return (\n <div key={identifierType.uuid} className={styles.space05}>\n <Checkbox\n id={identifierType.uuid}\n value={identifierType.uuid}\n labelText={identifierType.name}\n onChange={(checked) => handleCheckingIdentifier(identifierType?.uuid, checked)}\n checked={identifierType.checked}\n disabled={\n identifier ? identifier.action !== 'DELETE' : identifierType.isPrimary || identifierType.required\n }\n />\n {showIdentifierSources && identifierType.checked && identifierType?.identifierSources?.length > 0 && (\n <div className={styles.radioGroup}>\n <RadioButtonGroup\n legendText={t('source', 'Source')}\n name={`${identifierType?.fieldName}-identifier-sources`}\n defaultSelected={identifier?.source?.uuid}\n onChange={(sourceUuid: string) => handleSelectingIdentifierSource(identifierType?.uuid, sourceUuid)}\n orientation=\"vertical\">\n {identifierType?.identifierSources.map((source, ind) => (\n <RadioButton\n key={ind}\n labelText={source?.name}\n name={source?.uuid}\n value={source.uuid}\n className={styles.radioButton}\n />\n ))}\n </RadioButtonGroup>\n </div>\n )}\n </div>\n );\n }),\n [filteredIdentifiers],\n );\n\n const handleConfiguringIdentifiers = useCallback(() => {\n identifierTypes.forEach((identifierType) => {\n const index = identifiers.findIndex((identifier) => identifier.identifierType === identifierType.uuid);\n if (index >= 0) {\n const identifier = identifiers[index];\n if (!identifierType.checked && identifiers[index].action === 'ADD') {\n remove(index);\n } else {\n let action: PatientIdentifierValue['action'];\n\n if (identifierType.checked) {\n if (identifier.action === 'DELETE') {\n action = 'UPDATE';\n } else {\n action = identifier.action;\n }\n } else {\n if (identifier.action === 'UPDATE') {\n action = 'DELETE';\n }\n }\n\n setFieldValue(`identifiers[${index}]`, {\n ...identifiers[index],\n action: action,\n source: action === 'ADD' || action === 'UPDATE' ? identifierType.source : null,\n } as PatientIdentifierValue);\n }\n } else if (identifierType.checked) {\n push({\n identifier: '',\n action: 'ADD',\n source: identifierType.source,\n identifierType: identifierType.uuid,\n } as PatientIdentifierValue);\n }\n });\n closeOverlay();\n }, [identifierTypes, identifiers]);\n\n return (\n <Overlay\n close={closeOverlay}\n header={t('configureIdentifiers', 'Configure identifiers')}\n buttonsGroup={\n <div className={styles.overlayButtons}>\n <Button kind=\"secondary\" size=\"lg\" onClick={closeOverlay}>\n {t('cancel', 'Cancel')}\n </Button>\n <Button kind=\"primary\" size=\"lg\" onClick={handleConfiguringIdentifiers}>\n {t('configureIdentifiers', 'Configure identifiers')}\n </Button>\n </div>\n }>\n <div>\n <p className={styles.bodyLong02}>\n {t('IDInstructions', \"Select the identifiers you'd like to add for this patient:\")}\n </p>\n {identifierTypes.length > 7 && (\n <div className={styles.space05}>\n <Search\n labelText={t('searchIdentifierPlaceholder', 'Search identifier')}\n placeholder={t('searchIdentifierPlaceholder', 'Search identifier')}\n onChange={handleSearch}\n value={searchString}\n />\n </div>\n )}\n <fieldset>{identifierTypeFields}</fieldset>\n </div>\n </Overlay>\n );\n};\n\nexport default PatientIdentifierOverlay;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { IdentifierInput } from '../../input/custom-input/identifier/identifier-input.component';\nimport styles from '../field.scss';\nimport { useTranslation } from 'react-i18next';\nimport { PatientRegistrationContext } from '../../patient-registration-context';\nimport { Button } from 'carbon-components-react';\nimport { ArrowRight16 } from '@carbon/icons-react';\nimport { useLayoutType } from '@openmrs/esm-framework';\nimport { PatientIdentifierValue } from '../../patient-registration-types';\nimport IdentifierSelectionOverlay from '../../ui-components/identifier-selection-overlay';\nimport { FieldArray, useField } from 'formik';\nimport { ResourcesContext } from '../../../offline.resources';\n\nexport const IdField: React.FC = () => {\n const { patientIdentifiers: identifierTypes } = useContext(ResourcesContext);\n const { setFieldValue, inEditMode } = useContext(PatientRegistrationContext);\n const { t } = useTranslation();\n const desktop = useLayoutType() === 'desktop';\n const [showIdentifierOverlay, setIdentifierOverlay] = useState<boolean>(false);\n\n useEffect(() => {\n if (!inEditMode) {\n setFieldValue(\n 'identifiers',\n identifierTypes\n .filter((identifierType) => identifierType.isPrimary || identifierType.required)\n .map(\n (identifierType) =>\n ({\n action: 'ADD',\n identifier: '',\n identifierType: identifierType.uuid,\n source: identifierType.identifierSources.length > 0 ? identifierType.identifierSources[0] : null,\n } as PatientIdentifierValue),\n ),\n );\n }\n }, [identifierTypes, inEditMode]);\n\n return (\n <div>\n <div className={styles.identifierLabelText}>\n <h4 className={styles.productiveHeading02Light}>{t('idFieldLabelText', 'Identifiers')}</h4>\n <Button\n kind=\"ghost\"\n className={styles.setIDNumberButton}\n onClick={() => setIdentifierOverlay(true)}\n size={desktop ? 'sm' : 'md'}>\n {t('configure', 'Configure')} <ArrowRight16 />\n </Button>\n </div>\n <div>\n <FieldArray name=\"identifiers\">\n {({\n push,\n remove,\n form: {\n values: { identifiers },\n },\n }) => (\n <>\n {identifiers.map((identifier: PatientIdentifierValue, index) => (\n <IdentifierInput key={index} index={index} patientIdentifier={identifier} remove={remove} />\n ))}\n {showIdentifierOverlay && (\n <IdentifierSelectionOverlay\n setFieldValue={setFieldValue}\n closeOverlay={() => setIdentifierOverlay(false)}\n push={push}\n identifiers={identifiers}\n remove={remove}\n />\n )}\n </>\n )}\n </FieldArray>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { DemographicsSection, DemographicsSectionProps } from './demographics/demographics-section.component';\nimport { ContactInfoSection, ContactInfoSectionProps } from './contact-info/contact-info-section.component';\nimport {\n RelationshipsSection,\n RelationshipsSectionProps,\n} from './patient-relationships/relationships-section.component';\nimport { DeathInfoSection, DeathInfoSectionProps } from './death-info/death-info-section.component';\nimport { SectionWrapper } from './section-wrapper.component';\nimport { AddressField } from '../field/address/address-field.component';\nimport { PhoneEmailField } from '../field/email/email-field.component';\nimport { NameField } from '../field/name/name-field.component';\nimport { GenderBirthField } from '../field/gender/gender-field.component';\nimport { IdField } from '../field/id/id-field.component';\n\nexport function getField(fieldName: string) {\n switch (fieldName) {\n case 'address':\n return <AddressField />;\n case 'phone & email':\n return <PhoneEmailField />;\n case 'name':\n return <NameField />;\n case 'gender & dob':\n return <GenderBirthField />;\n case 'id':\n return <IdField />;\n default:\n return <div>Unknown Field {fieldName} </div>;\n }\n}\n\nfunction renderSection(sectionProps: SectionProps) {\n switch (sectionProps.id) {\n case 'demographics':\n return <DemographicsSection {...sectionProps} />;\n case 'contact':\n return <ContactInfoSection {...sectionProps} />;\n case 'death':\n return <DeathInfoSection {...sectionProps} />;\n case 'relationships':\n return <RelationshipsSection {...sectionProps} />;\n default:\n return <div>Unknown Section {sectionProps.id}</div>;\n }\n}\n\nexport interface DefaultSectionProps {\n id: 'default';\n}\n\nexport type SectionProps =\n | DemographicsSectionProps\n | ContactInfoSectionProps\n | DeathInfoSectionProps\n | RelationshipsSectionProps\n | DefaultSectionProps;\n\nexport function getSection(sectionProps: SectionProps & { name: string }, index: number) {\n return (\n <SectionWrapper {...sectionProps} index={index}>\n {renderSection(sectionProps)}\n </SectionWrapper>\n );\n}\n","import { navigate, openmrsFetch } from '@openmrs/esm-framework';\nimport * as Yup from 'yup';\nimport {\n AddressValidationSchemaType,\n FormValues,\n PatientIdentifier,\n PatientUuidMapType,\n PatientIdentifierValue,\n} from './patient-registration-types';\nimport camelCase from 'lodash-es/camelCase';\nimport capitalize from 'lodash-es/capitalize';\n\nexport function parseAddressTemplateXml(addressTemplate: string) {\n const templateXmlDoc = new DOMParser().parseFromString(addressTemplate, 'text/xml');\n const nameMappings = templateXmlDoc.querySelector('nameMappings').querySelectorAll('property');\n const validationSchemaObjs: AddressValidationSchemaType[] = Array.prototype.map.call(\n nameMappings,\n (nameMapping: Element) => {\n const name = nameMapping.getAttribute('name');\n const label = nameMapping.getAttribute('value');\n const regex = findElementValueInXmlDoc(name, 'elementRegex', templateXmlDoc) || '.*';\n const regexFormat = findElementValueInXmlDoc(name, 'elementRegexFormats', templateXmlDoc) || '';\n\n return {\n name,\n label,\n regex,\n regexFormat,\n };\n },\n );\n\n const addressValidationSchema = Yup.object(\n validationSchemaObjs.reduce((final, current) => {\n final[current.name] = Yup.string().matches(current.regex, current.regexFormat);\n return final;\n }, {}),\n );\n\n const addressFieldValues: Array<{ name: string; defaultValue: string }> = Array.prototype.map.call(\n nameMappings,\n (nameMapping: Element) => {\n const name = nameMapping.getAttribute('name');\n const defaultValue = findElementValueInXmlDoc(name, 'elementDefaults', templateXmlDoc) ?? '';\n return { name, defaultValue };\n },\n );\n\n return {\n addressFieldValues,\n addressValidationSchema,\n };\n}\n\nfunction findElementValueInXmlDoc(fieldName: string, elementSelector: string, doc: XMLDocument) {\n return doc.querySelector(elementSelector)?.querySelector(`[name=${fieldName}]`)?.getAttribute('value') ?? null;\n}\n\nexport function scrollIntoView(viewId: string) {\n document.getElementById(viewId).scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n}\n\nexport function cancelRegistration() {\n navigate({ to: `${window.spaBase}/home` });\n}\n\nexport function getFormValuesFromFhirPatient(patient: fhir.Patient) {\n const result = {} as FormValues;\n const patientName = patient.name[0];\n const additionalPatientName = patient.name[1];\n\n result.givenName = patientName?.given[0];\n result.middleName = patientName?.given[1];\n result.familyName = patientName?.family;\n result.unidentifiedPatient =\n patientName.given[0] === 'UNKNOWN' && patientName.family === 'unknown' ? true : undefined;\n\n result.addNameInLocalLanguage = !!additionalPatientName ? true : undefined;\n result.additionalGivenName = additionalPatientName?.given[0];\n result.additionalMiddleName = additionalPatientName?.given[1];\n result.additionalFamilyName = additionalPatientName?.family;\n\n result.gender = capitalize(patient.gender);\n result.birthdate = patient.birthDate ? (new Date(patient.birthDate) as any) : undefined;\n result.telephoneNumber = patient.telecom ? patient.telecom[0].value : '';\n\n if (patient.deceasedBoolean || patient.deceasedDateTime) {\n result.isDead = true;\n result.deathDate = patient.deceasedDateTime ? patient.deceasedDateTime.split('T')[0] : '';\n }\n\n return {\n ...result,\n ...patient.identifier.map((identifier) => {\n const key = camelCase(identifier.system || identifier.type.text);\n return { [key]: identifier.value };\n }),\n };\n}\n\nexport function getAddressFieldValuesFromFhirPatient(patient: fhir.Patient) {\n const result = {};\n const address = patient.address?.[0];\n\n if (address) {\n for (const [key, value] of Object.entries(address)) {\n switch (key) {\n case 'city':\n result['cityVillage'] = address[key];\n break;\n case 'state':\n result['stateProvince'] = address[key];\n break;\n case 'district':\n result['countyDistrict'] = address[key];\n break;\n case 'extension':\n address[key].forEach((ext) => {\n ext.extension.forEach((extension) => {\n result[extension.url.split('#')[1]] = extension.valueString;\n });\n });\n break;\n default:\n if (key === 'country' || key === 'postalCode') {\n result[key] = address[key];\n }\n }\n }\n }\n\n return result;\n}\n\nexport function getPatientUuidMapFromFhirPatient(patient: fhir.Patient): PatientUuidMapType {\n const patientName = patient.name[0];\n const additionalPatientName = patient.name[1];\n const address = patient.address?.[0];\n\n return {\n patientUuid: patient.id,\n preferredNameUuid: patientName?.id,\n additionalNameUuid: additionalPatientName?.id,\n preferredAddressUuid: address?.id,\n ...patient.identifier.map((identifier) => {\n const key = camelCase(identifier.system || identifier.type.text);\n return { [key]: { uuid: identifier.id, value: identifier.value } };\n }),\n };\n}\n\nexport function getPatientIdentifiersFromFhirPatient(patient: fhir.Patient): Array<PatientIdentifier> {\n return patient.identifier.map((identifier) => {\n return {\n uuid: identifier.id,\n identifier: identifier.value,\n };\n });\n}\n\nexport function getPhonePersonAttributeValueFromFhirPatient(patient: fhir.Patient) {\n const result = {};\n if (patient.telecom) {\n result['phone'] = patient.telecom[0].value;\n }\n return result;\n}\n\nexport async function getPatientIdentifiers(patientUuid: string): Promise<PatientIdentifierValue[]> {\n const identifiers = await openmrsFetch<{ results: any[] }>(`/ws/rest/v1/patient/${patientUuid}/identifier?v=full`);\n return identifiers.data.results.map((patientIdentifier) => ({\n uuid: patientIdentifier.uuid,\n identifier: patientIdentifier.identifier,\n identifierType: patientIdentifier.identifierType.uuid,\n action: 'NONE',\n source: null,\n }));\n}\n","import { getSynchronizationItems, usePatient } from '@openmrs/esm-framework';\nimport { Dispatch, useEffect, useState } from 'react';\nimport { patientRegistration } from '../constants';\nimport {\n FormValues,\n PatientIdentifierValue,\n PatientRegistration,\n PatientUuidMapType,\n} from './patient-registration-types';\nimport {\n getAddressFieldValuesFromFhirPatient,\n getFormValuesFromFhirPatient,\n getPatientIdentifiers,\n getPatientUuidMapFromFhirPatient,\n getPhonePersonAttributeValueFromFhirPatient,\n} from './patient-registration-utils';\n\nconst blankFormValues: FormValues = {\n givenName: '',\n middleName: '',\n familyName: '',\n unidentifiedPatient: false,\n additionalGivenName: '',\n additionalMiddleName: '',\n additionalFamilyName: '',\n addNameInLocalLanguage: false,\n gender: '',\n birthdate: null,\n yearsEstimated: 0,\n monthsEstimated: 0,\n birthdateEstimated: false,\n telephoneNumber: '',\n address1: '',\n address2: '',\n cityVillage: '',\n stateProvince: '',\n country: '',\n postalCode: '',\n isDead: false,\n deathDate: '',\n deathCause: '',\n relationships: [{ relatedPerson: '', relationship: '' }],\n identifiers: [],\n};\n\nexport function useInitialFormValues(\n patientUuid: string,\n fallback = blankFormValues,\n): [FormValues, Dispatch<FormValues>] {\n const { isLoading, patient } = usePatient(patientUuid);\n const [initialFormValues, setInitialFormValues] = useState<FormValues>(fallback);\n\n useEffect(() => {\n (async () => {\n if (patient) {\n setInitialFormValues({\n ...initialFormValues,\n ...getFormValuesFromFhirPatient(patient),\n ...getAddressFieldValuesFromFhirPatient(patient),\n ...getPhonePersonAttributeValueFromFhirPatient(patient),\n identifiers: await getPatientIdentifiers(patientUuid),\n });\n } else if (!isLoading && patientUuid) {\n const registration = await getPatientRegistration(patientUuid);\n setInitialFormValues(registration?.formValues ?? fallback);\n }\n })();\n }, [isLoading, patient, patientUuid]);\n\n return [initialFormValues, setInitialFormValues];\n}\n\nexport function useInitialAddressFieldValues(patientUuid: string, fallback = {}): [object, Dispatch<object>] {\n const { isLoading, patient } = usePatient(patientUuid);\n const [initialAddressFieldValues, setInitialAddressFieldValues] = useState<object>(fallback);\n\n useEffect(() => {\n (async () => {\n if (patient) {\n setInitialAddressFieldValues({\n ...initialAddressFieldValues,\n ...getAddressFieldValuesFromFhirPatient(patient),\n });\n } else if (!isLoading && patientUuid) {\n const registration = await getPatientRegistration(patientUuid);\n setInitialAddressFieldValues(registration?.initialAddressFieldValues ?? fallback);\n }\n })();\n }, [isLoading, patient, patientUuid]);\n\n return [initialAddressFieldValues, setInitialAddressFieldValues];\n}\n\nexport function usePatientUuidMap(\n patientUuid: string,\n fallback = {},\n): [PatientUuidMapType, Dispatch<PatientUuidMapType>] {\n const { isLoading, patient } = usePatient(patientUuid);\n const [patientUuidMap, setPatientUuidMap] = useState(fallback);\n\n useEffect(() => {\n (async () => {\n if (patient) {\n setPatientUuidMap({ ...patientUuidMap, ...getPatientUuidMapFromFhirPatient(patient) });\n } else if (!isLoading && patientUuid) {\n const registration = await getPatientRegistration(patientUuid);\n setPatientUuidMap(registration?.initialAddressFieldValues ?? fallback);\n }\n })();\n }, [isLoading, patient, patientUuid]);\n\n return [patientUuidMap, setPatientUuidMap];\n}\n\nasync function getPatientRegistration(patientUuid: string) {\n const items = await getSynchronizationItems<PatientRegistration>(patientRegistration);\n return items.find((item) => item.patientUuid === patientUuid);\n}\n","import React, { useState, useEffect, useContext, useMemo } from 'react';\nimport XAxis16 from '@carbon/icons-react/es/x-axis/16';\nimport { Button, Grid, Link } from 'carbon-components-react';\nimport BeforeSavePrompt from './before-save-prompt';\nimport styles from './patient-registration.scss';\nimport { useLocation } from 'react-router-dom';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport {\n createErrorHandler,\n showToast,\n useConfig,\n interpolateString,\n interpolateUrl,\n usePatient,\n} from '@openmrs/esm-framework';\nimport { useTranslation } from 'react-i18next';\nimport { validationSchema as initialSchema } from './validation/patient-registration-validation';\nimport { FormValues, CapturePhotoProps } from './patient-registration-types';\nimport { PatientRegistrationContext } from './patient-registration-context';\nimport { SavePatientForm } from './form-manager';\nimport { usePatientPhoto } from './patient-registration.resource';\nimport { DummyDataInput } from './input/dummy-data/dummy-data-input.component';\nimport { getSection } from './section/section-helper';\nimport { cancelRegistration, parseAddressTemplateXml, scrollIntoView } from './patient-registration-utils';\nimport { useInitialAddressFieldValues, useInitialFormValues, usePatientUuidMap } from './patient-registration-hooks';\nimport { ResourcesContext } from '../offline.resources';\n\nlet exportedInitialFormValuesForTesting = {} as FormValues;\n\nexport interface PatientRegistrationProps {\n savePatientForm: SavePatientForm;\n match: any;\n}\n\nexport const PatientRegistration: React.FC<PatientRegistrationProps> = ({ savePatientForm, match }) => {\n const { currentSession, addressTemplate, patientIdentifiers } = useContext(ResourcesContext);\n const { search } = useLocation();\n const config = useConfig();\n const { patientUuid } = match.params;\n const [sections, setSections] = useState([]);\n const [target, setTarget] = useState<undefined | string>();\n const [validationSchema, setValidationSchema] = useState(initialSchema);\n const { isLoading, patient } = usePatient(patientUuid);\n const { t } = useTranslation();\n const [capturePhotoProps, setCapturePhotoProps] = useState<CapturePhotoProps | null>(null);\n const [fieldConfigs, setFieldConfigs] = useState({});\n const [initialFormValues, setInitialFormValues] = useInitialFormValues(patientUuid);\n const [initialAddressFieldValues] = useInitialAddressFieldValues(patientUuid);\n const [patientUuidMap] = usePatientUuidMap(patientUuid);\n const location = currentSession.sessionLocation?.uuid;\n const inEditMode = isLoading ? undefined : !!(patientUuid && patient);\n const showDummyData = useMemo(() => localStorage.getItem('openmrs:devtools') === 'true' && !inEditMode, [inEditMode]);\n const { data: photo } = usePatientPhoto(patient?.id);\n\n useEffect(() => {\n exportedInitialFormValuesForTesting = initialFormValues;\n }, [initialFormValues]);\n\n useEffect(() => {\n if (config?.sections) {\n const configuredSections = config.sections.map((section) => ({\n id: section,\n name: config.sectionDefinitions[section].name,\n fields: config.sectionDefinitions[section].fields,\n }));\n\n setSections(configuredSections);\n setFieldConfigs(config.fieldConfigurations);\n }\n }, [config.sections, config.fieldConfigurations, config.sectionDefinitions]);\n\n useEffect(() => {\n const addressTemplateXml = addressTemplate.results[0].value;\n\n if (!addressTemplateXml) {\n return;\n }\n\n const { addressFieldValues, addressValidationSchema } = parseAddressTemplateXml(addressTemplateXml);\n setValidationSchema((validationSchema) => validationSchema.concat(addressValidationSchema));\n\n // `=== false` is here on purpose (`inEditMode` is a triple state value).\n // We *only* want to set initial address field values when *creating* a patient.\n // We must wait until after loading for this info.\n if (inEditMode === false) {\n for (const { name, defaultValue } of addressFieldValues) {\n if (!initialAddressFieldValues[name]) {\n initialAddressFieldValues[name] = defaultValue;\n }\n }\n\n setInitialFormValues({ ...initialFormValues, ...initialAddressFieldValues });\n }\n }, [inEditMode, addressTemplate]);\n\n const onFormSubmit = async (values: FormValues, helpers: FormikHelpers<FormValues>) => {\n const abortController = new AbortController();\n helpers.setSubmitting(true);\n\n try {\n const createdPatientUuid = await savePatientForm(\n patientUuid,\n values,\n patientUuidMap,\n initialAddressFieldValues,\n patientIdentifiers,\n capturePhotoProps,\n config?.concepts?.patientPhotoUuid,\n location,\n config?.personAttributeSections,\n abortController,\n );\n\n showToast({\n description: inEditMode\n ? t('updationSuccessToastDescription', \"The patient's information has been successfully updated\")\n : t(\n 'registrationSuccessToastDescription',\n 'The patient can now be found by searching for them using their name or ID number',\n ),\n title: inEditMode\n ? t('updationSuccessToastTitle', 'Patient Details Updated')\n : t('registrationSuccessToastTitle', 'New Patient Created'),\n kind: 'success',\n });\n\n if (createdPatientUuid) {\n const redirectUrl = interpolateUrl(\n new URLSearchParams(search).get('afterUrl') ||\n interpolateString(config.links.submitButton, { patientUuid: createdPatientUuid }),\n );\n\n setTarget(redirectUrl);\n }\n } catch (error) {\n if (error.responseBody?.error?.globalErrors) {\n error.responseBody.error.globalErrors.forEach((error) => {\n showToast({ description: error.message });\n });\n } else if (error.responseBody?.error?.message) {\n showToast({ description: error.responseBody.error.message });\n } else {\n createErrorHandler()(error);\n }\n\n helpers.setSubmitting(false);\n }\n };\n\n return (\n <Formik\n enableReinitialize\n initialValues={initialFormValues}\n validationSchema={validationSchema}\n onSubmit={onFormSubmit}>\n {(props) => (\n <Form className={styles.form}>\n <BeforeSavePrompt when={props.dirty} redirect={target} />\n <div className={styles.formContainer}>\n <div>\n <div className={styles.stickyColumn}>\n <h4>\n {inEditMode ? t('edit', 'Edit') : t('createNew', 'Create New')} {t('patient', 'Patient')}\n </h4>\n {showDummyData && <DummyDataInput setValues={props.setValues} />}\n <p className={styles.label01}>{t('jumpTo', 'Jump to')}</p>\n {sections.map((section) => (\n <div className={`${styles.space05} ${styles.touchTarget}`} key={section.name}>\n <Link className={styles.linkName} onClick={() => scrollIntoView(section.id)}>\n <XAxis16 /> {section.name}\n </Link>\n </div>\n ))}\n <Button className={styles.submitButton} type=\"submit\">\n {inEditMode ? t('updatePatient', 'Update Patient') : t('registerPatient', 'Register Patient')}\n </Button>\n <Button className={styles.cancelButton} kind=\"tertiary\" onClick={cancelRegistration}>\n {t('cancel', 'Cancel')}\n </Button>\n </div>\n </div>\n <Grid className={styles.infoGrid}>\n <PatientRegistrationContext.Provider\n value={{\n identifierTypes: patientIdentifiers,\n validationSchema,\n setValidationSchema,\n fieldConfigs,\n values: props.values,\n inEditMode,\n setFieldValue: props.setFieldValue,\n setCapturePhotoProps,\n currentPhoto: photo?.imageSrc,\n }}>\n {sections.map((section, index) => (\n <div key={index}>{getSection(section, index)}</div>\n ))}\n </PatientRegistrationContext.Provider>\n </Grid>\n </div>\n </Form>\n )}\n </Formik>\n );\n};\n\n/**\n * @internal\n * Just exported for testing\n */\nexport { exportedInitialFormValuesForTesting as initialFormValues };\n","import React from 'react';\nimport { BrowserRouter, Route } from 'react-router-dom';\nimport { Grid, Row } from 'carbon-components-react';\nimport { ExtensionSlot } from '@openmrs/esm-framework';\nimport { Resources, ResourcesContext } from './offline.resources';\nimport { SavePatientForm } from './patient-registration/form-manager';\nimport { PatientRegistration, PatientRegistrationProps } from './patient-registration/patient-registration.component';\n\nexport interface RootProps extends PatientRegistrationProps, Resources {\n savePatientForm: SavePatientForm;\n}\n\nexport default function Root({\n currentSession,\n addressTemplate,\n relationshipTypes,\n patientIdentifiers,\n savePatientForm,\n}: RootProps) {\n const resources = {\n currentSession,\n addressTemplate,\n relationshipTypes,\n patientIdentifiers,\n };\n\n return (\n <ResourcesContext.Provider value={resources}>\n <BrowserRouter basename={window['getOpenmrsSpaBase']()}>\n <main className=\"omrs-main-content\" style={{ backgroundColor: 'white' }}>\n <Grid>\n <Row>\n <ExtensionSlot extensionSlotName=\"breadcrumbs-slot\" />\n </Row>\n <Route\n exact\n path=\"/patient-registration\"\n render={(props) => <PatientRegistration savePatientForm={savePatientForm} {...props} />}\n />\n <Route\n exact\n path=\"/patient/:patientUuid/edit\"\n render={(props) => <PatientRegistration savePatientForm={savePatientForm} {...props} />}\n />\n </Grid>\n </main>\n </BrowserRouter>\n </ResourcesContext.Provider>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".-esm-patient-registration__field__productiveHeading02___0\\\\+2Gm{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;margin-bottom:1rem}.-esm-patient-registration__field__productiveHeading02Light___bbKeq{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;margin-bottom:1rem;color:#525252}.-esm-patient-registration__field__grid___g21pQ{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}.-esm-patient-registration__field__patientPhoto___9mWMr{display:flex;justify-content:center}.-esm-patient-registration__field__nameField___uPmod{grid-row:1;grid-column:1}.-esm-patient-registration__field__photoExtension___IqCnX{margin-bottom:1rem;grid-row:1;grid-column:2;justify-self:center}.-esm-patient-registration__field__sexField___F8TIv{margin-bottom:1rem}.-esm-patient-registration__field__identifierLabelText___bdyJF{display:flex;align-items:center}.-esm-patient-registration__field__setIDNumberButton___XziAX{margin-bottom:1rem}.-esm-patient-registration__field__setIDNumberButton___XziAX>svg{margin-left:.5rem}.omrs-breakpoint-lt-desktop .-esm-patient-registration__field__grid___g21pQ{grid-template-columns:1fr;grid-template-rows:auto auto}.omrs-breakpoint-lt-desktop .-esm-patient-registration__field__sexField___F8TIv{grid-row:1}.omrs-breakpoint-lt-desktop .-esm-patient-registration__field__ageField___fRiK9{grid-row:2}.omrs-breakpoint-lt-desktop .-esm-patient-registration__field__nameField___uPmod{grid-row:2;grid-column:1}.omrs-breakpoint-lt-desktop .-esm-patient-registration__field__photoExtension___IqCnX{grid-column:1;grid-row:1;justify-self:start}.omrs-breakpoint-lt-desktop .-esm-patient-registration__field__radioButton___d7GuU label{height:3rem !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/patient-registration/field/field.scss\",\"webpack://./../../node_modules/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/_styles.scss\",\"webpack://./../../node_modules/carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/_spacing.scss\"],\"names\":[],\"mappings\":\"AAGA,gEC4gBI,cAqLsB,CArLtB,eAqLsB,CArLtB,iBAqLsB,CArLtB,gBAqLsB,CD/rBxB,kBAAA,CAGF,oECugBI,cAqLsB,CArLtB,eAqLsB,CArLtB,iBAqLsB,CArLtB,gBAqLsB,CD1rBxB,kBAAA,CACA,aAAA,CAGF,gDACE,YAAA,CACA,6BAAA,CACA,eAAA,CAGF,wDACE,YAAA,CACA,sBAAA,CAGF,qDACE,UAAA,CACA,aAAA,CAGF,0DACE,kBAAA,CACA,UAAA,CACA,aAAA,CACA,mBAAA,CAGF,oDACE,kBEPmB,CFUrB,+DACE,YAAA,CACA,kBAAA,CAGF,6DACE,kBEhBmB,CFmBrB,iEACE,iBE9BmB,CFkCnB,4EACE,yBAAA,CACA,4BAAA,CAEF,gFACE,UAAA,CAEF,gFACE,UAAA,CAEF,iFACE,UAAA,CACA,aAAA,CAEF,sFACE,aAAA,CACA,UAAA,CACA,kBAAA,CAEF,yFACE,sBAAA\",\"sourcesContent\":[\"@import \\\"~carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/styles\\\";\\n@import \\\"~carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/spacing\\\";\\n\\n.productiveHeading02 {\\n @include carbon--type-style(\\\"productive-heading-02\\\");\\n margin-bottom: 1rem;\\n}\\n\\n.productiveHeading02Light {\\n @include carbon--type-style(\\\"productive-heading-02\\\");\\n margin-bottom: 1rem;\\n color: #525252;\\n}\\n\\n.grid {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n column-gap: 1rem;\\n}\\n\\n.patientPhoto {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.nameField {\\n grid-row: 1;\\n grid-column: 1;\\n}\\n\\n.photoExtension {\\n margin-bottom: 1rem;\\n grid-row: 1;\\n grid-column: 2;\\n justify-self: center;\\n}\\n\\n.sexField {\\n margin-bottom: $spacing-05;\\n}\\n\\n.identifierLabelText {\\n display: flex;\\n align-items: center;\\n}\\n\\n.setIDNumberButton {\\n margin-bottom: $spacing-05;\\n}\\n\\n.setIDNumberButton > svg {\\n margin-left: $spacing-03;\\n}\\n\\n:global(.omrs-breakpoint-lt-desktop){\\n .grid {\\n grid-template-columns: 1fr;\\n grid-template-rows: auto auto;\\n }\\n .sexField {\\n grid-row: 1;\\n }\\n .ageField {\\n grid-row: 2;\\n }\\n .nameField {\\n grid-row: 2;\\n grid-column: 1;\\n }\\n .photoExtension {\\n grid-column: 1;\\n grid-row: 1;\\n justify-self: start;\\n }\\n .radioButton label {\\n height: $spacing-09 !important;\\n }\\n}\",\"//\\n// Copyright IBM Corp. 2018, 2018\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n@import '../layout/breakpoint';\\n@import 'font-family';\\n@import 'scale';\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$caption-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$helper-text-01: (\\n font-size: carbon--type-scale(1),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-01: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-02: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-01: $heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-02: $heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n // Extra digit needed for precision in Chrome\\n line-height: 1.199,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-07: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-01: map-merge(\\n $heading-01,\\n (\\n line-height: 1.25,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-02: map-merge(\\n $heading-02,\\n (\\n line-height: 1.5,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(5),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-paragraph-01: (\\n font-size: carbon--type-scale(6),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.334,\\n letter-spacing: 0,\\n breakpoints: (\\n lg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n);\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-01: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.3,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(5),\\n ),\\n lg: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-02: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-01: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-02: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.16,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-03: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-04: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$tokens: (\\n caption-01: $caption-01,\\n label-01: $label-01,\\n helper-text-01: $helper-text-01,\\n body-short-01: $body-short-01,\\n body-short-02: $body-short-02,\\n body-long-01: $body-long-01,\\n body-long-02: $body-long-02,\\n code-01: $code-01,\\n code-02: $code-02,\\n heading-01: $heading-01,\\n heading-02: $heading-02,\\n productive-heading-01: $productive-heading-01,\\n productive-heading-02: $productive-heading-02,\\n productive-heading-03: $productive-heading-03,\\n productive-heading-04: $productive-heading-04,\\n productive-heading-05: $productive-heading-05,\\n productive-heading-06: $productive-heading-06,\\n productive-heading-07: $productive-heading-07,\\n expressive-paragraph-01: $expressive-paragraph-01,\\n expressive-heading-01: $expressive-heading-01,\\n expressive-heading-02: $expressive-heading-02,\\n expressive-heading-03: $expressive-heading-03,\\n expressive-heading-04: $expressive-heading-04,\\n expressive-heading-05: $expressive-heading-05,\\n expressive-heading-06: $expressive-heading-06,\\n quotation-01: $quotation-01,\\n quotation-02: $quotation-02,\\n display-01: $display-01,\\n display-02: $display-02,\\n display-03: $display-03,\\n display-04: $display-04,\\n);\\n\\n/// @param {Map} $map\\n/// @access public\\n/// @group @carbon/type\\n@mixin properties($map) {\\n @each $name, $value in $map {\\n #{$name}: $value;\\n }\\n}\\n\\n/// @param {Number} $value - Number with units\\n/// @return {Number} Without units\\n/// @access public\\n/// @group @carbon/type\\n@function strip-unit($value) {\\n @return $value / ($value * 0 + 1);\\n}\\n\\n/// This helper includes fluid type styles for the given token value. Fluid type\\n/// means that the `font-size` is computed using `calc()` in order to be\\n/// determined by the screen size instead of a breakpoint. As a result, fluid\\n/// styles should be used with caution in fixed width contexts.\\n///\\n/// In addition, we make use of %-based line-heights so that the line-height of\\n/// each type style is computed correctly due to the dynamic nature of the\\n/// `font-size`.\\n///\\n/// Most of the logic for this work comes from CSS Tricks:\\n/// https://css-tricks.com/snippets/css/fluid-typography/\\n///\\n/// @param {Map} $type-styles - The value of a given type token\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Custom breakpoints to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type($type-styles, $breakpoints: $carbon--grid-breakpoints) {\\n // Include the initial styles for the given token by default without any\\n // media query guard. This includes `font-size` as a fallback in the case\\n // that a browser does not support `calc()`\\n @include properties(map-remove($type-styles, breakpoints));\\n // We also need to include the `sm` styles by default since they don't\\n // appear in the fluid styles for tokens\\n @include fluid-type-size($type-styles, sm, $breakpoints);\\n\\n // Finally, we need to go through all the breakpoints defined in the type\\n // token and apply the properties and fluid type size for that given\\n // breakpoint\\n @each $name, $values in map-get($type-styles, breakpoints) {\\n @include carbon--breakpoint($name) {\\n @include properties($values);\\n @include fluid-type-size($type-styles, $name, $breakpoints);\\n }\\n }\\n}\\n\\n/// Computes the fluid `font-size` for a given type style and breakpoint\\n/// @param {Map} $type-styles - The styles for a given token\\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - The breakpoints for the grid system\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type-size(\\n $type-styles,\\n $name,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n // Get the information about the breakpoint we're currently working in. Useful\\n // for getting initial width information\\n $breakpoint: map-get($breakpoints, $name);\\n\\n // Our fluid styles are captured under the 'breakpoints' property in our type\\n // styles map. These define what values to treat as `max-` variables below\\n $fluid-sizes: map-get($type-styles, breakpoints);\\n $fluid-breakpoint: ();\\n // Special case for `sm` because the styles for small are on the type style\\n // directly\\n @if $name == sm {\\n $fluid-breakpoint: map-remove($type-styles, breakpoints);\\n } @else {\\n $fluid-breakpoint: map-get($fluid-sizes, $name);\\n }\\n\\n // Initialize our font-sizes to the default size for the type style\\n $max-font-size: map-get($type-styles, font-size);\\n $min-font-size: map-get($type-styles, font-size);\\n @if map-has-key($fluid-breakpoint, font-size) {\\n $min-font-size: map-get($fluid-breakpoint, font-size);\\n }\\n\\n // Initialize our min and max width to the width of the current breakpoint\\n $max-vw: map-get($breakpoint, width);\\n $min-vw: map-get($breakpoint, width);\\n\\n // We can use `breakpoint-next` to see if there is another breakpoint we can\\n // use to update `max-font-size` and `max-vw` with larger values\\n $next-breakpoint-available: carbon--breakpoint-next($name, $breakpoints);\\n $next-fluid-breakpoint-name: null;\\n\\n // We need to figure out what the next available fluid breakpoint is for our\\n // given $type-styles. In this loop we try and iterate through breakpoints\\n // until we either manually set $next-breakpoint-available to null or\\n // `breakpoint-next` returns null.\\n @while $next-breakpoint-available {\\n @if map-has-key($fluid-sizes, $next-breakpoint-available) {\\n $next-fluid-breakpoint-name: $next-breakpoint-available;\\n $next-breakpoint-available: null;\\n } @else {\\n $next-breakpoint-available: carbon--breakpoint-next(\\n $next-breakpoint-available,\\n $breakpoints\\n );\\n }\\n }\\n\\n // If we have found the next available fluid breakpoint name, then we know\\n // that we have values that we can use to set max-font-size and max-vw as both\\n // values derive from the next breakpoint\\n @if $next-fluid-breakpoint-name {\\n $next-fluid-breakpoint: map-get($breakpoints, $next-fluid-breakpoint-name);\\n $max-font-size: map-get(\\n map-get($fluid-sizes, $next-fluid-breakpoint-name),\\n font-size\\n );\\n $max-vw: map-get($next-fluid-breakpoint, width);\\n\\n // prettier-ignore\\n font-size: calc(#{$min-font-size} +\\n #{strip-unit($max-font-size - $min-font-size)} *\\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\\n );\\n } @else {\\n // Otherwise, just default to setting the font size found from the type\\n // style or the given fluid breakpoint in the type style\\n font-size: $min-font-size;\\n }\\n}\\n\\n// TODO move following variable and `custom-property` mixin into shared file for\\n// both `@carbon/type` and `@carbon/themes`\\n\\n/// @access private\\n/// @group @carbon/type\\n$custom-property-prefix: 'cds' !default;\\n\\n/// @access private\\n/// @group @carbon/type\\n@mixin custom-properties($name, $value) {\\n @each $property, $value in $value {\\n #{$property}: var(\\n --#{$custom-property-prefix}-#{$name}-#{$property},\\n #{$value}\\n );\\n }\\n}\\n\\n/// Helper mixin to include the styles for a given token in any selector in your\\n/// project. Also includes an optional fluid option that will enable fluid\\n/// styles for the token if they are defined. Fluid styles will cause the\\n/// token's font-size to be computed based on the viewport size. As a result, use\\n/// with caution in fixed contexts.\\n/// @param {String} $name - The name of the token to get the styles for\\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Provide a custom breakpoint map to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin carbon--type-style(\\n $name,\\n $fluid: false,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n @if not map-has-key($tokens, $name) {\\n @error 'Unable to find a token with the name: `#{$name}`';\\n }\\n\\n $token: map-get($tokens, $name);\\n\\n // If $fluid is set to true and the token has breakpoints defined for fluid\\n // styles, delegate to the fluid-type helper for the given token\\n @if $fluid == true and map-has-key($token, 'breakpoints') {\\n @include fluid-type($token, $breakpoints);\\n } @else {\\n @if global-variable-exists('feature-flags') and\\n map-get($feature-flags, 'enable-css-custom-properties')\\n {\\n @include custom-properties($name, $token);\\n } @else {\\n // Otherwise, we just include all the property declarations directly on the\\n // selector\\n @include properties(map-remove($token, 'breakpoints'));\\n }\\n }\\n}\\n\",\"// Code generated by @carbon/layout. DO NOT EDIT.\\n//\\n// Copyright IBM Corp. 2018, 2019\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-01: 0.125rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-02: 0.25rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-03: 0.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-04: 0.75rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-05: 1rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-06: 1.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-07: 2rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-08: 2.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-09: 3rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-10: 4rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-11: 5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-12: 6rem !default;\\n\\n/// @type List\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing: (\\n $carbon--spacing-01,\\n $carbon--spacing-02,\\n $carbon--spacing-03,\\n $carbon--spacing-04,\\n $carbon--spacing-05,\\n $carbon--spacing-06,\\n $carbon--spacing-07,\\n $carbon--spacing-08,\\n $carbon--spacing-09,\\n $carbon--spacing-10,\\n $carbon--spacing-11,\\n $carbon--spacing-12\\n);\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-01\\n$spacing-01: $carbon--spacing-01 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-02\\n$spacing-02: $carbon--spacing-02 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-03\\n$spacing-03: $carbon--spacing-03 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-04\\n$spacing-04: $carbon--spacing-04 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-05\\n$spacing-05: $carbon--spacing-05 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-06\\n$spacing-06: $carbon--spacing-06 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-07\\n$spacing-07: $carbon--spacing-07 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-08\\n$spacing-08: $carbon--spacing-08 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-09\\n$spacing-09: $carbon--spacing-09 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-10\\n$spacing-10: $carbon--spacing-10 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-11\\n$spacing-11: $carbon--spacing-11 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-12\\n$spacing-12: $carbon--spacing-12 !default;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"productiveHeading02\": \"-esm-patient-registration__field__productiveHeading02___0+2Gm\",\n\t\"productiveHeading02Light\": \"-esm-patient-registration__field__productiveHeading02Light___bbKeq\",\n\t\"grid\": \"-esm-patient-registration__field__grid___g21pQ\",\n\t\"patientPhoto\": \"-esm-patient-registration__field__patientPhoto___9mWMr\",\n\t\"nameField\": \"-esm-patient-registration__field__nameField___uPmod\",\n\t\"photoExtension\": \"-esm-patient-registration__field__photoExtension___IqCnX\",\n\t\"sexField\": \"-esm-patient-registration__field__sexField___F8TIv\",\n\t\"identifierLabelText\": \"-esm-patient-registration__field__identifierLabelText___bdyJF\",\n\t\"setIDNumberButton\": \"-esm-patient-registration__field__setIDNumberButton___XziAX\",\n\t\"ageField\": \"-esm-patient-registration__field__ageField___fRiK9\",\n\t\"radioButton\": \"-esm-patient-registration__field__radioButton___d7GuU\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".-esm-patient-registration__autosuggest__suggestions___v5o3w{position:relative;border-top-width:0;list-style:none;margin-top:0;max-height:143px;overflow-y:auto;padding-left:0;width:100%;position:absolute;left:0;background-color:#fff;margin-bottom:20px;z-index:99}.-esm-patient-registration__autosuggest__suggestions___v5o3w li{padding:1rem;line-height:1.29;color:#525252;border-bottom:1px solid #8d8d8d}.-esm-patient-registration__autosuggest__suggestions___v5o3w li:hover{background-color:#e5e5e5;color:#161616;cursor:pointer}.-esm-patient-registration__autosuggest__suggestions___v5o3w li:not(:last-of-type){border-bottom:1px solid #999}.-esm-patient-registration__autosuggest__autocomplete___it56z{position:relative}.-esm-patient-registration__autosuggest__autocompleteSearch___sc5fh{width:100%}.-esm-patient-registration__autosuggest__suggestions___v5o3w a{color:inherit;text-decoration:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/patient-registration/input/custom-input/autosuggest/autosuggest.scss\"],\"names\":[],\"mappings\":\"AAAA,6DACI,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,YAAA,CACA,gBAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,iBAAA,CACA,MAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CAGJ,gEACI,YAAA,CACA,gBAAA,CACA,aAAA,CACA,+BAAA,CAGJ,sEACI,wBAAA,CACA,aAAA,CACA,cAAA,CAGJ,mFACI,4BAAA,CAGJ,8DACI,iBAAA,CAGJ,oEACI,UAAA,CAGJ,+DACI,aAAA,CACA,oBAAA\",\"sourcesContent\":[\".suggestions {\\n position: relative;\\n border-top-width: 0;\\n list-style: none;\\n margin-top: 0;\\n max-height: 143px;\\n overflow-y: auto;\\n padding-left: 0;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n background-color: #fff;\\n margin-bottom: 20px;\\n z-index: 99;\\n}\\n\\n.suggestions li {\\n padding: 1rem;\\n line-height: 1.29;\\n color: #525252;\\n border-bottom: 1px solid #8d8d8d;\\n}\\n\\n.suggestions li:hover {\\n background-color: #e5e5e5;\\n color: #161616;\\n cursor: pointer;\\n}\\n\\n.suggestions li:not(:last-of-type) {\\n border-bottom: 1px solid #999;\\n}\\n\\n.autocomplete {\\n position: relative;\\n}\\n\\n.autocompleteSearch {\\n width: 100%;\\n}\\n\\n.suggestions a {\\n color: inherit;\\n text-decoration: none;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"suggestions\": \"-esm-patient-registration__autosuggest__suggestions___v5o3w\",\n\t\"autocomplete\": \"-esm-patient-registration__autosuggest__autocomplete___it56z\",\n\t\"autocompleteSearch\": \"-esm-patient-registration__autosuggest__autocompleteSearch___sc5fh\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79}.-esm-patient-registration__input__title___4PKlg{color:var(--omrs-color-brand-teal)}.-esm-patient-registration__input__submit___mloB4{width:250px}.-esm-patient-registration__input__submit___mloB4:hover{cursor:pointer}.-esm-patient-registration__input__cancelButton___blAcs{width:11.688rem}.-esm-patient-registration__input__submitButton___SofD2{margin-bottom:1rem;width:11.688rem;display:block}.-esm-patient-registration__input__infoGrid___xohlq{width:100%;margin-bottom:40vh;margin-top:1rem}.-esm-patient-registration__input__label01___fwQQq{font-size:.75rem;font-weight:400;line-height:1.34;letter-spacing:.32px;margin-top:1rem;margin-bottom:1rem;color:#8d8d8d}.-esm-patient-registration__input__productiveHeading02___7pE9K{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;color:#8d8d8d;cursor:pointer}.-esm-patient-registration__input__space05___9oNC\\\\+{margin:1rem 0 1rem 0}.-esm-patient-registration__input__formContainer___YE8UP{display:flex;width:100%}.-esm-patient-registration__input__stickyColumn___KQudo{position:sticky;margin-top:1rem;top:4rem}.-esm-patient-registration__input__touchTarget___lFvgc a:active{color:#161616}.-esm-patient-registration__input__linkName___C8vKy{color:#525252;line-height:1.38;font-size:1rem;font-weight:600}.-esm-patient-registration__input__linkName___C8vKy:active{text-decoration:none;color:#161616}.-esm-patient-registration__input__linkName___C8vKy:hover{text-decoration:none;color:#161616;cursor:pointer}.-esm-patient-registration__input__main___rng6t{background-color:#fff}.-esm-patient-registration__input__fieldRow___5TD7U{display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:wrap}.-esm-patient-registration__input__subFieldRow___zGAH4{margin-bottom:5px}.-esm-patient-registration__input__label___65tRW{font-size:.75rem;font-weight:400;line-height:1.34;letter-spacing:.32px;color:#525252}.-esm-patient-registration__input__textID___F\\\\+F-t{margin-bottom:1rem}.-esm-patient-registration__input__requiredField___x0TVf{color:var(--omrs-color-danger)}.-esm-patient-registration__input__input___JYX4d{margin-right:5px}.-esm-patient-registration__input__checkboxField___gmx7u{display:flex;flex-direction:row;justify-content:flex-start;width:400px;margin-left:10px}.-esm-patient-registration__input__textInput___QJYjz{width:250px !important;height:40px !important}.-esm-patient-registration__input__numberInput___IGlx4{width:200px !important;height:40px !important}.-esm-patient-registration__input__checkboxInput___IVRIk{height:1.5rem !important;width:1.5rem !important;margin-top:8px}.-esm-patient-registration__input__selectInput___yrzZ-{width:150px !important;height:40px !important}.-esm-patient-registration__input__dateInput___2shrY{width:200px !important;height:40px !important;font-size:large !important}.-esm-patient-registration__input__telInput___HxQe3{width:250px !important;height:40px !important}.-esm-patient-registration__input__errorInput___aW2qL{border:2px solid var(--omrs-color-danger) !important;padding-left:.875rem !important}.-esm-patient-registration__input__errorMessage___cbdW2{color:var(--omrs-color-danger);align-self:center}.-esm-patient-registration__input__dummyData___GFQGF{cursor:pointer;margin-left:5px}.-esm-patient-registration__input__IDInput___6B3\\\\+s{display:grid;grid-template-columns:1fr auto;align-items:center;max-width:27rem}.-esm-patient-registration__input__trashCan___usc53{color:#da1e28}.omrs-breakpoint-lt-desktop .-esm-patient-registration__input__IDInput___6B3\\\\+s{max-width:unset;width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss\",\"webpack://./src/patient-registration/patient-registration.scss\",\"webpack://./../../node_modules/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/_styles.scss\",\"webpack://./../../node_modules/carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/_spacing.scss\",\"webpack://./src/patient-registration/input/input.scss\"],\"names\":[],\"mappings\":\"AAyCA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CCxCF,iDACE,kCAAA,CAGF,kDACE,WAAA,CAGF,wDACE,cAAA,CAGF,wDACE,eAAA,CAGF,wDACE,kBAAA,CACA,eAAA,CACA,aAAA,CAGF,oDACE,UAAA,CACA,kBAAA,CACA,eAAA,CAGF,mDC+eI,gBAqLsB,CArLtB,eAqLsB,CArLtB,gBAqLsB,CArLtB,oBAqLsB,CDlqBxB,eEHmB,CFInB,kBEJmB,CFKnB,aDjCM,CCoCR,+DCweI,cAqLsB,CArLtB,eAqLsB,CArLtB,iBAqLsB,CArLtB,gBAqLsB,CD3pBxB,aDtCM,CCuCN,cAAA,CAGF,oDACE,oBAAA,CAGF,yDACE,YAAA,CACA,UAAA,CAGF,wDACE,eAAA,CACA,eAAA,CAEA,QAAA,CAGF,gEACE,aDpDe,CCuDjB,oDACE,aDzDc,CC0Dd,gBAAA,CACA,cAAA,CACA,eAAA,CAEA,2DACE,oBAAA,CACA,aD/Da,CCkEf,0DACE,oBAAA,CACA,aDpEa,CCqEb,cAAA,CAIJ,gDACE,qBAAA,CGlFF,oDACE,YAAA,CACA,kBAAA,CACA,0BAAA,CACA,cAAA,CAGF,uDACE,iBAAA,CAGF,iDFkgBI,gBAqLsB,CArLtB,eAqLsB,CArLtB,gBAqLsB,CArLtB,oBAqLsB,CErrBxB,aJVQ,CIaV,mDACE,kBDYmB,CCTrB,yDACE,8BAAA,CAGF,iDACE,gBAAA,CAGF,yDACE,YAAA,CACA,kBAAA,CACA,0BAAA,CACA,WAAA,CACA,gBAAA,CAGF,qDACE,sBAAA,CACA,sBAAA,CAGF,uDACE,sBAAA,CACA,sBAAA,CAGF,yDACE,wBAAA,CACA,uBAAA,CACA,cAAA,CAGF,uDACE,sBAAA,CACA,sBAAA,CAGF,qDACE,sBAAA,CACA,sBAAA,CACA,0BAAA,CAGF,oDACE,sBAAA,CACA,sBAAA,CAGF,sDACE,oDAAA,CACA,+BAAA,CAGF,wDACE,8BAAA,CACA,iBAAA,CAGF,qDACE,cAAA,CACA,eAAA,CAGF,oDACE,YAAA,CACA,8BAAA,CACA,kBAAA,CACA,eAAA,CAGF,oDACE,aJzEO,CI6EP,gFACE,eAAA,CACA,UAAA\",\"sourcesContent\":[\"$ui-01: #f4f4f4;\\n$ui-02: #ffffff;\\n$ui-03: #e0e0e0;\\n$ui-04: #8d8d8d;\\n$ui-05: #161616;\\n$text-02: #525252;\\n$text-03: #a8a8a8;\\n$ui-background: #ffffff;\\n$color-gray-30: #c6c6c6;\\n$color-gray-70: #525252;\\n$color-gray-100: #161616;\\n$color-blue-60-2: #0f62fe;\\n$color-blue-10: #edf5ff;\\n$color-yellow-50: #feecae;\\n$carbon--red-50: #fa4d56;\\n$inverse-link: #78a9ff;\\n$support-02: #24a148;\\n$inverse-support-03: #f1c21b;\\n$warning-background: #fff8e1;\\n$openmrs-background-grey: #f4f4f4;\\n$danger: #da1e28;\\n$interactive-01: #0f62fe;\\n$field-01: #f4f4f4;\\n$grey-2: #e0e0e0;\\n$labeldropdown: #c6c6c6;\\n\\n@mixin brand-01($property) {\\n #{$property}: #005d5d;\\n #{$property}: var(--brand-01);\\n}\\n\\n@mixin brand-02($property) {\\n #{$property}: #004144;\\n #{$property}: var(--brand-02);\\n}\\n\\n@mixin brand-03($property) {\\n #{$property}: #007d79;\\n #{$property}: var(--brand-03);\\n}\\n\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n}\\n\\n$breakpoint-phone-min: 0px;\\n$breakpoint-phone-max: 600px;\\n$breakpoint-tablet-min: 601px;\\n$breakpoint-tablet-max: 1200px;\\n$breakpoint-desktop-min: 1201px;\\n$breakpoint-desktop-max: 99999999px;\\n\\n/* These color variables will be removed in a future release */\\n$brand-teal-01: #007d79;\\n$brand-01: #005d5d;\\n$brand-02: #004144;\\n\",\"@import \\\"~carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/styles\\\";\\n@import \\\"~carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/spacing\\\";\\n@import \\\"~@openmrs/esm-styleguide/src/vars\\\";\\n\\n.title {\\n color: var(--omrs-color-brand-teal);\\n}\\n\\n.submit {\\n width: 250px;\\n}\\n\\n.submit:hover {\\n cursor: pointer;\\n}\\n\\n.cancelButton {\\n width: 11.688rem;\\n}\\n\\n.submitButton {\\n margin-bottom: 1rem;\\n width: 11.688rem;\\n display: block;\\n}\\n\\n.infoGrid {\\n width: 100%;\\n margin-bottom: 40vh;\\n margin-top: 1rem;\\n}\\n\\n.label01 {\\n @include carbon--type-style(\\\"label-01\\\");\\n margin-top: $spacing-05;\\n margin-bottom: $spacing-05;\\n color: $ui-04;\\n}\\n\\n.productiveHeading02 {\\n @include carbon--type-style(\\\"productive-heading-02\\\");\\n color: $ui-04;\\n cursor: pointer;\\n}\\n\\n.space05 {\\n margin: $spacing-05 0 $spacing-05 0;\\n}\\n\\n.formContainer {\\n display: flex;\\n width: 100%;\\n}\\n\\n.stickyColumn {\\n position: sticky;\\n margin-top: 1rem;\\n // 3rem for the nav height and 1rem for top margin\\n top: 4rem;\\n}\\n\\n.touchTarget a:active {\\n color: $color-gray-100;\\n}\\n\\n.linkName {\\n color: $color-gray-70;\\n line-height: 1.38;\\n font-size: 1rem;\\n font-weight: 600;\\n\\n &:active {\\n text-decoration: none;\\n color: $color-gray-100;\\n }\\n\\n &:hover {\\n text-decoration: none;\\n color: $color-gray-100;\\n cursor: pointer;\\n }\\n}\\n\\n.main {\\n background-color: white;\\n}\\n\\n\",\"//\\n// Copyright IBM Corp. 2018, 2018\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n@import '../layout/breakpoint';\\n@import 'font-family';\\n@import 'scale';\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$caption-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$helper-text-01: (\\n font-size: carbon--type-scale(1),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-01: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-02: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-01: $heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-02: $heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n // Extra digit needed for precision in Chrome\\n line-height: 1.199,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-07: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-01: map-merge(\\n $heading-01,\\n (\\n line-height: 1.25,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-02: map-merge(\\n $heading-02,\\n (\\n line-height: 1.5,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(5),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-paragraph-01: (\\n font-size: carbon--type-scale(6),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.334,\\n letter-spacing: 0,\\n breakpoints: (\\n lg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n);\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-01: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.3,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(5),\\n ),\\n lg: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-02: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-01: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-02: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.16,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-03: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-04: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$tokens: (\\n caption-01: $caption-01,\\n label-01: $label-01,\\n helper-text-01: $helper-text-01,\\n body-short-01: $body-short-01,\\n body-short-02: $body-short-02,\\n body-long-01: $body-long-01,\\n body-long-02: $body-long-02,\\n code-01: $code-01,\\n code-02: $code-02,\\n heading-01: $heading-01,\\n heading-02: $heading-02,\\n productive-heading-01: $productive-heading-01,\\n productive-heading-02: $productive-heading-02,\\n productive-heading-03: $productive-heading-03,\\n productive-heading-04: $productive-heading-04,\\n productive-heading-05: $productive-heading-05,\\n productive-heading-06: $productive-heading-06,\\n productive-heading-07: $productive-heading-07,\\n expressive-paragraph-01: $expressive-paragraph-01,\\n expressive-heading-01: $expressive-heading-01,\\n expressive-heading-02: $expressive-heading-02,\\n expressive-heading-03: $expressive-heading-03,\\n expressive-heading-04: $expressive-heading-04,\\n expressive-heading-05: $expressive-heading-05,\\n expressive-heading-06: $expressive-heading-06,\\n quotation-01: $quotation-01,\\n quotation-02: $quotation-02,\\n display-01: $display-01,\\n display-02: $display-02,\\n display-03: $display-03,\\n display-04: $display-04,\\n);\\n\\n/// @param {Map} $map\\n/// @access public\\n/// @group @carbon/type\\n@mixin properties($map) {\\n @each $name, $value in $map {\\n #{$name}: $value;\\n }\\n}\\n\\n/// @param {Number} $value - Number with units\\n/// @return {Number} Without units\\n/// @access public\\n/// @group @carbon/type\\n@function strip-unit($value) {\\n @return $value / ($value * 0 + 1);\\n}\\n\\n/// This helper includes fluid type styles for the given token value. Fluid type\\n/// means that the `font-size` is computed using `calc()` in order to be\\n/// determined by the screen size instead of a breakpoint. As a result, fluid\\n/// styles should be used with caution in fixed width contexts.\\n///\\n/// In addition, we make use of %-based line-heights so that the line-height of\\n/// each type style is computed correctly due to the dynamic nature of the\\n/// `font-size`.\\n///\\n/// Most of the logic for this work comes from CSS Tricks:\\n/// https://css-tricks.com/snippets/css/fluid-typography/\\n///\\n/// @param {Map} $type-styles - The value of a given type token\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Custom breakpoints to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type($type-styles, $breakpoints: $carbon--grid-breakpoints) {\\n // Include the initial styles for the given token by default without any\\n // media query guard. This includes `font-size` as a fallback in the case\\n // that a browser does not support `calc()`\\n @include properties(map-remove($type-styles, breakpoints));\\n // We also need to include the `sm` styles by default since they don't\\n // appear in the fluid styles for tokens\\n @include fluid-type-size($type-styles, sm, $breakpoints);\\n\\n // Finally, we need to go through all the breakpoints defined in the type\\n // token and apply the properties and fluid type size for that given\\n // breakpoint\\n @each $name, $values in map-get($type-styles, breakpoints) {\\n @include carbon--breakpoint($name) {\\n @include properties($values);\\n @include fluid-type-size($type-styles, $name, $breakpoints);\\n }\\n }\\n}\\n\\n/// Computes the fluid `font-size` for a given type style and breakpoint\\n/// @param {Map} $type-styles - The styles for a given token\\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - The breakpoints for the grid system\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type-size(\\n $type-styles,\\n $name,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n // Get the information about the breakpoint we're currently working in. Useful\\n // for getting initial width information\\n $breakpoint: map-get($breakpoints, $name);\\n\\n // Our fluid styles are captured under the 'breakpoints' property in our type\\n // styles map. These define what values to treat as `max-` variables below\\n $fluid-sizes: map-get($type-styles, breakpoints);\\n $fluid-breakpoint: ();\\n // Special case for `sm` because the styles for small are on the type style\\n // directly\\n @if $name == sm {\\n $fluid-breakpoint: map-remove($type-styles, breakpoints);\\n } @else {\\n $fluid-breakpoint: map-get($fluid-sizes, $name);\\n }\\n\\n // Initialize our font-sizes to the default size for the type style\\n $max-font-size: map-get($type-styles, font-size);\\n $min-font-size: map-get($type-styles, font-size);\\n @if map-has-key($fluid-breakpoint, font-size) {\\n $min-font-size: map-get($fluid-breakpoint, font-size);\\n }\\n\\n // Initialize our min and max width to the width of the current breakpoint\\n $max-vw: map-get($breakpoint, width);\\n $min-vw: map-get($breakpoint, width);\\n\\n // We can use `breakpoint-next` to see if there is another breakpoint we can\\n // use to update `max-font-size` and `max-vw` with larger values\\n $next-breakpoint-available: carbon--breakpoint-next($name, $breakpoints);\\n $next-fluid-breakpoint-name: null;\\n\\n // We need to figure out what the next available fluid breakpoint is for our\\n // given $type-styles. In this loop we try and iterate through breakpoints\\n // until we either manually set $next-breakpoint-available to null or\\n // `breakpoint-next` returns null.\\n @while $next-breakpoint-available {\\n @if map-has-key($fluid-sizes, $next-breakpoint-available) {\\n $next-fluid-breakpoint-name: $next-breakpoint-available;\\n $next-breakpoint-available: null;\\n } @else {\\n $next-breakpoint-available: carbon--breakpoint-next(\\n $next-breakpoint-available,\\n $breakpoints\\n );\\n }\\n }\\n\\n // If we have found the next available fluid breakpoint name, then we know\\n // that we have values that we can use to set max-font-size and max-vw as both\\n // values derive from the next breakpoint\\n @if $next-fluid-breakpoint-name {\\n $next-fluid-breakpoint: map-get($breakpoints, $next-fluid-breakpoint-name);\\n $max-font-size: map-get(\\n map-get($fluid-sizes, $next-fluid-breakpoint-name),\\n font-size\\n );\\n $max-vw: map-get($next-fluid-breakpoint, width);\\n\\n // prettier-ignore\\n font-size: calc(#{$min-font-size} +\\n #{strip-unit($max-font-size - $min-font-size)} *\\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\\n );\\n } @else {\\n // Otherwise, just default to setting the font size found from the type\\n // style or the given fluid breakpoint in the type style\\n font-size: $min-font-size;\\n }\\n}\\n\\n// TODO move following variable and `custom-property` mixin into shared file for\\n// both `@carbon/type` and `@carbon/themes`\\n\\n/// @access private\\n/// @group @carbon/type\\n$custom-property-prefix: 'cds' !default;\\n\\n/// @access private\\n/// @group @carbon/type\\n@mixin custom-properties($name, $value) {\\n @each $property, $value in $value {\\n #{$property}: var(\\n --#{$custom-property-prefix}-#{$name}-#{$property},\\n #{$value}\\n );\\n }\\n}\\n\\n/// Helper mixin to include the styles for a given token in any selector in your\\n/// project. Also includes an optional fluid option that will enable fluid\\n/// styles for the token if they are defined. Fluid styles will cause the\\n/// token's font-size to be computed based on the viewport size. As a result, use\\n/// with caution in fixed contexts.\\n/// @param {String} $name - The name of the token to get the styles for\\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Provide a custom breakpoint map to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin carbon--type-style(\\n $name,\\n $fluid: false,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n @if not map-has-key($tokens, $name) {\\n @error 'Unable to find a token with the name: `#{$name}`';\\n }\\n\\n $token: map-get($tokens, $name);\\n\\n // If $fluid is set to true and the token has breakpoints defined for fluid\\n // styles, delegate to the fluid-type helper for the given token\\n @if $fluid == true and map-has-key($token, 'breakpoints') {\\n @include fluid-type($token, $breakpoints);\\n } @else {\\n @if global-variable-exists('feature-flags') and\\n map-get($feature-flags, 'enable-css-custom-properties')\\n {\\n @include custom-properties($name, $token);\\n } @else {\\n // Otherwise, we just include all the property declarations directly on the\\n // selector\\n @include properties(map-remove($token, 'breakpoints'));\\n }\\n }\\n}\\n\",\"// Code generated by @carbon/layout. DO NOT EDIT.\\n//\\n// Copyright IBM Corp. 2018, 2019\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-01: 0.125rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-02: 0.25rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-03: 0.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-04: 0.75rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-05: 1rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-06: 1.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-07: 2rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-08: 2.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-09: 3rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-10: 4rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-11: 5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-12: 6rem !default;\\n\\n/// @type List\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing: (\\n $carbon--spacing-01,\\n $carbon--spacing-02,\\n $carbon--spacing-03,\\n $carbon--spacing-04,\\n $carbon--spacing-05,\\n $carbon--spacing-06,\\n $carbon--spacing-07,\\n $carbon--spacing-08,\\n $carbon--spacing-09,\\n $carbon--spacing-10,\\n $carbon--spacing-11,\\n $carbon--spacing-12\\n);\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-01\\n$spacing-01: $carbon--spacing-01 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-02\\n$spacing-02: $carbon--spacing-02 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-03\\n$spacing-03: $carbon--spacing-03 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-04\\n$spacing-04: $carbon--spacing-04 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-05\\n$spacing-05: $carbon--spacing-05 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-06\\n$spacing-06: $carbon--spacing-06 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-07\\n$spacing-07: $carbon--spacing-07 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-08\\n$spacing-08: $carbon--spacing-08 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-09\\n$spacing-09: $carbon--spacing-09 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-10\\n$spacing-10: $carbon--spacing-10 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-11\\n$spacing-11: $carbon--spacing-11 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-12\\n$spacing-12: $carbon--spacing-12 !default;\\n\",\"@import \\\"../../patient-registration/patient-registration.scss\\\";\\n\\n.fieldRow {\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-start;\\n flex-wrap: wrap;\\n}\\n\\n.subFieldRow {\\n margin-bottom: 5px;\\n}\\n\\n.label {\\n @include carbon--type-style(\\\"label-01\\\");\\n color: $text-02;\\n}\\n\\n.textID {\\n margin-bottom: $spacing-05;\\n}\\n\\n.requiredField {\\n color: var(--omrs-color-danger);\\n}\\n\\n.input {\\n margin-right: 5px;\\n}\\n\\n.checkboxField {\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-start;\\n width: 400px;\\n margin-left: 10px;\\n}\\n\\n.textInput {\\n width: 250px !important;\\n height: 40px !important;\\n}\\n\\n.numberInput {\\n width: 200px !important;\\n height: 40px !important;\\n}\\n\\n.checkboxInput {\\n height: 1.5rem !important;\\n width: 1.5rem !important;\\n margin-top: 8px;\\n}\\n\\n.selectInput {\\n width: 150px !important;\\n height: 40px !important;\\n}\\n\\n.dateInput {\\n width: 200px !important;\\n height: 40px !important;\\n font-size: large !important;\\n}\\n\\n.telInput {\\n width: 250px !important;\\n height: 40px !important;\\n}\\n\\n.errorInput {\\n border: 2px solid var(--omrs-color-danger) !important;\\n padding-left: 0.875rem !important;\\n}\\n\\n.errorMessage {\\n color: var(--omrs-color-danger);\\n align-self: center;\\n}\\n\\n.dummyData {\\n cursor: pointer;\\n margin-left: 5px;\\n}\\n\\n.IDInput {\\n display: grid;\\n grid-template-columns: 1fr auto;\\n align-items: center;\\n max-width: 27rem;\\n}\\n\\n.trashCan {\\n color: $danger;\\n}\\n\\n:global(.omrs-breakpoint-lt-desktop) {\\n .IDInput {\\n max-width: unset;\\n width: 100%;\\n }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"title\": \"-esm-patient-registration__input__title___4PKlg\",\n\t\"submit\": \"-esm-patient-registration__input__submit___mloB4\",\n\t\"cancelButton\": \"-esm-patient-registration__input__cancelButton___blAcs\",\n\t\"submitButton\": \"-esm-patient-registration__input__submitButton___SofD2\",\n\t\"infoGrid\": \"-esm-patient-registration__input__infoGrid___xohlq\",\n\t\"label01\": \"-esm-patient-registration__input__label01___fwQQq\",\n\t\"productiveHeading02\": \"-esm-patient-registration__input__productiveHeading02___7pE9K\",\n\t\"space05\": \"-esm-patient-registration__input__space05___9oNC+\",\n\t\"formContainer\": \"-esm-patient-registration__input__formContainer___YE8UP\",\n\t\"stickyColumn\": \"-esm-patient-registration__input__stickyColumn___KQudo\",\n\t\"touchTarget\": \"-esm-patient-registration__input__touchTarget___lFvgc\",\n\t\"linkName\": \"-esm-patient-registration__input__linkName___C8vKy\",\n\t\"main\": \"-esm-patient-registration__input__main___rng6t\",\n\t\"fieldRow\": \"-esm-patient-registration__input__fieldRow___5TD7U\",\n\t\"subFieldRow\": \"-esm-patient-registration__input__subFieldRow___zGAH4\",\n\t\"label\": \"-esm-patient-registration__input__label___65tRW\",\n\t\"textID\": \"-esm-patient-registration__input__textID___F+F-t\",\n\t\"requiredField\": \"-esm-patient-registration__input__requiredField___x0TVf\",\n\t\"input\": \"-esm-patient-registration__input__input___JYX4d\",\n\t\"checkboxField\": \"-esm-patient-registration__input__checkboxField___gmx7u\",\n\t\"textInput\": \"-esm-patient-registration__input__textInput___QJYjz\",\n\t\"numberInput\": \"-esm-patient-registration__input__numberInput___IGlx4\",\n\t\"checkboxInput\": \"-esm-patient-registration__input__checkboxInput___IVRIk\",\n\t\"selectInput\": \"-esm-patient-registration__input__selectInput___yrzZ-\",\n\t\"dateInput\": \"-esm-patient-registration__input__dateInput___2shrY\",\n\t\"telInput\": \"-esm-patient-registration__input__telInput___HxQe3\",\n\t\"errorInput\": \"-esm-patient-registration__input__errorInput___aW2qL\",\n\t\"errorMessage\": \"-esm-patient-registration__input__errorMessage___cbdW2\",\n\t\"dummyData\": \"-esm-patient-registration__input__dummyData___GFQGF\",\n\t\"IDInput\": \"-esm-patient-registration__input__IDInput___6B3+s\",\n\t\"trashCan\": \"-esm-patient-registration__input__trashCan___usc53\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79}.-esm-patient-registration__patient-registration__title___d6s20{color:var(--omrs-color-brand-teal)}.-esm-patient-registration__patient-registration__submit___S6frc{width:250px}.-esm-patient-registration__patient-registration__submit___S6frc:hover{cursor:pointer}.-esm-patient-registration__patient-registration__cancelButton___2-E\\\\+5{width:11.688rem}.-esm-patient-registration__patient-registration__submitButton___Ps1do{margin-bottom:1rem;width:11.688rem;display:block}.-esm-patient-registration__patient-registration__infoGrid___2S1kw{width:100%;margin-bottom:40vh;margin-top:1rem}.-esm-patient-registration__patient-registration__label01___CxOgi{font-size:.75rem;font-weight:400;line-height:1.34;letter-spacing:.32px;margin-top:1rem;margin-bottom:1rem;color:#8d8d8d}.-esm-patient-registration__patient-registration__productiveHeading02___mBDux{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;color:#8d8d8d;cursor:pointer}.-esm-patient-registration__patient-registration__space05___\\\\+IJfn{margin:1rem 0 1rem 0}.-esm-patient-registration__patient-registration__formContainer___ydkLz{display:flex;width:100%}.-esm-patient-registration__patient-registration__stickyColumn___2G55G{position:sticky;margin-top:1rem;top:4rem}.-esm-patient-registration__patient-registration__touchTarget___KxfOv a:active{color:#161616}.-esm-patient-registration__patient-registration__linkName___Ukv7z{color:#525252;line-height:1.38;font-size:1rem;font-weight:600}.-esm-patient-registration__patient-registration__linkName___Ukv7z:active{text-decoration:none;color:#161616}.-esm-patient-registration__patient-registration__linkName___Ukv7z:hover{text-decoration:none;color:#161616;cursor:pointer}.-esm-patient-registration__patient-registration__main___eiIwY{background-color:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss\",\"webpack://./src/patient-registration/patient-registration.scss\",\"webpack://./../../node_modules/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/_styles.scss\",\"webpack://./../../node_modules/carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/_spacing.scss\"],\"names\":[],\"mappings\":\"AAyCA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CCxCF,gEACE,kCAAA,CAGF,iEACE,WAAA,CAGF,uEACE,cAAA,CAGF,wEACE,eAAA,CAGF,uEACE,kBAAA,CACA,eAAA,CACA,aAAA,CAGF,mEACE,UAAA,CACA,kBAAA,CACA,eAAA,CAGF,kEC+eI,gBAqLsB,CArLtB,eAqLsB,CArLtB,gBAqLsB,CArLtB,oBAqLsB,CDlqBxB,eEHmB,CFInB,kBEJmB,CFKnB,aDjCM,CCoCR,8ECweI,cAqLsB,CArLtB,eAqLsB,CArLtB,iBAqLsB,CArLtB,gBAqLsB,CD3pBxB,aDtCM,CCuCN,cAAA,CAGF,mEACE,oBAAA,CAGF,wEACE,YAAA,CACA,UAAA,CAGF,uEACE,eAAA,CACA,eAAA,CAEA,QAAA,CAGF,+EACE,aDpDe,CCuDjB,mEACE,aDzDc,CC0Dd,gBAAA,CACA,cAAA,CACA,eAAA,CAEA,0EACE,oBAAA,CACA,aD/Da,CCkEf,yEACE,oBAAA,CACA,aDpEa,CCqEb,cAAA,CAIJ,+DACE,qBAAA\",\"sourcesContent\":[\"$ui-01: #f4f4f4;\\n$ui-02: #ffffff;\\n$ui-03: #e0e0e0;\\n$ui-04: #8d8d8d;\\n$ui-05: #161616;\\n$text-02: #525252;\\n$text-03: #a8a8a8;\\n$ui-background: #ffffff;\\n$color-gray-30: #c6c6c6;\\n$color-gray-70: #525252;\\n$color-gray-100: #161616;\\n$color-blue-60-2: #0f62fe;\\n$color-blue-10: #edf5ff;\\n$color-yellow-50: #feecae;\\n$carbon--red-50: #fa4d56;\\n$inverse-link: #78a9ff;\\n$support-02: #24a148;\\n$inverse-support-03: #f1c21b;\\n$warning-background: #fff8e1;\\n$openmrs-background-grey: #f4f4f4;\\n$danger: #da1e28;\\n$interactive-01: #0f62fe;\\n$field-01: #f4f4f4;\\n$grey-2: #e0e0e0;\\n$labeldropdown: #c6c6c6;\\n\\n@mixin brand-01($property) {\\n #{$property}: #005d5d;\\n #{$property}: var(--brand-01);\\n}\\n\\n@mixin brand-02($property) {\\n #{$property}: #004144;\\n #{$property}: var(--brand-02);\\n}\\n\\n@mixin brand-03($property) {\\n #{$property}: #007d79;\\n #{$property}: var(--brand-03);\\n}\\n\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n}\\n\\n$breakpoint-phone-min: 0px;\\n$breakpoint-phone-max: 600px;\\n$breakpoint-tablet-min: 601px;\\n$breakpoint-tablet-max: 1200px;\\n$breakpoint-desktop-min: 1201px;\\n$breakpoint-desktop-max: 99999999px;\\n\\n/* These color variables will be removed in a future release */\\n$brand-teal-01: #007d79;\\n$brand-01: #005d5d;\\n$brand-02: #004144;\\n\",\"@import \\\"~carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/styles\\\";\\n@import \\\"~carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/spacing\\\";\\n@import \\\"~@openmrs/esm-styleguide/src/vars\\\";\\n\\n.title {\\n color: var(--omrs-color-brand-teal);\\n}\\n\\n.submit {\\n width: 250px;\\n}\\n\\n.submit:hover {\\n cursor: pointer;\\n}\\n\\n.cancelButton {\\n width: 11.688rem;\\n}\\n\\n.submitButton {\\n margin-bottom: 1rem;\\n width: 11.688rem;\\n display: block;\\n}\\n\\n.infoGrid {\\n width: 100%;\\n margin-bottom: 40vh;\\n margin-top: 1rem;\\n}\\n\\n.label01 {\\n @include carbon--type-style(\\\"label-01\\\");\\n margin-top: $spacing-05;\\n margin-bottom: $spacing-05;\\n color: $ui-04;\\n}\\n\\n.productiveHeading02 {\\n @include carbon--type-style(\\\"productive-heading-02\\\");\\n color: $ui-04;\\n cursor: pointer;\\n}\\n\\n.space05 {\\n margin: $spacing-05 0 $spacing-05 0;\\n}\\n\\n.formContainer {\\n display: flex;\\n width: 100%;\\n}\\n\\n.stickyColumn {\\n position: sticky;\\n margin-top: 1rem;\\n // 3rem for the nav height and 1rem for top margin\\n top: 4rem;\\n}\\n\\n.touchTarget a:active {\\n color: $color-gray-100;\\n}\\n\\n.linkName {\\n color: $color-gray-70;\\n line-height: 1.38;\\n font-size: 1rem;\\n font-weight: 600;\\n\\n &:active {\\n text-decoration: none;\\n color: $color-gray-100;\\n }\\n\\n &:hover {\\n text-decoration: none;\\n color: $color-gray-100;\\n cursor: pointer;\\n }\\n}\\n\\n.main {\\n background-color: white;\\n}\\n\\n\",\"//\\n// Copyright IBM Corp. 2018, 2018\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n@import '../layout/breakpoint';\\n@import 'font-family';\\n@import 'scale';\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$caption-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$helper-text-01: (\\n font-size: carbon--type-scale(1),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-01: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-02: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-01: $heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-02: $heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n // Extra digit needed for precision in Chrome\\n line-height: 1.199,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-07: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-01: map-merge(\\n $heading-01,\\n (\\n line-height: 1.25,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-02: map-merge(\\n $heading-02,\\n (\\n line-height: 1.5,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(5),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-paragraph-01: (\\n font-size: carbon--type-scale(6),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.334,\\n letter-spacing: 0,\\n breakpoints: (\\n lg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n);\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-01: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.3,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(5),\\n ),\\n lg: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-02: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-01: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-02: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.16,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-03: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-04: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$tokens: (\\n caption-01: $caption-01,\\n label-01: $label-01,\\n helper-text-01: $helper-text-01,\\n body-short-01: $body-short-01,\\n body-short-02: $body-short-02,\\n body-long-01: $body-long-01,\\n body-long-02: $body-long-02,\\n code-01: $code-01,\\n code-02: $code-02,\\n heading-01: $heading-01,\\n heading-02: $heading-02,\\n productive-heading-01: $productive-heading-01,\\n productive-heading-02: $productive-heading-02,\\n productive-heading-03: $productive-heading-03,\\n productive-heading-04: $productive-heading-04,\\n productive-heading-05: $productive-heading-05,\\n productive-heading-06: $productive-heading-06,\\n productive-heading-07: $productive-heading-07,\\n expressive-paragraph-01: $expressive-paragraph-01,\\n expressive-heading-01: $expressive-heading-01,\\n expressive-heading-02: $expressive-heading-02,\\n expressive-heading-03: $expressive-heading-03,\\n expressive-heading-04: $expressive-heading-04,\\n expressive-heading-05: $expressive-heading-05,\\n expressive-heading-06: $expressive-heading-06,\\n quotation-01: $quotation-01,\\n quotation-02: $quotation-02,\\n display-01: $display-01,\\n display-02: $display-02,\\n display-03: $display-03,\\n display-04: $display-04,\\n);\\n\\n/// @param {Map} $map\\n/// @access public\\n/// @group @carbon/type\\n@mixin properties($map) {\\n @each $name, $value in $map {\\n #{$name}: $value;\\n }\\n}\\n\\n/// @param {Number} $value - Number with units\\n/// @return {Number} Without units\\n/// @access public\\n/// @group @carbon/type\\n@function strip-unit($value) {\\n @return $value / ($value * 0 + 1);\\n}\\n\\n/// This helper includes fluid type styles for the given token value. Fluid type\\n/// means that the `font-size` is computed using `calc()` in order to be\\n/// determined by the screen size instead of a breakpoint. As a result, fluid\\n/// styles should be used with caution in fixed width contexts.\\n///\\n/// In addition, we make use of %-based line-heights so that the line-height of\\n/// each type style is computed correctly due to the dynamic nature of the\\n/// `font-size`.\\n///\\n/// Most of the logic for this work comes from CSS Tricks:\\n/// https://css-tricks.com/snippets/css/fluid-typography/\\n///\\n/// @param {Map} $type-styles - The value of a given type token\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Custom breakpoints to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type($type-styles, $breakpoints: $carbon--grid-breakpoints) {\\n // Include the initial styles for the given token by default without any\\n // media query guard. This includes `font-size` as a fallback in the case\\n // that a browser does not support `calc()`\\n @include properties(map-remove($type-styles, breakpoints));\\n // We also need to include the `sm` styles by default since they don't\\n // appear in the fluid styles for tokens\\n @include fluid-type-size($type-styles, sm, $breakpoints);\\n\\n // Finally, we need to go through all the breakpoints defined in the type\\n // token and apply the properties and fluid type size for that given\\n // breakpoint\\n @each $name, $values in map-get($type-styles, breakpoints) {\\n @include carbon--breakpoint($name) {\\n @include properties($values);\\n @include fluid-type-size($type-styles, $name, $breakpoints);\\n }\\n }\\n}\\n\\n/// Computes the fluid `font-size` for a given type style and breakpoint\\n/// @param {Map} $type-styles - The styles for a given token\\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - The breakpoints for the grid system\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type-size(\\n $type-styles,\\n $name,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n // Get the information about the breakpoint we're currently working in. Useful\\n // for getting initial width information\\n $breakpoint: map-get($breakpoints, $name);\\n\\n // Our fluid styles are captured under the 'breakpoints' property in our type\\n // styles map. These define what values to treat as `max-` variables below\\n $fluid-sizes: map-get($type-styles, breakpoints);\\n $fluid-breakpoint: ();\\n // Special case for `sm` because the styles for small are on the type style\\n // directly\\n @if $name == sm {\\n $fluid-breakpoint: map-remove($type-styles, breakpoints);\\n } @else {\\n $fluid-breakpoint: map-get($fluid-sizes, $name);\\n }\\n\\n // Initialize our font-sizes to the default size for the type style\\n $max-font-size: map-get($type-styles, font-size);\\n $min-font-size: map-get($type-styles, font-size);\\n @if map-has-key($fluid-breakpoint, font-size) {\\n $min-font-size: map-get($fluid-breakpoint, font-size);\\n }\\n\\n // Initialize our min and max width to the width of the current breakpoint\\n $max-vw: map-get($breakpoint, width);\\n $min-vw: map-get($breakpoint, width);\\n\\n // We can use `breakpoint-next` to see if there is another breakpoint we can\\n // use to update `max-font-size` and `max-vw` with larger values\\n $next-breakpoint-available: carbon--breakpoint-next($name, $breakpoints);\\n $next-fluid-breakpoint-name: null;\\n\\n // We need to figure out what the next available fluid breakpoint is for our\\n // given $type-styles. In this loop we try and iterate through breakpoints\\n // until we either manually set $next-breakpoint-available to null or\\n // `breakpoint-next` returns null.\\n @while $next-breakpoint-available {\\n @if map-has-key($fluid-sizes, $next-breakpoint-available) {\\n $next-fluid-breakpoint-name: $next-breakpoint-available;\\n $next-breakpoint-available: null;\\n } @else {\\n $next-breakpoint-available: carbon--breakpoint-next(\\n $next-breakpoint-available,\\n $breakpoints\\n );\\n }\\n }\\n\\n // If we have found the next available fluid breakpoint name, then we know\\n // that we have values that we can use to set max-font-size and max-vw as both\\n // values derive from the next breakpoint\\n @if $next-fluid-breakpoint-name {\\n $next-fluid-breakpoint: map-get($breakpoints, $next-fluid-breakpoint-name);\\n $max-font-size: map-get(\\n map-get($fluid-sizes, $next-fluid-breakpoint-name),\\n font-size\\n );\\n $max-vw: map-get($next-fluid-breakpoint, width);\\n\\n // prettier-ignore\\n font-size: calc(#{$min-font-size} +\\n #{strip-unit($max-font-size - $min-font-size)} *\\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\\n );\\n } @else {\\n // Otherwise, just default to setting the font size found from the type\\n // style or the given fluid breakpoint in the type style\\n font-size: $min-font-size;\\n }\\n}\\n\\n// TODO move following variable and `custom-property` mixin into shared file for\\n// both `@carbon/type` and `@carbon/themes`\\n\\n/// @access private\\n/// @group @carbon/type\\n$custom-property-prefix: 'cds' !default;\\n\\n/// @access private\\n/// @group @carbon/type\\n@mixin custom-properties($name, $value) {\\n @each $property, $value in $value {\\n #{$property}: var(\\n --#{$custom-property-prefix}-#{$name}-#{$property},\\n #{$value}\\n );\\n }\\n}\\n\\n/// Helper mixin to include the styles for a given token in any selector in your\\n/// project. Also includes an optional fluid option that will enable fluid\\n/// styles for the token if they are defined. Fluid styles will cause the\\n/// token's font-size to be computed based on the viewport size. As a result, use\\n/// with caution in fixed contexts.\\n/// @param {String} $name - The name of the token to get the styles for\\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Provide a custom breakpoint map to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin carbon--type-style(\\n $name,\\n $fluid: false,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n @if not map-has-key($tokens, $name) {\\n @error 'Unable to find a token with the name: `#{$name}`';\\n }\\n\\n $token: map-get($tokens, $name);\\n\\n // If $fluid is set to true and the token has breakpoints defined for fluid\\n // styles, delegate to the fluid-type helper for the given token\\n @if $fluid == true and map-has-key($token, 'breakpoints') {\\n @include fluid-type($token, $breakpoints);\\n } @else {\\n @if global-variable-exists('feature-flags') and\\n map-get($feature-flags, 'enable-css-custom-properties')\\n {\\n @include custom-properties($name, $token);\\n } @else {\\n // Otherwise, we just include all the property declarations directly on the\\n // selector\\n @include properties(map-remove($token, 'breakpoints'));\\n }\\n }\\n}\\n\",\"// Code generated by @carbon/layout. DO NOT EDIT.\\n//\\n// Copyright IBM Corp. 2018, 2019\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-01: 0.125rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-02: 0.25rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-03: 0.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-04: 0.75rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-05: 1rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-06: 1.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-07: 2rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-08: 2.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-09: 3rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-10: 4rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-11: 5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-12: 6rem !default;\\n\\n/// @type List\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing: (\\n $carbon--spacing-01,\\n $carbon--spacing-02,\\n $carbon--spacing-03,\\n $carbon--spacing-04,\\n $carbon--spacing-05,\\n $carbon--spacing-06,\\n $carbon--spacing-07,\\n $carbon--spacing-08,\\n $carbon--spacing-09,\\n $carbon--spacing-10,\\n $carbon--spacing-11,\\n $carbon--spacing-12\\n);\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-01\\n$spacing-01: $carbon--spacing-01 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-02\\n$spacing-02: $carbon--spacing-02 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-03\\n$spacing-03: $carbon--spacing-03 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-04\\n$spacing-04: $carbon--spacing-04 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-05\\n$spacing-05: $carbon--spacing-05 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-06\\n$spacing-06: $carbon--spacing-06 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-07\\n$spacing-07: $carbon--spacing-07 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-08\\n$spacing-08: $carbon--spacing-08 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-09\\n$spacing-09: $carbon--spacing-09 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-10\\n$spacing-10: $carbon--spacing-10 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-11\\n$spacing-11: $carbon--spacing-11 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-12\\n$spacing-12: $carbon--spacing-12 !default;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"title\": \"-esm-patient-registration__patient-registration__title___d6s20\",\n\t\"submit\": \"-esm-patient-registration__patient-registration__submit___S6frc\",\n\t\"cancelButton\": \"-esm-patient-registration__patient-registration__cancelButton___2-E+5\",\n\t\"submitButton\": \"-esm-patient-registration__patient-registration__submitButton___Ps1do\",\n\t\"infoGrid\": \"-esm-patient-registration__patient-registration__infoGrid___2S1kw\",\n\t\"label01\": \"-esm-patient-registration__patient-registration__label01___CxOgi\",\n\t\"productiveHeading02\": \"-esm-patient-registration__patient-registration__productiveHeading02___mBDux\",\n\t\"space05\": \"-esm-patient-registration__patient-registration__space05___+IJfn\",\n\t\"formContainer\": \"-esm-patient-registration__patient-registration__formContainer___ydkLz\",\n\t\"stickyColumn\": \"-esm-patient-registration__patient-registration__stickyColumn___2G55G\",\n\t\"touchTarget\": \"-esm-patient-registration__patient-registration__touchTarget___KxfOv\",\n\t\"linkName\": \"-esm-patient-registration__patient-registration__linkName___Ukv7z\",\n\t\"main\": \"-esm-patient-registration__patient-registration__main___eiIwY\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79}.-esm-patient-registration__identifier-selection__title___0vNq-{color:var(--omrs-color-brand-teal)}.-esm-patient-registration__identifier-selection__submit___HmDvj{width:250px}.-esm-patient-registration__identifier-selection__submit___HmDvj:hover{cursor:pointer}.-esm-patient-registration__identifier-selection__cancelButton___ri0QD{width:11.688rem}.-esm-patient-registration__identifier-selection__submitButton___zUrrR{margin-bottom:1rem;width:11.688rem;display:block}.-esm-patient-registration__identifier-selection__infoGrid___aSeof{width:100%;margin-bottom:40vh;margin-top:1rem}.-esm-patient-registration__identifier-selection__label01___8tPCN{font-size:.75rem;font-weight:400;line-height:1.34;letter-spacing:.32px;margin-top:1rem;margin-bottom:1rem;color:#8d8d8d}.-esm-patient-registration__identifier-selection__productiveHeading02___b3p5U{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;color:#8d8d8d;cursor:pointer}.-esm-patient-registration__identifier-selection__space05___eRmc9{margin:1rem 0 1rem 0}.-esm-patient-registration__identifier-selection__formContainer___QPygk{display:flex;width:100%}.-esm-patient-registration__identifier-selection__stickyColumn___9Bhjd{position:sticky;margin-top:1rem;top:4rem}.-esm-patient-registration__identifier-selection__touchTarget___ipeDz a:active{color:#161616}.-esm-patient-registration__identifier-selection__linkName___zMbqE{color:#525252;line-height:1.38;font-size:1rem;font-weight:600}.-esm-patient-registration__identifier-selection__linkName___zMbqE:active{text-decoration:none;color:#161616}.-esm-patient-registration__identifier-selection__linkName___zMbqE:hover{text-decoration:none;color:#161616;cursor:pointer}.-esm-patient-registration__identifier-selection__main___mOlPs{background-color:#fff}.-esm-patient-registration__identifier-selection__overlayButtons___Xw-N2{display:grid;grid-template-columns:1fr 1fr}.-esm-patient-registration__identifier-selection__overlayButtons___Xw-N2 button{max-width:unset}.-esm-patient-registration__identifier-selection__radioGroup___dkFof{background-color:#f4f4f4;padding:1rem}.-esm-patient-registration__identifier-selection__radioButton___Q0dWt{margin:0 !important}.-esm-patient-registration__identifier-selection__radioButton___Q0dWt label{height:2rem}.omrs-breakpoint-lt-desktop .-esm-patient-registration__identifier-selection__radioButton___Q0dWt label{height:3rem !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss\",\"webpack://./src/patient-registration/patient-registration.scss\",\"webpack://./../../node_modules/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/_styles.scss\",\"webpack://./../../node_modules/carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/_spacing.scss\",\"webpack://./src/patient-registration/ui-components/identifier-selection-overlay/identifier-selection.scss\"],\"names\":[],\"mappings\":\"AAyCA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CCxCF,gEACE,kCAAA,CAGF,iEACE,WAAA,CAGF,uEACE,cAAA,CAGF,uEACE,eAAA,CAGF,uEACE,kBAAA,CACA,eAAA,CACA,aAAA,CAGF,mEACE,UAAA,CACA,kBAAA,CACA,eAAA,CAGF,kEC+eI,gBAqLsB,CArLtB,eAqLsB,CArLtB,gBAqLsB,CArLtB,oBAqLsB,CDlqBxB,eEHmB,CFInB,kBEJmB,CFKnB,aDjCM,CCoCR,8ECweI,cAqLsB,CArLtB,eAqLsB,CArLtB,iBAqLsB,CArLtB,gBAqLsB,CD3pBxB,aDtCM,CCuCN,cAAA,CAGF,kEACE,oBAAA,CAGF,wEACE,YAAA,CACA,UAAA,CAGF,uEACE,eAAA,CACA,eAAA,CAEA,QAAA,CAGF,+EACE,aDpDe,CCuDjB,mEACE,aDzDc,CC0Dd,gBAAA,CACA,cAAA,CACA,eAAA,CAEA,0EACE,oBAAA,CACA,aD/Da,CCkEf,yEACE,oBAAA,CACA,aDpEa,CCqEb,cAAA,CAIJ,+DACE,qBAAA,CGlFF,yEACE,YAAA,CACA,6BAAA,CAGF,gFACE,eAAA,CAGF,qEACE,wBJZM,CIaN,YDkBmB,CCfrB,sEACE,mBAAA,CACA,4EACE,WDsBiB,CCjBnB,wGACE,sBAAA\",\"sourcesContent\":[\"$ui-01: #f4f4f4;\\n$ui-02: #ffffff;\\n$ui-03: #e0e0e0;\\n$ui-04: #8d8d8d;\\n$ui-05: #161616;\\n$text-02: #525252;\\n$text-03: #a8a8a8;\\n$ui-background: #ffffff;\\n$color-gray-30: #c6c6c6;\\n$color-gray-70: #525252;\\n$color-gray-100: #161616;\\n$color-blue-60-2: #0f62fe;\\n$color-blue-10: #edf5ff;\\n$color-yellow-50: #feecae;\\n$carbon--red-50: #fa4d56;\\n$inverse-link: #78a9ff;\\n$support-02: #24a148;\\n$inverse-support-03: #f1c21b;\\n$warning-background: #fff8e1;\\n$openmrs-background-grey: #f4f4f4;\\n$danger: #da1e28;\\n$interactive-01: #0f62fe;\\n$field-01: #f4f4f4;\\n$grey-2: #e0e0e0;\\n$labeldropdown: #c6c6c6;\\n\\n@mixin brand-01($property) {\\n #{$property}: #005d5d;\\n #{$property}: var(--brand-01);\\n}\\n\\n@mixin brand-02($property) {\\n #{$property}: #004144;\\n #{$property}: var(--brand-02);\\n}\\n\\n@mixin brand-03($property) {\\n #{$property}: #007d79;\\n #{$property}: var(--brand-03);\\n}\\n\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n}\\n\\n$breakpoint-phone-min: 0px;\\n$breakpoint-phone-max: 600px;\\n$breakpoint-tablet-min: 601px;\\n$breakpoint-tablet-max: 1200px;\\n$breakpoint-desktop-min: 1201px;\\n$breakpoint-desktop-max: 99999999px;\\n\\n/* These color variables will be removed in a future release */\\n$brand-teal-01: #007d79;\\n$brand-01: #005d5d;\\n$brand-02: #004144;\\n\",\"@import \\\"~carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/styles\\\";\\n@import \\\"~carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/spacing\\\";\\n@import \\\"~@openmrs/esm-styleguide/src/vars\\\";\\n\\n.title {\\n color: var(--omrs-color-brand-teal);\\n}\\n\\n.submit {\\n width: 250px;\\n}\\n\\n.submit:hover {\\n cursor: pointer;\\n}\\n\\n.cancelButton {\\n width: 11.688rem;\\n}\\n\\n.submitButton {\\n margin-bottom: 1rem;\\n width: 11.688rem;\\n display: block;\\n}\\n\\n.infoGrid {\\n width: 100%;\\n margin-bottom: 40vh;\\n margin-top: 1rem;\\n}\\n\\n.label01 {\\n @include carbon--type-style(\\\"label-01\\\");\\n margin-top: $spacing-05;\\n margin-bottom: $spacing-05;\\n color: $ui-04;\\n}\\n\\n.productiveHeading02 {\\n @include carbon--type-style(\\\"productive-heading-02\\\");\\n color: $ui-04;\\n cursor: pointer;\\n}\\n\\n.space05 {\\n margin: $spacing-05 0 $spacing-05 0;\\n}\\n\\n.formContainer {\\n display: flex;\\n width: 100%;\\n}\\n\\n.stickyColumn {\\n position: sticky;\\n margin-top: 1rem;\\n // 3rem for the nav height and 1rem for top margin\\n top: 4rem;\\n}\\n\\n.touchTarget a:active {\\n color: $color-gray-100;\\n}\\n\\n.linkName {\\n color: $color-gray-70;\\n line-height: 1.38;\\n font-size: 1rem;\\n font-weight: 600;\\n\\n &:active {\\n text-decoration: none;\\n color: $color-gray-100;\\n }\\n\\n &:hover {\\n text-decoration: none;\\n color: $color-gray-100;\\n cursor: pointer;\\n }\\n}\\n\\n.main {\\n background-color: white;\\n}\\n\\n\",\"//\\n// Copyright IBM Corp. 2018, 2018\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n@import '../layout/breakpoint';\\n@import 'font-family';\\n@import 'scale';\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$caption-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$helper-text-01: (\\n font-size: carbon--type-scale(1),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-01: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-02: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-01: $heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-02: $heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n // Extra digit needed for precision in Chrome\\n line-height: 1.199,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-07: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-01: map-merge(\\n $heading-01,\\n (\\n line-height: 1.25,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-02: map-merge(\\n $heading-02,\\n (\\n line-height: 1.5,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(5),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-paragraph-01: (\\n font-size: carbon--type-scale(6),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.334,\\n letter-spacing: 0,\\n breakpoints: (\\n lg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n);\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-01: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.3,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(5),\\n ),\\n lg: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-02: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-01: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-02: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.16,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-03: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-04: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$tokens: (\\n caption-01: $caption-01,\\n label-01: $label-01,\\n helper-text-01: $helper-text-01,\\n body-short-01: $body-short-01,\\n body-short-02: $body-short-02,\\n body-long-01: $body-long-01,\\n body-long-02: $body-long-02,\\n code-01: $code-01,\\n code-02: $code-02,\\n heading-01: $heading-01,\\n heading-02: $heading-02,\\n productive-heading-01: $productive-heading-01,\\n productive-heading-02: $productive-heading-02,\\n productive-heading-03: $productive-heading-03,\\n productive-heading-04: $productive-heading-04,\\n productive-heading-05: $productive-heading-05,\\n productive-heading-06: $productive-heading-06,\\n productive-heading-07: $productive-heading-07,\\n expressive-paragraph-01: $expressive-paragraph-01,\\n expressive-heading-01: $expressive-heading-01,\\n expressive-heading-02: $expressive-heading-02,\\n expressive-heading-03: $expressive-heading-03,\\n expressive-heading-04: $expressive-heading-04,\\n expressive-heading-05: $expressive-heading-05,\\n expressive-heading-06: $expressive-heading-06,\\n quotation-01: $quotation-01,\\n quotation-02: $quotation-02,\\n display-01: $display-01,\\n display-02: $display-02,\\n display-03: $display-03,\\n display-04: $display-04,\\n);\\n\\n/// @param {Map} $map\\n/// @access public\\n/// @group @carbon/type\\n@mixin properties($map) {\\n @each $name, $value in $map {\\n #{$name}: $value;\\n }\\n}\\n\\n/// @param {Number} $value - Number with units\\n/// @return {Number} Without units\\n/// @access public\\n/// @group @carbon/type\\n@function strip-unit($value) {\\n @return $value / ($value * 0 + 1);\\n}\\n\\n/// This helper includes fluid type styles for the given token value. Fluid type\\n/// means that the `font-size` is computed using `calc()` in order to be\\n/// determined by the screen size instead of a breakpoint. As a result, fluid\\n/// styles should be used with caution in fixed width contexts.\\n///\\n/// In addition, we make use of %-based line-heights so that the line-height of\\n/// each type style is computed correctly due to the dynamic nature of the\\n/// `font-size`.\\n///\\n/// Most of the logic for this work comes from CSS Tricks:\\n/// https://css-tricks.com/snippets/css/fluid-typography/\\n///\\n/// @param {Map} $type-styles - The value of a given type token\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Custom breakpoints to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type($type-styles, $breakpoints: $carbon--grid-breakpoints) {\\n // Include the initial styles for the given token by default without any\\n // media query guard. This includes `font-size` as a fallback in the case\\n // that a browser does not support `calc()`\\n @include properties(map-remove($type-styles, breakpoints));\\n // We also need to include the `sm` styles by default since they don't\\n // appear in the fluid styles for tokens\\n @include fluid-type-size($type-styles, sm, $breakpoints);\\n\\n // Finally, we need to go through all the breakpoints defined in the type\\n // token and apply the properties and fluid type size for that given\\n // breakpoint\\n @each $name, $values in map-get($type-styles, breakpoints) {\\n @include carbon--breakpoint($name) {\\n @include properties($values);\\n @include fluid-type-size($type-styles, $name, $breakpoints);\\n }\\n }\\n}\\n\\n/// Computes the fluid `font-size` for a given type style and breakpoint\\n/// @param {Map} $type-styles - The styles for a given token\\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - The breakpoints for the grid system\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type-size(\\n $type-styles,\\n $name,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n // Get the information about the breakpoint we're currently working in. Useful\\n // for getting initial width information\\n $breakpoint: map-get($breakpoints, $name);\\n\\n // Our fluid styles are captured under the 'breakpoints' property in our type\\n // styles map. These define what values to treat as `max-` variables below\\n $fluid-sizes: map-get($type-styles, breakpoints);\\n $fluid-breakpoint: ();\\n // Special case for `sm` because the styles for small are on the type style\\n // directly\\n @if $name == sm {\\n $fluid-breakpoint: map-remove($type-styles, breakpoints);\\n } @else {\\n $fluid-breakpoint: map-get($fluid-sizes, $name);\\n }\\n\\n // Initialize our font-sizes to the default size for the type style\\n $max-font-size: map-get($type-styles, font-size);\\n $min-font-size: map-get($type-styles, font-size);\\n @if map-has-key($fluid-breakpoint, font-size) {\\n $min-font-size: map-get($fluid-breakpoint, font-size);\\n }\\n\\n // Initialize our min and max width to the width of the current breakpoint\\n $max-vw: map-get($breakpoint, width);\\n $min-vw: map-get($breakpoint, width);\\n\\n // We can use `breakpoint-next` to see if there is another breakpoint we can\\n // use to update `max-font-size` and `max-vw` with larger values\\n $next-breakpoint-available: carbon--breakpoint-next($name, $breakpoints);\\n $next-fluid-breakpoint-name: null;\\n\\n // We need to figure out what the next available fluid breakpoint is for our\\n // given $type-styles. In this loop we try and iterate through breakpoints\\n // until we either manually set $next-breakpoint-available to null or\\n // `breakpoint-next` returns null.\\n @while $next-breakpoint-available {\\n @if map-has-key($fluid-sizes, $next-breakpoint-available) {\\n $next-fluid-breakpoint-name: $next-breakpoint-available;\\n $next-breakpoint-available: null;\\n } @else {\\n $next-breakpoint-available: carbon--breakpoint-next(\\n $next-breakpoint-available,\\n $breakpoints\\n );\\n }\\n }\\n\\n // If we have found the next available fluid breakpoint name, then we know\\n // that we have values that we can use to set max-font-size and max-vw as both\\n // values derive from the next breakpoint\\n @if $next-fluid-breakpoint-name {\\n $next-fluid-breakpoint: map-get($breakpoints, $next-fluid-breakpoint-name);\\n $max-font-size: map-get(\\n map-get($fluid-sizes, $next-fluid-breakpoint-name),\\n font-size\\n );\\n $max-vw: map-get($next-fluid-breakpoint, width);\\n\\n // prettier-ignore\\n font-size: calc(#{$min-font-size} +\\n #{strip-unit($max-font-size - $min-font-size)} *\\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\\n );\\n } @else {\\n // Otherwise, just default to setting the font size found from the type\\n // style or the given fluid breakpoint in the type style\\n font-size: $min-font-size;\\n }\\n}\\n\\n// TODO move following variable and `custom-property` mixin into shared file for\\n// both `@carbon/type` and `@carbon/themes`\\n\\n/// @access private\\n/// @group @carbon/type\\n$custom-property-prefix: 'cds' !default;\\n\\n/// @access private\\n/// @group @carbon/type\\n@mixin custom-properties($name, $value) {\\n @each $property, $value in $value {\\n #{$property}: var(\\n --#{$custom-property-prefix}-#{$name}-#{$property},\\n #{$value}\\n );\\n }\\n}\\n\\n/// Helper mixin to include the styles for a given token in any selector in your\\n/// project. Also includes an optional fluid option that will enable fluid\\n/// styles for the token if they are defined. Fluid styles will cause the\\n/// token's font-size to be computed based on the viewport size. As a result, use\\n/// with caution in fixed contexts.\\n/// @param {String} $name - The name of the token to get the styles for\\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Provide a custom breakpoint map to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin carbon--type-style(\\n $name,\\n $fluid: false,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n @if not map-has-key($tokens, $name) {\\n @error 'Unable to find a token with the name: `#{$name}`';\\n }\\n\\n $token: map-get($tokens, $name);\\n\\n // If $fluid is set to true and the token has breakpoints defined for fluid\\n // styles, delegate to the fluid-type helper for the given token\\n @if $fluid == true and map-has-key($token, 'breakpoints') {\\n @include fluid-type($token, $breakpoints);\\n } @else {\\n @if global-variable-exists('feature-flags') and\\n map-get($feature-flags, 'enable-css-custom-properties')\\n {\\n @include custom-properties($name, $token);\\n } @else {\\n // Otherwise, we just include all the property declarations directly on the\\n // selector\\n @include properties(map-remove($token, 'breakpoints'));\\n }\\n }\\n}\\n\",\"// Code generated by @carbon/layout. DO NOT EDIT.\\n//\\n// Copyright IBM Corp. 2018, 2019\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-01: 0.125rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-02: 0.25rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-03: 0.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-04: 0.75rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-05: 1rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-06: 1.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-07: 2rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-08: 2.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-09: 3rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-10: 4rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-11: 5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-12: 6rem !default;\\n\\n/// @type List\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing: (\\n $carbon--spacing-01,\\n $carbon--spacing-02,\\n $carbon--spacing-03,\\n $carbon--spacing-04,\\n $carbon--spacing-05,\\n $carbon--spacing-06,\\n $carbon--spacing-07,\\n $carbon--spacing-08,\\n $carbon--spacing-09,\\n $carbon--spacing-10,\\n $carbon--spacing-11,\\n $carbon--spacing-12\\n);\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-01\\n$spacing-01: $carbon--spacing-01 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-02\\n$spacing-02: $carbon--spacing-02 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-03\\n$spacing-03: $carbon--spacing-03 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-04\\n$spacing-04: $carbon--spacing-04 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-05\\n$spacing-05: $carbon--spacing-05 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-06\\n$spacing-06: $carbon--spacing-06 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-07\\n$spacing-07: $carbon--spacing-07 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-08\\n$spacing-08: $carbon--spacing-08 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-09\\n$spacing-09: $carbon--spacing-09 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-10\\n$spacing-10: $carbon--spacing-10 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-11\\n$spacing-11: $carbon--spacing-11 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-12\\n$spacing-12: $carbon--spacing-12 !default;\\n\",\"@import '../../patient-registration.scss';\\n\\n.overlayButtons {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n}\\n\\n.overlayButtons button {\\n max-width: unset;\\n}\\n\\n.radioGroup {\\n background-color: $ui-01;\\n padding: $spacing-05;\\n}\\n\\n.radioButton {\\n margin: 0 !important;\\n label {\\n height: $spacing-07;\\n }\\n}\\n\\n:global(.omrs-breakpoint-lt-desktop) { \\n .radioButton label {\\n height: $spacing-09 !important;\\n }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"title\": \"-esm-patient-registration__identifier-selection__title___0vNq-\",\n\t\"submit\": \"-esm-patient-registration__identifier-selection__submit___HmDvj\",\n\t\"cancelButton\": \"-esm-patient-registration__identifier-selection__cancelButton___ri0QD\",\n\t\"submitButton\": \"-esm-patient-registration__identifier-selection__submitButton___zUrrR\",\n\t\"infoGrid\": \"-esm-patient-registration__identifier-selection__infoGrid___aSeof\",\n\t\"label01\": \"-esm-patient-registration__identifier-selection__label01___8tPCN\",\n\t\"productiveHeading02\": \"-esm-patient-registration__identifier-selection__productiveHeading02___b3p5U\",\n\t\"space05\": \"-esm-patient-registration__identifier-selection__space05___eRmc9\",\n\t\"formContainer\": \"-esm-patient-registration__identifier-selection__formContainer___QPygk\",\n\t\"stickyColumn\": \"-esm-patient-registration__identifier-selection__stickyColumn___9Bhjd\",\n\t\"touchTarget\": \"-esm-patient-registration__identifier-selection__touchTarget___ipeDz\",\n\t\"linkName\": \"-esm-patient-registration__identifier-selection__linkName___zMbqE\",\n\t\"main\": \"-esm-patient-registration__identifier-selection__main___mOlPs\",\n\t\"overlayButtons\": \"-esm-patient-registration__identifier-selection__overlayButtons___Xw-N2\",\n\t\"radioGroup\": \"-esm-patient-registration__identifier-selection__radioGroup___dkFof\",\n\t\"radioButton\": \"-esm-patient-registration__identifier-selection__radioButton___Q0dWt\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79}.-esm-patient-registration__overlay__title___ovEFv{color:var(--omrs-color-brand-teal)}.-esm-patient-registration__overlay__submit___MEU04{width:250px}.-esm-patient-registration__overlay__submit___MEU04:hover{cursor:pointer}.-esm-patient-registration__overlay__cancelButton___Kuq8k{width:11.688rem}.-esm-patient-registration__overlay__submitButton___koip2{margin-bottom:1rem;width:11.688rem;display:block}.-esm-patient-registration__overlay__infoGrid___IR-lJ{width:100%;margin-bottom:40vh;margin-top:1rem}.-esm-patient-registration__overlay__label01___UFjWe{font-size:.75rem;font-weight:400;line-height:1.34;letter-spacing:.32px;margin-top:1rem;margin-bottom:1rem;color:#8d8d8d}.-esm-patient-registration__overlay__productiveHeading02___0-7g8{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;color:#8d8d8d;cursor:pointer}.-esm-patient-registration__overlay__space05___3-aCf{margin:1rem 0 1rem 0}.-esm-patient-registration__overlay__formContainer___0etfN{display:flex;width:100%}.-esm-patient-registration__overlay__stickyColumn___ZAq3J{position:sticky;margin-top:1rem;top:4rem}.-esm-patient-registration__overlay__touchTarget___eSQ3o a:active{color:#161616}.-esm-patient-registration__overlay__linkName___Kol4j{color:#525252;line-height:1.38;font-size:1rem;font-weight:600}.-esm-patient-registration__overlay__linkName___Kol4j:active{text-decoration:none;color:#161616}.-esm-patient-registration__overlay__linkName___Kol4j:hover{text-decoration:none;color:#161616;cursor:pointer}.-esm-patient-registration__overlay__main___pCgsu{background-color:#fff}.-esm-patient-registration__overlay__desktopOverlay___pTy0O{position:fixed;top:3rem;right:0;height:calc(100vh - 3rem);min-width:27rem;background-color:#fff;border-left:1px solid #a8a8a8;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;z-index:999}.-esm-patient-registration__overlay__tabletOverlay___\\\\+CQze{position:fixed;top:0;bottom:0;left:0;right:0;z-index:9999;background-color:#fff;overflow:hidden;padding-top:3rem;display:grid;grid-template-rows:1fr auto}.-esm-patient-registration__overlay__tabletOverlayHeader___omtl4 button{background-color:#005d5d !important}.-esm-patient-registration__overlay__tabletOverlayHeader___omtl4 .-esm-patient-registration__overlay__headerContent___S7vPL{color:#fff}.-esm-patient-registration__overlay__desktopHeader___X3NCa{display:flex;justify-content:space-between;align-items:center;background-color:#e0e0e0;border-bottom:1px solid #a8a8a8}.-esm-patient-registration__overlay__headerContent___S7vPL{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;padding:0 1rem;color:#161616}.-esm-patient-registration__overlay__closeButton___8Pcw1{background-color:#fff}.-esm-patient-registration__overlay__overlayContent___9V2UN{padding:1rem;overflow-y:auto}.-esm-patient-registration__overlay__buttonsGroup___5b3bz{align-self:end}.-esm-patient-registration__overlay__buttonsGroup___5b3bz button{max-width:unset !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss\",\"webpack://./src/patient-registration/patient-registration.scss\",\"webpack://./../../node_modules/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/_styles.scss\",\"webpack://./../../node_modules/carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/_spacing.scss\",\"webpack://./src/patient-registration/ui-components/overlay/overlay.scss\"],\"names\":[],\"mappings\":\"AAyCA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CCxCF,mDACE,kCAAA,CAGF,oDACE,WAAA,CAGF,0DACE,cAAA,CAGF,0DACE,eAAA,CAGF,0DACE,kBAAA,CACA,eAAA,CACA,aAAA,CAGF,sDACE,UAAA,CACA,kBAAA,CACA,eAAA,CAGF,qDC+eI,gBAqLsB,CArLtB,eAqLsB,CArLtB,gBAqLsB,CArLtB,oBAqLsB,CDlqBxB,eEHmB,CFInB,kBEJmB,CFKnB,aDjCM,CCoCR,iECweI,cAqLsB,CArLtB,eAqLsB,CArLtB,iBAqLsB,CArLtB,gBAqLsB,CD3pBxB,aDtCM,CCuCN,cAAA,CAGF,qDACE,oBAAA,CAGF,2DACE,YAAA,CACA,UAAA,CAGF,0DACE,eAAA,CACA,eAAA,CAEA,QAAA,CAGF,kEACE,aDpDe,CCuDjB,sDACE,aDzDc,CC0Dd,gBAAA,CACA,cAAA,CACA,eAAA,CAEA,6DACE,oBAAA,CACA,aD/Da,CCkEf,4DACE,oBAAA,CACA,aDpEa,CCqEb,cAAA,CAIJ,kDACE,qBAAA,CGlFF,4DACE,cAAA,CACA,QD+CmB,CC9CnB,OAAA,CACA,yBAAA,CACA,eAAA,CACA,qBJPM,CIQN,6BAAA,CACA,eAAA,CACA,YAAA,CACA,gCAAA,CACA,WAAA,CAGF,4DACE,cAAA,CACA,KAAA,CACA,QAAA,CACA,MAAA,CACA,OAAA,CACA,YAAA,CACA,qBJtBM,CIuBN,eAAA,CACA,gBD0BmB,CCzBnB,YAAA,CACA,2BAAA,CAIA,wEACE,mCAAA,CAEF,4HACE,UJlCI,CIsCR,2DACE,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,wBJzCM,CI0CN,+BAAA,CAGF,2DFgeI,cAqLsB,CArLtB,eAqLsB,CArLtB,iBAqLsB,CArLtB,gBAqLsB,CEnpBxB,cAAA,CACA,aJ9CM,CIiDR,yDACE,qBJrDM,CIwDR,4DACE,YD3BmB,CC4BnB,eAAA,CAGF,0DACE,cAAA,CAGF,iEACE,0BAAA\",\"sourcesContent\":[\"$ui-01: #f4f4f4;\\n$ui-02: #ffffff;\\n$ui-03: #e0e0e0;\\n$ui-04: #8d8d8d;\\n$ui-05: #161616;\\n$text-02: #525252;\\n$text-03: #a8a8a8;\\n$ui-background: #ffffff;\\n$color-gray-30: #c6c6c6;\\n$color-gray-70: #525252;\\n$color-gray-100: #161616;\\n$color-blue-60-2: #0f62fe;\\n$color-blue-10: #edf5ff;\\n$color-yellow-50: #feecae;\\n$carbon--red-50: #fa4d56;\\n$inverse-link: #78a9ff;\\n$support-02: #24a148;\\n$inverse-support-03: #f1c21b;\\n$warning-background: #fff8e1;\\n$openmrs-background-grey: #f4f4f4;\\n$danger: #da1e28;\\n$interactive-01: #0f62fe;\\n$field-01: #f4f4f4;\\n$grey-2: #e0e0e0;\\n$labeldropdown: #c6c6c6;\\n\\n@mixin brand-01($property) {\\n #{$property}: #005d5d;\\n #{$property}: var(--brand-01);\\n}\\n\\n@mixin brand-02($property) {\\n #{$property}: #004144;\\n #{$property}: var(--brand-02);\\n}\\n\\n@mixin brand-03($property) {\\n #{$property}: #007d79;\\n #{$property}: var(--brand-03);\\n}\\n\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n}\\n\\n$breakpoint-phone-min: 0px;\\n$breakpoint-phone-max: 600px;\\n$breakpoint-tablet-min: 601px;\\n$breakpoint-tablet-max: 1200px;\\n$breakpoint-desktop-min: 1201px;\\n$breakpoint-desktop-max: 99999999px;\\n\\n/* These color variables will be removed in a future release */\\n$brand-teal-01: #007d79;\\n$brand-01: #005d5d;\\n$brand-02: #004144;\\n\",\"@import \\\"~carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/styles\\\";\\n@import \\\"~carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/spacing\\\";\\n@import \\\"~@openmrs/esm-styleguide/src/vars\\\";\\n\\n.title {\\n color: var(--omrs-color-brand-teal);\\n}\\n\\n.submit {\\n width: 250px;\\n}\\n\\n.submit:hover {\\n cursor: pointer;\\n}\\n\\n.cancelButton {\\n width: 11.688rem;\\n}\\n\\n.submitButton {\\n margin-bottom: 1rem;\\n width: 11.688rem;\\n display: block;\\n}\\n\\n.infoGrid {\\n width: 100%;\\n margin-bottom: 40vh;\\n margin-top: 1rem;\\n}\\n\\n.label01 {\\n @include carbon--type-style(\\\"label-01\\\");\\n margin-top: $spacing-05;\\n margin-bottom: $spacing-05;\\n color: $ui-04;\\n}\\n\\n.productiveHeading02 {\\n @include carbon--type-style(\\\"productive-heading-02\\\");\\n color: $ui-04;\\n cursor: pointer;\\n}\\n\\n.space05 {\\n margin: $spacing-05 0 $spacing-05 0;\\n}\\n\\n.formContainer {\\n display: flex;\\n width: 100%;\\n}\\n\\n.stickyColumn {\\n position: sticky;\\n margin-top: 1rem;\\n // 3rem for the nav height and 1rem for top margin\\n top: 4rem;\\n}\\n\\n.touchTarget a:active {\\n color: $color-gray-100;\\n}\\n\\n.linkName {\\n color: $color-gray-70;\\n line-height: 1.38;\\n font-size: 1rem;\\n font-weight: 600;\\n\\n &:active {\\n text-decoration: none;\\n color: $color-gray-100;\\n }\\n\\n &:hover {\\n text-decoration: none;\\n color: $color-gray-100;\\n cursor: pointer;\\n }\\n}\\n\\n.main {\\n background-color: white;\\n}\\n\\n\",\"//\\n// Copyright IBM Corp. 2018, 2018\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n@import '../layout/breakpoint';\\n@import 'font-family';\\n@import 'scale';\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$caption-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-01: (\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$helper-text-01: (\\n font-size: carbon--type-scale(1),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-01: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(1),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.34,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-02: (\\n font-family: carbon--font-family('mono'),\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.43,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-01: (\\n font-size: carbon--type-scale(2),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.29,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-01: $heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-02: (\\n font-size: carbon--type-scale(3),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-02: $heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n // Extra digit needed for precision in Chrome\\n line-height: 1.199,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-07: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-01: map-merge(\\n $heading-01,\\n (\\n line-height: 1.25,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-02: map-merge(\\n $heading-02,\\n (\\n line-height: 1.5,\\n )\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-03: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(5),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-04: (\\n font-size: carbon--type-scale(7),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.29,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.25,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-05: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-06: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-paragraph-01: (\\n font-size: carbon--type-scale(6),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.334,\\n letter-spacing: 0,\\n breakpoints: (\\n lg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n);\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-01: (\\n font-size: carbon--type-scale(5),\\n font-weight: carbon--font-weight('regular'),\\n line-height: 1.3,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(5),\\n ),\\n lg: (\\n font-size: carbon--type-scale(6),\\n line-height: 1.334,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(7),\\n line-height: 1.29,\\n ),\\n max: (\\n font-size: carbon--type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-02: (\\n font-size: carbon--type-scale(8),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: carbon--type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-01: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-02: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(10),\\n ),\\n lg: (\\n font-size: carbon--type-scale(12),\\n ),\\n xlg: (\\n font-size: carbon--type-scale(13),\\n line-height: 1.16,\\n ),\\n max: (\\n font-size: carbon--type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-03: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-04: (\\n font-size: carbon--type-scale(10),\\n font-weight: carbon--font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: carbon--type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: carbon--type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: carbon--type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: carbon--type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$tokens: (\\n caption-01: $caption-01,\\n label-01: $label-01,\\n helper-text-01: $helper-text-01,\\n body-short-01: $body-short-01,\\n body-short-02: $body-short-02,\\n body-long-01: $body-long-01,\\n body-long-02: $body-long-02,\\n code-01: $code-01,\\n code-02: $code-02,\\n heading-01: $heading-01,\\n heading-02: $heading-02,\\n productive-heading-01: $productive-heading-01,\\n productive-heading-02: $productive-heading-02,\\n productive-heading-03: $productive-heading-03,\\n productive-heading-04: $productive-heading-04,\\n productive-heading-05: $productive-heading-05,\\n productive-heading-06: $productive-heading-06,\\n productive-heading-07: $productive-heading-07,\\n expressive-paragraph-01: $expressive-paragraph-01,\\n expressive-heading-01: $expressive-heading-01,\\n expressive-heading-02: $expressive-heading-02,\\n expressive-heading-03: $expressive-heading-03,\\n expressive-heading-04: $expressive-heading-04,\\n expressive-heading-05: $expressive-heading-05,\\n expressive-heading-06: $expressive-heading-06,\\n quotation-01: $quotation-01,\\n quotation-02: $quotation-02,\\n display-01: $display-01,\\n display-02: $display-02,\\n display-03: $display-03,\\n display-04: $display-04,\\n);\\n\\n/// @param {Map} $map\\n/// @access public\\n/// @group @carbon/type\\n@mixin properties($map) {\\n @each $name, $value in $map {\\n #{$name}: $value;\\n }\\n}\\n\\n/// @param {Number} $value - Number with units\\n/// @return {Number} Without units\\n/// @access public\\n/// @group @carbon/type\\n@function strip-unit($value) {\\n @return $value / ($value * 0 + 1);\\n}\\n\\n/// This helper includes fluid type styles for the given token value. Fluid type\\n/// means that the `font-size` is computed using `calc()` in order to be\\n/// determined by the screen size instead of a breakpoint. As a result, fluid\\n/// styles should be used with caution in fixed width contexts.\\n///\\n/// In addition, we make use of %-based line-heights so that the line-height of\\n/// each type style is computed correctly due to the dynamic nature of the\\n/// `font-size`.\\n///\\n/// Most of the logic for this work comes from CSS Tricks:\\n/// https://css-tricks.com/snippets/css/fluid-typography/\\n///\\n/// @param {Map} $type-styles - The value of a given type token\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Custom breakpoints to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type($type-styles, $breakpoints: $carbon--grid-breakpoints) {\\n // Include the initial styles for the given token by default without any\\n // media query guard. This includes `font-size` as a fallback in the case\\n // that a browser does not support `calc()`\\n @include properties(map-remove($type-styles, breakpoints));\\n // We also need to include the `sm` styles by default since they don't\\n // appear in the fluid styles for tokens\\n @include fluid-type-size($type-styles, sm, $breakpoints);\\n\\n // Finally, we need to go through all the breakpoints defined in the type\\n // token and apply the properties and fluid type size for that given\\n // breakpoint\\n @each $name, $values in map-get($type-styles, breakpoints) {\\n @include carbon--breakpoint($name) {\\n @include properties($values);\\n @include fluid-type-size($type-styles, $name, $breakpoints);\\n }\\n }\\n}\\n\\n/// Computes the fluid `font-size` for a given type style and breakpoint\\n/// @param {Map} $type-styles - The styles for a given token\\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - The breakpoints for the grid system\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type-size(\\n $type-styles,\\n $name,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n // Get the information about the breakpoint we're currently working in. Useful\\n // for getting initial width information\\n $breakpoint: map-get($breakpoints, $name);\\n\\n // Our fluid styles are captured under the 'breakpoints' property in our type\\n // styles map. These define what values to treat as `max-` variables below\\n $fluid-sizes: map-get($type-styles, breakpoints);\\n $fluid-breakpoint: ();\\n // Special case for `sm` because the styles for small are on the type style\\n // directly\\n @if $name == sm {\\n $fluid-breakpoint: map-remove($type-styles, breakpoints);\\n } @else {\\n $fluid-breakpoint: map-get($fluid-sizes, $name);\\n }\\n\\n // Initialize our font-sizes to the default size for the type style\\n $max-font-size: map-get($type-styles, font-size);\\n $min-font-size: map-get($type-styles, font-size);\\n @if map-has-key($fluid-breakpoint, font-size) {\\n $min-font-size: map-get($fluid-breakpoint, font-size);\\n }\\n\\n // Initialize our min and max width to the width of the current breakpoint\\n $max-vw: map-get($breakpoint, width);\\n $min-vw: map-get($breakpoint, width);\\n\\n // We can use `breakpoint-next` to see if there is another breakpoint we can\\n // use to update `max-font-size` and `max-vw` with larger values\\n $next-breakpoint-available: carbon--breakpoint-next($name, $breakpoints);\\n $next-fluid-breakpoint-name: null;\\n\\n // We need to figure out what the next available fluid breakpoint is for our\\n // given $type-styles. In this loop we try and iterate through breakpoints\\n // until we either manually set $next-breakpoint-available to null or\\n // `breakpoint-next` returns null.\\n @while $next-breakpoint-available {\\n @if map-has-key($fluid-sizes, $next-breakpoint-available) {\\n $next-fluid-breakpoint-name: $next-breakpoint-available;\\n $next-breakpoint-available: null;\\n } @else {\\n $next-breakpoint-available: carbon--breakpoint-next(\\n $next-breakpoint-available,\\n $breakpoints\\n );\\n }\\n }\\n\\n // If we have found the next available fluid breakpoint name, then we know\\n // that we have values that we can use to set max-font-size and max-vw as both\\n // values derive from the next breakpoint\\n @if $next-fluid-breakpoint-name {\\n $next-fluid-breakpoint: map-get($breakpoints, $next-fluid-breakpoint-name);\\n $max-font-size: map-get(\\n map-get($fluid-sizes, $next-fluid-breakpoint-name),\\n font-size\\n );\\n $max-vw: map-get($next-fluid-breakpoint, width);\\n\\n // prettier-ignore\\n font-size: calc(#{$min-font-size} +\\n #{strip-unit($max-font-size - $min-font-size)} *\\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\\n );\\n } @else {\\n // Otherwise, just default to setting the font size found from the type\\n // style or the given fluid breakpoint in the type style\\n font-size: $min-font-size;\\n }\\n}\\n\\n// TODO move following variable and `custom-property` mixin into shared file for\\n// both `@carbon/type` and `@carbon/themes`\\n\\n/// @access private\\n/// @group @carbon/type\\n$custom-property-prefix: 'cds' !default;\\n\\n/// @access private\\n/// @group @carbon/type\\n@mixin custom-properties($name, $value) {\\n @each $property, $value in $value {\\n #{$property}: var(\\n --#{$custom-property-prefix}-#{$name}-#{$property},\\n #{$value}\\n );\\n }\\n}\\n\\n/// Helper mixin to include the styles for a given token in any selector in your\\n/// project. Also includes an optional fluid option that will enable fluid\\n/// styles for the token if they are defined. Fluid styles will cause the\\n/// token's font-size to be computed based on the viewport size. As a result, use\\n/// with caution in fixed contexts.\\n/// @param {String} $name - The name of the token to get the styles for\\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\\n/// @param {Map} $breakpoints [$carbon--grid-breakpoints] - Provide a custom breakpoint map to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin carbon--type-style(\\n $name,\\n $fluid: false,\\n $breakpoints: $carbon--grid-breakpoints\\n) {\\n @if not map-has-key($tokens, $name) {\\n @error 'Unable to find a token with the name: `#{$name}`';\\n }\\n\\n $token: map-get($tokens, $name);\\n\\n // If $fluid is set to true and the token has breakpoints defined for fluid\\n // styles, delegate to the fluid-type helper for the given token\\n @if $fluid == true and map-has-key($token, 'breakpoints') {\\n @include fluid-type($token, $breakpoints);\\n } @else {\\n @if global-variable-exists('feature-flags') and\\n map-get($feature-flags, 'enable-css-custom-properties')\\n {\\n @include custom-properties($name, $token);\\n } @else {\\n // Otherwise, we just include all the property declarations directly on the\\n // selector\\n @include properties(map-remove($token, 'breakpoints'));\\n }\\n }\\n}\\n\",\"// Code generated by @carbon/layout. DO NOT EDIT.\\n//\\n// Copyright IBM Corp. 2018, 2019\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-01: 0.125rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-02: 0.25rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-03: 0.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-04: 0.75rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-05: 1rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-06: 1.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-07: 2rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-08: 2.5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-09: 3rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-10: 4rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-11: 5rem !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing-12: 6rem !default;\\n\\n/// @type List\\n/// @access public\\n/// @group @carbon/layout\\n$carbon--spacing: (\\n $carbon--spacing-01,\\n $carbon--spacing-02,\\n $carbon--spacing-03,\\n $carbon--spacing-04,\\n $carbon--spacing-05,\\n $carbon--spacing-06,\\n $carbon--spacing-07,\\n $carbon--spacing-08,\\n $carbon--spacing-09,\\n $carbon--spacing-10,\\n $carbon--spacing-11,\\n $carbon--spacing-12\\n);\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-01\\n$spacing-01: $carbon--spacing-01 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-02\\n$spacing-02: $carbon--spacing-02 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-03\\n$spacing-03: $carbon--spacing-03 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-04\\n$spacing-04: $carbon--spacing-04 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-05\\n$spacing-05: $carbon--spacing-05 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-06\\n$spacing-06: $carbon--spacing-06 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-07\\n$spacing-07: $carbon--spacing-07 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-08\\n$spacing-08: $carbon--spacing-08 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-09\\n$spacing-09: $carbon--spacing-09 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-10\\n$spacing-10: $carbon--spacing-10 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-11\\n$spacing-11: $carbon--spacing-11 !default;\\n\\n/// @type Number\\n/// @access public\\n/// @group @carbon/layout\\n/// @alias carbon--spacing-12\\n$spacing-12: $carbon--spacing-12 !default;\\n\",\"@import '../../patient-registration.scss';\\n\\n.desktopOverlay {\\n position: fixed;\\n top: $spacing-09;\\n right: 0;\\n height: calc(100vh - 3rem);\\n min-width: 27rem;\\n background-color: $ui-02;\\n border-left: 1px solid $text-03;\\n overflow: hidden;\\n display: grid;\\n grid-template-rows: auto 1fr auto;\\n z-index: 999;\\n}\\n\\n.tabletOverlay {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 9999;\\n background-color: $ui-02;\\n overflow: hidden;\\n padding-top: $spacing-09;\\n display: grid;\\n grid-template-rows: 1fr auto;\\n}\\n\\n.tabletOverlayHeader {\\n button {\\n background-color: $brand-01 !important;\\n }\\n .headerContent {\\n color: $ui-02;\\n }\\n}\\n\\n.desktopHeader {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n background-color: $ui-03;\\n border-bottom: 1px solid $text-03;\\n}\\n\\n.headerContent {\\n @include carbon--type-style(\\\"productive-heading-02\\\");\\n padding: 0 $spacing-05;\\n color: $ui-05;\\n}\\n\\n.closeButton {\\n background-color: $ui-02;\\n}\\n\\n.overlayContent {\\n padding: $spacing-05;\\n overflow-y: auto;\\n}\\n\\n.buttonsGroup {\\n align-self: end;\\n}\\n\\n.buttonsGroup button {\\n max-width: unset !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"title\": \"-esm-patient-registration__overlay__title___ovEFv\",\n\t\"submit\": \"-esm-patient-registration__overlay__submit___MEU04\",\n\t\"cancelButton\": \"-esm-patient-registration__overlay__cancelButton___Kuq8k\",\n\t\"submitButton\": \"-esm-patient-registration__overlay__submitButton___koip2\",\n\t\"infoGrid\": \"-esm-patient-registration__overlay__infoGrid___IR-lJ\",\n\t\"label01\": \"-esm-patient-registration__overlay__label01___UFjWe\",\n\t\"productiveHeading02\": \"-esm-patient-registration__overlay__productiveHeading02___0-7g8\",\n\t\"space05\": \"-esm-patient-registration__overlay__space05___3-aCf\",\n\t\"formContainer\": \"-esm-patient-registration__overlay__formContainer___0etfN\",\n\t\"stickyColumn\": \"-esm-patient-registration__overlay__stickyColumn___ZAq3J\",\n\t\"touchTarget\": \"-esm-patient-registration__overlay__touchTarget___eSQ3o\",\n\t\"linkName\": \"-esm-patient-registration__overlay__linkName___Kol4j\",\n\t\"main\": \"-esm-patient-registration__overlay__main___pCgsu\",\n\t\"desktopOverlay\": \"-esm-patient-registration__overlay__desktopOverlay___pTy0O\",\n\t\"tabletOverlay\": \"-esm-patient-registration__overlay__tabletOverlay___+CQze\",\n\t\"tabletOverlayHeader\": \"-esm-patient-registration__overlay__tabletOverlayHeader___omtl4\",\n\t\"headerContent\": \"-esm-patient-registration__overlay__headerContent___S7vPL\",\n\t\"desktopHeader\": \"-esm-patient-registration__overlay__desktopHeader___X3NCa\",\n\t\"closeButton\": \"-esm-patient-registration__overlay__closeButton___8Pcw1\",\n\t\"overlayContent\": \"-esm-patient-registration__overlay__overlayContent___9V2UN\",\n\t\"buttonsGroup\": \"-esm-patient-registration__overlay__buttonsGroup___5b3bz\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["when","redirect","history","useHistory","t","useTranslation","ref","useRef","localTarget","setTarget","useState","target","cancelUnload","useCallback","e","message","preventDefault","returnValue","cancelNavigation","evt","detail","navigationIsCanceled","current","dispose","showModal","onConfirm","newUrl","useEffect","window","addEventListener","removeEventListener","url","push","split","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","validationSchema","Yup","givenName","required","familyName","additionalGivenName","is","then","otherwise","notRequired","additionalFamilyName","gender","oneOf","birthdate","max","Date","nullable","yearsEstimated","min","monthsEstimated","deathDate","email","optional","PatientRegistrationContext","createContext","dummyFormValues","middleName","unidentifiedPatient","additionalMiddleName","addNameInLocalLanguage","birthdateEstimated","telephoneNumber","address1","address2","cityVillage","stateProvince","country","postalCode","isDead","deathCause","relationships","relatedPerson","relationship","identifiers","DummyDataInput","setValues","onClick","className","styles","type","DemographicsSection","fields","field","meta","useField","setFieldValue","useContext","value","touched","map","key","getField","ContactInfoSection","fieldName","Autosuggest","name","placeholder","getDisplayValue","getFieldValue","getSearchResults","onSuggestionSelected","suggestions","setSuggestions","searchBox","wrapper","document","handleClickOutsideComponent","contains","Search","id","labelText","onChange","query","light","size","length","suggestion","index","display","input","handleClick","RelationshipsSection","relationshipTypes","ResourcesContext","displayRelationshipTypes","setDisplayRelationshipTypes","React","tmp","results","forEach","aIsToB","uuid","direction","bIsToA","handleRelationshipTypeChange","event","selectedIndex","handleSuggestionSelected","selectedSuggestion","searchPerson","async","abortController","AbortController","fetchPerson","data","sectionStyles","remove","form","values","_relationship","style","marginBottom","item","Select","defaultValue","SelectItem","disabled","hidden","text","Button","kind","Input","checkWarning","props","invalidText","error","warnText","useMemo","warning","TextInput","invalid","warn","SelectInput","label","selectOptions","currentOption","DeathInfoSection","SectionWrapper","children","color","margin","Tile","parseString","xmlDockAsString","DOMParser","parseFromString","getTagAsDocument","tagName","template","getElementsByTagName","outerHTML","AddressField","addressTemplate","addressFields","setAddressFields","addressTemplateXml","templateXmlDoc","nameMappings","elementDefaults","properties","propertiesObj","Array","prototype","call","property","getAttribute","doc","fieldElement","attributes","PhoneField","PhoneEmailField","containsNoNumbers","checkNumber","test","NameField","setCapturePhotoProps","currentPhoto","onCapturePhoto","dataUri","photoDateTime","imageData","dateTime","fieldConfigs","useFieldConfig","ExtensionSlot","extensionSlotName","state","initialState","displayMiddleName","DobField","estimated","format","placeHolder","dateFormat","separator","parse","parts","date","order","setDate","parseInt","setMonth","setFullYear","getDate","getMonth","getFullYear","join","x","DatePicker","datePickerType","DatePickerInput","EobField","today","ev","years","isNaN","GenderBirthField","RadioButtonGroup","orientation","valueSelected","RadioButton","IdentifierInput","patientIdentifier","patientIdentifiers","identifierTypes","identifierType","find","setValidationSchema","source","action","identifier","identifierName","option","setAutoGenerationOption","manualEntryEnabled","automaticGenerationEnabled","identifierValidationSchema","setIdentifierValidationSchema","restoredValue","setRestoredValue","autoGenerationOption","handleEdit","identifierSources","handleDelete","handleUndo","autoGenerated","iconDescription","hasIconOnly","isPrimary","close","header","buttonsGroup","isDesktop","useLayoutType","Header","closeOverlay","setIdentifierTypes","searchString","setSearchString","getIdentifierByTypeUuid","identifierTypeUuid","checked","handleSearch","filteredIdentifiers","filter","toLowerCase","includes","identifierTypeFields","showIdentifierSources","Checkbox","handleCheckingIdentifier","legendText","defaultSelected","sourceUuid","handleSelectingIdentifierSource","ind","handleConfiguringIdentifiers","findIndex","IdField","inEditMode","desktop","showIdentifierOverlay","setIdentifierOverlay","findElementValueInXmlDoc","elementSelector","querySelector","cancelRegistration","navigate","to","spaBase","getFormValuesFromFhirPatient","patient","result","patientName","additionalPatientName","given","family","capitalize","birthDate","telecom","deceasedBoolean","deceasedDateTime","camelCase","system","getAddressFieldValuesFromFhirPatient","address","Object","entries","ext","extension","valueString","getPatientUuidMapFromFhirPatient","patientUuid","preferredNameUuid","additionalNameUuid","preferredAddressUuid","getPhonePersonAttributeValueFromFhirPatient","getPatientIdentifiers","openmrsFetch","blankFormValues","getPatientRegistration","getSynchronizationItems","patientRegistration","exportedInitialFormValuesForTesting","PatientRegistration","savePatientForm","match","currentSession","search","useLocation","config","useConfig","params","sections","setSections","initialSchema","isLoading","usePatient","capturePhotoProps","setFieldConfigs","initialFormValues","setInitialFormValues","fallback","registration","formValues","useInitialFormValues","initialAddressFieldValues","setInitialAddressFieldValues","useInitialAddressFieldValues","patientUuidMap","setPatientUuidMap","usePatientUuidMap","location","sessionLocation","showDummyData","localStorage","getItem","photo","usePatientPhoto","configuredSections","section","sectionDefinitions","fieldConfigurations","addressFieldValues","addressValidationSchema","querySelectorAll","validationSchemaObjs","nameMapping","regex","regexFormat","reduce","final","matches","parseAddressTemplateXml","concat","enableReinitialize","initialValues","onSubmit","helpers","setSubmitting","createdPatientUuid","concepts","patientPhotoUuid","personAttributeSections","showToast","description","title","redirectUrl","interpolateUrl","URLSearchParams","get","interpolateString","links","submitButton","responseBody","globalErrors","createErrorHandler","dirty","Link","scrollIntoView","viewId","getElementById","behavior","block","inline","Grid","Provider","imageSrc","sectionProps","renderSection","getSection","Root","resources","BrowserRouter","basename","backgroundColor","Row","Route","exact","path","render","___CSS_LOADER_EXPORT___","module","locals"],"sourceRoot":""}
|