@medplum/react 2.0.18 → 2.0.19
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/cjs/index.cjs +175 -77
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.min.cjs +1 -1
- package/dist/esm/AppShell/Navbar.mjs +83 -32
- package/dist/esm/AppShell/Navbar.mjs.map +1 -1
- package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs +3 -2
- package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs.map +1 -1
- package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs +3 -0
- package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs.map +1 -1
- package/dist/esm/index.min.mjs +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAdjustmentsHorizontal.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAdjustmentsHorizontal.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleach.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleach.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleachOff.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleachOff.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBoxMultiple.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBoxMultiple.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBracketsContain.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBracketsContain.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucket.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucket.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucketOff.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucketOff.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendar.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendar.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCircleMinus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCircleMinus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCirclePlus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCirclePlus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCloudUpload.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCloudUpload.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconColumns.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconColumns.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCurrencyDollar.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCurrencyDollar.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconDots.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconDots.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEdit.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEdit.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqual.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqual.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqualNot.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqualNot.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFileAlert.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFileAlert.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilePlus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilePlus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilter.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilter.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconListDetails.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconListDetails.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconLogout.mjs +4 -2
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconLogout.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathGreater.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathGreater.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathLower.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathLower.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMessage.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMessage.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPin.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPin.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPinnedOff.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPinnedOff.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPlus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPlus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSettings.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSettings.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortAscending.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortAscending.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortDescending.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortDescending.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSwitchHorizontal.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSwitchHorizontal.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTableExport.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTableExport.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconX.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconX.mjs.map +1 -1
- package/dist/types/AddressDisplay/AddressDisplay.d.ts +1 -0
- package/dist/types/AddressInput/AddressInput.d.ts +1 -0
- package/dist/types/AnnotationInput/AnnotationInput.d.ts +1 -0
- package/dist/types/AppShell/HeaderSearchInput.d.ts +1 -0
- package/dist/types/AppShell/Navbar.d.ts +1 -0
- package/dist/types/AsyncAutocomplete/AsyncAutocomplete.d.ts +1 -0
- package/dist/types/AttachmentArrayDisplay/AttachmentArrayDisplay.d.ts +1 -0
- package/dist/types/AttachmentArrayInput/AttachmentArrayInput.d.ts +1 -0
- package/dist/types/AttachmentDisplay/AttachmentDisplay.d.ts +1 -0
- package/dist/types/AttachmentInput/AttachmentInput.d.ts +1 -0
- package/dist/types/BackboneElementDisplay/BackboneElementDisplay.d.ts +1 -0
- package/dist/types/BackboneElementInput/BackboneElementInput.d.ts +1 -0
- package/dist/types/BookmarkDialog/BookmarkDialog.d.ts +1 -0
- package/dist/types/CalendarInput/CalendarInput.d.ts +1 -0
- package/dist/types/CodeInput/CodeInput.d.ts +1 -0
- package/dist/types/CodeableConceptDisplay/CodeableConceptDisplay.d.ts +1 -0
- package/dist/types/CodeableConceptInput/CodeableConceptInput.d.ts +1 -0
- package/dist/types/CodingDisplay/CodingDisplay.d.ts +1 -0
- package/dist/types/CodingInput/CodingInput.d.ts +1 -0
- package/dist/types/ContactDetailDisplay/ContactDetailDisplay.d.ts +1 -0
- package/dist/types/ContactDetailInput/ContactDetailInput.d.ts +1 -0
- package/dist/types/ContactPointDisplay/ContactPointDisplay.d.ts +1 -0
- package/dist/types/ContactPointInput/ContactPointInput.d.ts +1 -0
- package/dist/types/Container/Container.d.ts +1 -0
- package/dist/types/DateTimeInput/DateTimeInput.d.ts +1 -0
- package/dist/types/DefaultResourceTimeline/DefaultResourceTimeline.d.ts +1 -0
- package/dist/types/DiagnosticReportDisplay/DiagnosticReportDisplay.d.ts +1 -0
- package/dist/types/Document/Document.d.ts +1 -0
- package/dist/types/EncounterTimeline/EncounterTimeline.d.ts +1 -0
- package/dist/types/ExtensionInput/ExtensionInput.d.ts +1 -0
- package/dist/types/FhirPathDisplay/FhirPathDisplay.d.ts +1 -0
- package/dist/types/GoogleButton/GoogleButton.d.ts +1 -0
- package/dist/types/HumanNameDisplay/HumanNameDisplay.d.ts +1 -0
- package/dist/types/HumanNameInput/HumanNameInput.d.ts +1 -0
- package/dist/types/IdentifierDisplay/IdentifierDisplay.d.ts +1 -0
- package/dist/types/IdentifierInput/IdentifierInput.d.ts +1 -0
- package/dist/types/Loading/Loading.d.ts +1 -0
- package/dist/types/Logo/Logo.d.ts +1 -0
- package/dist/types/MoneyDisplay/MoneyDisplay.d.ts +1 -0
- package/dist/types/MoneyInput/MoneyInput.d.ts +1 -0
- package/dist/types/NoteDisplay/NoteDisplay.d.ts +1 -0
- package/dist/types/OperationOutcomeAlert/OperationOutcomeAlert.d.ts +1 -0
- package/dist/types/Panel/Panel.d.ts +1 -0
- package/dist/types/PatientTimeline/PatientTimeline.d.ts +1 -0
- package/dist/types/PeriodInput/PeriodInput.d.ts +1 -0
- package/dist/types/PlanDefinitionBuilder/PlanDefinitionBuilder.d.ts +1 -0
- package/dist/types/QuantityDisplay/QuantityDisplay.d.ts +1 -0
- package/dist/types/QuantityInput/QuantityInput.d.ts +1 -0
- package/dist/types/QuestionnaireBuilder/QuestionnaireBuilder.d.ts +1 -0
- package/dist/types/QuestionnaireForm/QuestionnaireForm.d.ts +1 -0
- package/dist/types/RangeDisplay/RangeDisplay.d.ts +1 -0
- package/dist/types/RangeInput/RangeInput.d.ts +1 -0
- package/dist/types/RatioDisplay/RatioDisplay.d.ts +1 -0
- package/dist/types/RatioInput/RatioInput.d.ts +1 -0
- package/dist/types/ReferenceDisplay/ReferenceDisplay.d.ts +1 -0
- package/dist/types/ReferenceInput/ReferenceInput.d.ts +1 -0
- package/dist/types/ReferenceRangeEditor/ReferenceRangeEditor.d.ts +1 -0
- package/dist/types/RequestGroupDisplay/RequestGroupDisplay.d.ts +1 -0
- package/dist/types/ResourceArrayDisplay/ResourceArrayDisplay.d.ts +1 -0
- package/dist/types/ResourceArrayInput/ResourceArrayInput.d.ts +1 -0
- package/dist/types/ResourceAvatar/ResourceAvatar.d.ts +1 -0
- package/dist/types/ResourceBadge/ResourceBadge.d.ts +1 -0
- package/dist/types/ResourceBlame/ResourceBlame.d.ts +1 -0
- package/dist/types/ResourceDiff/ResourceDiff.d.ts +1 -0
- package/dist/types/ResourceDiffTable/ResourceDiffTable.d.ts +1 -0
- package/dist/types/ResourceForm/ResourceForm.d.ts +1 -0
- package/dist/types/ResourceHistoryTable/ResourceHistoryTable.d.ts +1 -0
- package/dist/types/ResourceInput/ResourceInput.d.ts +1 -0
- package/dist/types/ResourceName/ResourceName.d.ts +1 -0
- package/dist/types/ResourcePropertyDisplay/ResourcePropertyDisplay.d.ts +1 -0
- package/dist/types/ResourcePropertyInput/ResourcePropertyInput.d.ts +1 -0
- package/dist/types/ResourceTable/ResourceTable.d.ts +1 -0
- package/dist/types/ResourceTimeline/ResourceTimeline.d.ts +1 -0
- package/dist/types/Scheduler/Scheduler.d.ts +1 -0
- package/dist/types/SearchControl/SearchUtils.d.ts +1 -0
- package/dist/types/SearchExportDialog/SearchExportDialog.d.ts +1 -0
- package/dist/types/SearchFieldEditor/SearchFieldEditor.d.ts +1 -0
- package/dist/types/SearchFilterEditor/SearchFilterEditor.d.ts +1 -0
- package/dist/types/SearchFilterValueDialog/SearchFilterValueDialog.d.ts +1 -0
- package/dist/types/SearchFilterValueDisplay/SearchFilterValueDisplay.d.ts +1 -0
- package/dist/types/SearchFilterValueInput/SearchFilterValueInput.d.ts +1 -0
- package/dist/types/SearchPopupMenu/SearchPopupMenu.d.ts +1 -0
- package/dist/types/ServiceRequestTimeline/ServiceRequestTimeline.d.ts +1 -0
- package/dist/types/StatusBadge/StatusBadge.d.ts +1 -0
- package/dist/types/TimingInput/TimingInput.d.ts +1 -0
- package/dist/types/ValueSetAutocomplete/ValueSetAutocomplete.d.ts +1 -0
- package/dist/types/auth/ChooseProfileForm.d.ts +1 -0
- package/dist/types/auth/ChooseScopeForm.d.ts +1 -0
- package/dist/types/auth/MfaForm.d.ts +1 -0
- package/dist/types/auth/NewProjectForm.d.ts +1 -0
- package/package.json +13 -13
package/dist/esm/index.min.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{formatAddress as e,createReference as t,normalizeErrorString as n,formatHumanName as r,isResource as a,isReference as l,deepEquals as o,normalizeOperationOutcome as c,getDisplayString as i,getImageSrc as s,getReferenceString as u,isUUID as m,deepClone as d,formatCodeableConcept as p,formatCoding as h,formatMoney as g,formatQuantity as f,formatRange as E,stringify as v,getElementDefinitionTypeName as y,PropertyType as C,formatTiming as k,formatPeriod as b,formatDateTime as x,getTypedPropertyValue as T,globalSchema as w,getPropertyDisplayName as S,capitalize as I,isValidDate as M,isOk as A,formatObservationValue as D,toTypedValue as V,evalFhirPath as R,Operator as P,DEFAULT_SEARCH_COUNT as N,evalFhirPathTyped as z,getSearchParameterDetails as O,SearchParameterType as $,formatSearchQuery as L,getQuestionnaireAnswers as F,getCodeBySystem as U}from"@medplum/core";import _,{useState as q,useRef as j,createContext as W,useEffect as B,useContext as K,forwardRef as H,createElement as Q,useCallback as G,Suspense as J,useMemo as Y}from"react";import{Group as X,NativeSelect as Z,TextInput as ee,Alert as te,Center as ne,Loader as re,Anchor as ae,Avatar as le,MultiSelect as oe,createStyles as ce,Text as ie,Header as se,UnstyledButton as ue,Menu as me,Stack as de,Modal as pe,Button as he,Navbar as ge,Space as fe,useMantineTheme as Ee,AppShell as ve,ActionIcon as ye,Input as Ce,JsonInput as ke,Autocomplete as be,Switch as xe,Chip as Te,Textarea as we,Checkbox as Se,Container as Ie,Blockquote as Me,Badge as Ae,Title as De,List as Ve,useComponentDefaultProps as Re,Paper as Pe,ScrollArea as Ne,Box as ze,Table as Oe,Pagination as $e,Radio as Le,Divider as Fe,Grid as Ue,PasswordInput as _e}from"@mantine/core";import qe from"prop-types";import{useLocation as je,useSearchParams as We}from"react-router-dom";import{showNotification as Be,updateNotification as Ke}from"@mantine/notifications";function He(t){const n=t.value;return n?_.createElement(_.Fragment,null,e(n)):null}function Qe(e,t){return e&&e.line&&e.line.length>t?e.line[t]:""}function Ge(e,t,n){const r=e.line||[];for(;r.length<=t;)r.push("");return r[t]=n,{...e,line:r}}function Je(e){const[t,n]=q(e.defaultValue||{}),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{"data-testid":"address-use",defaultValue:t?.use,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,use:t});var t},data:["","home","work","temp","old","billing"]}),_.createElement(Z,{"data-testid":"address-type",defaultValue:t?.type,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,type:t});var t},data:["","postal","physical","both"]}),_.createElement(ee,{placeholder:"Line 1",defaultValue:Qe(t,0),onChange:e=>{return t=e.currentTarget.value,void a(Ge(r.current||{},0,t));var t}}),_.createElement(ee,{placeholder:"Line 2",defaultValue:Qe(t,1),onChange:e=>{return t=e.currentTarget.value,void a(Ge(r.current||{},1,t));var t}}),_.createElement(ee,{placeholder:"City",defaultValue:t.city,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,city:t});var t}}),_.createElement(ee,{placeholder:"State",defaultValue:t.state,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,state:t});var t}}),_.createElement(ee,{placeholder:"Postal Code",defaultValue:t.postalCode,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,postalCode:t});var t}}))}const Ye=W(void 0);function Xe(e){const t=e.medplum,n=e.navigate||rt,[r,a]=q({profile:t.getProfile(),loading:!1});B((()=>{function e(){a({...r,profile:t.getProfile()})}return t.addEventListener("change",e),()=>t.removeEventListeneer("change",e)}),[t,r]);const l={...r,medplum:t,navigate:n};return _.createElement(Ye.Provider,{value:l},e.children)}function Ze(){return K(Ye)}function et(){return Ze().medplum}function tt(){return Ze().navigate}function nt(){return Ze().profile}function rt(e){window.location.assign(e)}function at(e){const n=nt(),[r,a]=q(e.defaultValue||{});return j().current=r,_.createElement(ee,{name:e.name,placeholder:"Annotation text",defaultValue:r.text,onChange:r=>function(r){const l=r?{text:r,authorReference:n&&t(n),time:(new Date).toISOString()}:{};a(l),e.onChange&&e.onChange(l)}(r.currentTarget.value)})}var lt={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},ot=Object.defineProperty,ct=Object.defineProperties,it=Object.getOwnPropertyDescriptors,st=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,mt=Object.prototype.propertyIsEnumerable,dt=(e,t,n)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pt=(e,t)=>{for(var n in t||(t={}))ut.call(t,n)&&dt(e,n,t[n]);if(st)for(var n of st(t))mt.call(t,n)&&dt(e,n,t[n]);return e},ht=(e,t,n)=>{const r=H(((t,r)=>{var a,l=t,{color:o="currentColor",size:c=24,stroke:i=2,children:s}=l,u=((e,t)=>{var n={};for(var r in e)ut.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&st)for(var r of st(e))t.indexOf(r)<0&&mt.call(e,r)&&(n[r]=e[r]);return n})(l,["color","size","stroke","children"]);return Q("svg",pt((a=pt({ref:r},lt),ct(a,it({width:c,height:c,stroke:o,strokeWidth:i,className:`tabler-icon tabler-icon-${e}`}))),u),[...n.map((([e,t])=>Q(e,t))),...s||[]])}));return r.propTypes={color:qe.string,size:qe.oneOfType([qe.string,qe.number]),stroke:qe.oneOfType([qe.string,qe.number])},r.displayName=`${t}`,r},gt=ht("adjustments-horizontal","IconAdjustmentsHorizontal",[["path",{d:"M14 6m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M4 6l8 0",key:"svg-1"}],["path",{d:"M16 6l4 0",key:"svg-2"}],["path",{d:"M8 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M4 12l2 0",key:"svg-4"}],["path",{d:"M10 12l10 0",key:"svg-5"}],["path",{d:"M17 18m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-6"}],["path",{d:"M4 18l11 0",key:"svg-7"}],["path",{d:"M19 18l1 0",key:"svg-8"}]]),ft=ht("alert-circle","IconAlertCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 8v4",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]),Et=ht("bleach-off","IconBleachOff",[["path",{d:"M5 19h14m1.986 -1.977a2 2 0 0 0 -.146 -.773l-7.1 -12.25a2 2 0 0 0 -3.5 0l-.815 1.405m-1.488 2.568l-4.797 8.277a2 2 0 0 0 1.75 2.75",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]),vt=ht("bleach","IconBleach",[["path",{d:"M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75",key:"svg-0"}]]),yt=ht("box-multiple","IconBoxMultiple",[["path",{d:"M7 3m0 2a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z",key:"svg-0"}],["path",{d:"M17 17v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2",key:"svg-1"}]]),Ct=ht("brackets-contain","IconBracketsContain",[["path",{d:"M7 4h-4v16h4",key:"svg-0"}],["path",{d:"M17 4h4v16h-4",key:"svg-1"}],["path",{d:"M8 16h.01",key:"svg-2"}],["path",{d:"M12 16h.01",key:"svg-3"}],["path",{d:"M16 16h.01",key:"svg-4"}]]),kt=ht("bucket-off","IconBucketOff",[["path",{d:"M5.029 5.036c-.655 .58 -1.029 1.25 -1.029 1.964c0 2.033 3.033 3.712 6.96 3.967m3.788 -.21c3.064 -.559 5.252 -2.029 5.252 -3.757c0 -2.21 -3.582 -4 -8 -4c-1.605 0 -3.1 .236 -4.352 .643",key:"svg-0"}],["path",{d:"M4 7c0 .664 .088 1.324 .263 1.965l2.737 10.035c.5 1.5 2.239 2 5 2s4.5 -.5 5 -2c.1 -.3 .252 -.812 .457 -1.535m.862 -3.146c.262 -.975 .735 -2.76 1.418 -5.354a7.45 7.45 0 0 0 .263 -1.965",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),bt=ht("bucket","IconBucket",[["path",{d:"M12 7m-8 0a8 4 0 1 0 16 0a8 4 0 1 0 -16 0",key:"svg-0"}],["path",{d:"M4 7c0 .664 .088 1.324 .263 1.965l2.737 10.035c.5 1.5 2.239 2 5 2s4.5 -.5 5 -2c.333 -1 1.246 -4.345 2.737 -10.035a7.45 7.45 0 0 0 .263 -1.965",key:"svg-1"}]]),xt=ht("calendar","IconCalendar",[["path",{d:"M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z",key:"svg-0"}],["path",{d:"M16 3v4",key:"svg-1"}],["path",{d:"M8 3v4",key:"svg-2"}],["path",{d:"M4 11h16",key:"svg-3"}],["path",{d:"M11 15h1",key:"svg-4"}],["path",{d:"M12 15v3",key:"svg-5"}]]),Tt=ht("check","IconCheck",[["path",{d:"M5 12l5 5l10 -10",key:"svg-0"}]]),wt=ht("checkbox","IconCheckbox",[["path",{d:"M9 11l3 3l8 -8",key:"svg-0"}],["path",{d:"M20 12v6a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h9",key:"svg-1"}]]),St=ht("chevron-down","IconChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),It=ht("circle-minus","IconCircleMinus",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l6 0",key:"svg-1"}]]),Mt=ht("circle-plus","IconCirclePlus",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l6 0",key:"svg-1"}],["path",{d:"M12 9l0 6",key:"svg-2"}]]),At=ht("cloud-upload","IconCloudUpload",[["path",{d:"M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1",key:"svg-0"}],["path",{d:"M9 15l3 -3l3 3",key:"svg-1"}],["path",{d:"M12 12l0 9",key:"svg-2"}]]),Dt=ht("columns","IconColumns",[["path",{d:"M4 6l5.5 0",key:"svg-0"}],["path",{d:"M4 10l5.5 0",key:"svg-1"}],["path",{d:"M4 14l5.5 0",key:"svg-2"}],["path",{d:"M4 18l5.5 0",key:"svg-3"}],["path",{d:"M14.5 6l5.5 0",key:"svg-4"}],["path",{d:"M14.5 10l5.5 0",key:"svg-5"}],["path",{d:"M14.5 14l5.5 0",key:"svg-6"}],["path",{d:"M14.5 18l5.5 0",key:"svg-7"}]]),Vt=ht("currency-dollar","IconCurrencyDollar",[["path",{d:"M16.7 8a3 3 0 0 0 -2.7 -2h-4a3 3 0 0 0 0 6h4a3 3 0 0 1 0 6h-4a3 3 0 0 1 -2.7 -2",key:"svg-0"}],["path",{d:"M12 3v3m0 12v3",key:"svg-1"}]]),Rt=ht("dots","IconDots",[["path",{d:"M5 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M19 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),Pt=ht("edit","IconEdit",[["path",{d:"M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1",key:"svg-0"}],["path",{d:"M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z",key:"svg-1"}],["path",{d:"M16 5l3 3",key:"svg-2"}]]),Nt=ht("equal-not","IconEqualNot",[["path",{d:"M5 10h14",key:"svg-0"}],["path",{d:"M5 14h14",key:"svg-1"}],["path",{d:"M5 19l14 -14",key:"svg-2"}]]),zt=ht("equal","IconEqual",[["path",{d:"M5 10h14",key:"svg-0"}],["path",{d:"M5 14h14",key:"svg-1"}]]),Ot=ht("file-alert","IconFileAlert",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z",key:"svg-1"}],["path",{d:"M12 17l.01 0",key:"svg-2"}],["path",{d:"M12 11l0 3",key:"svg-3"}]]),$t=ht("file-plus","IconFilePlus",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z",key:"svg-1"}],["path",{d:"M12 11l0 6",key:"svg-2"}],["path",{d:"M9 14l6 0",key:"svg-3"}]]),Lt=ht("filter","IconFilter",[["path",{d:"M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z",key:"svg-0"}]]),Ft=ht("list-details","IconListDetails",[["path",{d:"M13 5h8",key:"svg-0"}],["path",{d:"M13 9h5",key:"svg-1"}],["path",{d:"M13 15h8",key:"svg-2"}],["path",{d:"M13 19h5",key:"svg-3"}],["path",{d:"M3 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z",key:"svg-4"}],["path",{d:"M3 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z",key:"svg-5"}]]),Ut=ht("logout","IconLogout",[["path",{d:"M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 12h14l-3 -3m0 6l3 -3",key:"svg-1"}]]),_t=ht("math-greater","IconMathGreater",[["path",{d:"M5 18l14 -6l-14 -6",key:"svg-0"}]]),qt=ht("math-lower","IconMathLower",[["path",{d:"M19 18l-14 -6l14 -6",key:"svg-0"}]]),jt=ht("message","IconMessage",[["path",{d:"M8 9h8",key:"svg-0"}],["path",{d:"M8 13h6",key:"svg-1"}],["path",{d:"M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12z",key:"svg-2"}]]),Wt=ht("pin","IconPin",[["path",{d:"M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4",key:"svg-0"}],["path",{d:"M9 15l-4.5 4.5",key:"svg-1"}],["path",{d:"M14.5 4l5.5 5.5",key:"svg-2"}]]),Bt=ht("pinned-off","IconPinnedOff",[["path",{d:"M3 3l18 18",key:"svg-0"}],["path",{d:"M15 4.5l-3.249 3.249m-2.57 1.433l-2.181 .818l-1.5 1.5l7 7l1.5 -1.5l.82 -2.186m1.43 -2.563l3.25 -3.251",key:"svg-1"}],["path",{d:"M9 15l-4.5 4.5",key:"svg-2"}],["path",{d:"M14.5 4l5.5 5.5",key:"svg-3"}]]),Kt=ht("plus","IconPlus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]),Ht=ht("search","IconSearch",[["path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0",key:"svg-0"}],["path",{d:"M21 21l-6 -6",key:"svg-1"}]]),Qt=ht("settings","IconSettings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]),Gt=ht("sort-ascending","IconSortAscending",[["path",{d:"M4 6l7 0",key:"svg-0"}],["path",{d:"M4 12l7 0",key:"svg-1"}],["path",{d:"M4 18l9 0",key:"svg-2"}],["path",{d:"M15 9l3 -3l3 3",key:"svg-3"}],["path",{d:"M18 6l0 12",key:"svg-4"}]]),Jt=ht("sort-descending","IconSortDescending",[["path",{d:"M4 6l9 0",key:"svg-0"}],["path",{d:"M4 12l7 0",key:"svg-1"}],["path",{d:"M4 18l7 0",key:"svg-2"}],["path",{d:"M15 15l3 3l3 -3",key:"svg-3"}],["path",{d:"M18 6l0 12",key:"svg-4"}]]),Yt=ht("square","IconSquare",[["path",{d:"M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z",key:"svg-0"}]]),Xt=ht("switch-horizontal","IconSwitchHorizontal",[["path",{d:"M16 3l4 4l-4 4",key:"svg-0"}],["path",{d:"M10 7l10 0",key:"svg-1"}],["path",{d:"M8 13l-4 4l4 4",key:"svg-2"}],["path",{d:"M4 17l9 0",key:"svg-3"}]]),Zt=ht("table-export","IconTableExport",[["path",{d:"M12.5 21h-7.5a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5",key:"svg-0"}],["path",{d:"M3 10h18",key:"svg-1"}],["path",{d:"M10 3v18",key:"svg-2"}],["path",{d:"M16 19h6",key:"svg-3"}],["path",{d:"M19 16l3 3l-3 3",key:"svg-4"}]]),en=ht("trash","IconTrash",[["path",{d:"M4 7l16 0",key:"svg-0"}],["path",{d:"M10 11l0 6",key:"svg-1"}],["path",{d:"M14 11l0 6",key:"svg-2"}],["path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12",key:"svg-3"}],["path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3",key:"svg-4"}]]),tn=ht("x","IconX",[["path",{d:"M18 6l-12 12",key:"svg-0"}],["path",{d:"M6 6l12 12",key:"svg-1"}]]);class nn extends _.Component{constructor(e){super(e),this.state={}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("Uncaught error:",e,t)}render(){return this.state.error?_.createElement(te,{icon:_.createElement(ft,{size:16}),title:"Something went wrong",color:"red"},n(this.state.error)):this.props.children}}function rn(){return _.createElement(ne,{style:{width:"100%",height:"100vh"}},_.createElement(re,null))}function an(e){const t=e.value;return t?_.createElement(_.Fragment,null,r(t,e.options)):null}function ln(e){e.preventDefault(),e.stopPropagation()}function on(e){if(cn(e))return!0;if(e instanceof HTMLTableCellElement){const t=e.children;if(1===t.length&&cn(t[0]))return!0}return!1}function cn(e){return e instanceof HTMLInputElement&&"checkbox"===e.type}function sn(e){const t=tt(),{to:n,suffix:r,label:o,onClick:c,children:i,...s}=e;let u=function(e){if(e){if("string"==typeof e)return function(e){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/"))return e;return"/"+e}(e);if(a(e))return function(e){return`/${e.resourceType}/${e.id}`}(e);if(l(e))return function(e){return`/${e.reference}`}(e)}return"#"}(n);return r&&(u+="/"+r),_.createElement(ae,{href:u,"aria-label":o,onClick:e=>{ln(e),c?c(e):n&&t(u)},...s},i)}function un(e,t){const n=et(),[r,a]=q(mn(n,e)),i=G((e=>{o(e,r)||a(e)}),[r,a]);return B((()=>{i(mn(n,e))}),[n,e,i]),B((()=>{let r=!0;return l(e)&&n.readReference(e).then((e=>{r&&i(e)})).catch((e=>{r&&(i(void 0),t&&t(c(e)))})),()=>r=!1}),[n,r,e,i,t]),r}function mn(e,t){if(t){if(a(t))return t;if(l(t))return e.getCachedReference(t)}}function dn(e){const t=un(e.value),n=t?i(t):e.alt??"",r=(t&&s(t))??e.src,a=e.radius??"xl",l={...e};return delete l.value,delete l.link,e.link?_.createElement(sn,{to:t},_.createElement(le,{src:r,alt:n,radius:a,...l})):_.createElement(le,{src:r,alt:n,radius:a,...l})}function pn(e){const{defaultValue:t,toKey:n,toOption:r,loadOptions:a,onChange:l,onCreate:o,creatable:c,...i}=e,s=function(e){if(!e)return[];if(Array.isArray(e))return e;return[e]}(t),u=j(null),[m,d]=q(void 0),[p,h]=q(),[g,f]=q(),[E,v]=q(),[y,C]=q(s?.map(r)),k=j();k.current=m;const b=j();b.current=p;const x=j();x.current=g;const T=j();T.current=E;const w=j();w.current=y;const S=G((()=>{h(void 0);const e=u.current?.value?.trim()||"";if(e===k.current)return;d(e);const t=new AbortController;f(t),a(e,t.signal).then((e=>{t.signal.aborted||(C(e.map(r)),f(void 0),T.current&&(e.length>0&&l(e.slice(0,1)),v(!1)))})).catch(console.log)}),[a,l,r]),I=G((()=>{x.current&&(x.current.abort(),f(void 0)),void 0!==b.current&&window.clearTimeout(b.current);const e=window.setTimeout((()=>S()),100);h(e)}),[S]),M=G((e=>{const t=[];for(const n of e){let e=w.current?.find((e=>e.value===n))?.resource;e||!1===c||(e=o(n)),e&&t.push(e)}l(t)}),[c,l,o]),A=G((e=>{"Enter"===e.key&&(b.current||x.current?v(!0):(ln(e),w.current&&w.current.length>0&&(C(w.current.slice(0,1)),M([w.current[0].value]))))}),[M]),D=G((e=>{const t=r(o(e));return C([...w.current,t]),t}),[o,C,r]),V=G(((e,t)=>!t),[]);return B((()=>()=>{x.current&&x.current.abort()}),[]),_.createElement(oe,{...i,ref:u,defaultValue:s.map(n),searchable:!0,onKeyDown:A,onSearchChange:I,data:y,onFocus:S,onChange:M,onCreate:D,rightSectionWidth:40,rightSection:g?_.createElement(re,{size:16}):null,filter:V,creatable:!0})}const hn=ce((()=>({searchInput:{input:{width:220,transition:"width 0.2s"},"input:focus":{width:400},"@media (max-width: 800px)":{input:{width:150},"input:focus":{width:150}}}})));function gn(e){return e.id}function fn(e){return{value:e.id,label:i(e),resource:e}}function En(){const{classes:e}=hn(),t=tt(),n=et(),r=je(),a=G((async(e,t)=>{const r=function(e){const t=JSON.stringify(e);if(m(e))return`{\n Patients1: PatientList(_id: ${t}, _count: 1) {\n resourceType\n id\n identifier {\n system\n value\n }\n name {\n given\n family\n }\n birthDate\n }\n ServiceRequestList(_id: ${t}, _count: 1) {\n resourceType\n id\n identifier {\n system\n value\n }\n subject {\n display\n }\n }\n }`.replace(/\s+/g," ");return`{\n Patients1: PatientList(name: ${t}, _count: 5) {\n resourceType\n id\n identifier {\n system\n value\n }\n name {\n given\n family\n }\n birthDate\n }\n Patients2: PatientList(identifier: ${t}, _count: 5) {\n resourceType\n id\n identifier {\n system\n value\n }\n name {\n given\n family\n }\n birthDate\n }\n ServiceRequestList(identifier: ${t}, _count: 5) {\n resourceType\n id\n identifier {\n system\n value\n }\n subject {\n display\n }\n }\n }`.replace(/\s+/g," ")}(e),a={signal:t};return function(e,t){const n=[];e.data.Patients1&&n.push(...e.data.Patients1);e.data.Patients2&&n.push(...e.data.Patients2);e.data.ServiceRequestList&&n.push(...e.data.ServiceRequestList);return function(e,t){return e.sort(((e,n)=>yn(n,t)-yn(e,t)))}(function(e){const t=new Set,n=[];for(const r of e)t.has(r.id)||(t.add(r.id),n.push(r));return n}(n),t).slice(0,5)}(await n.graphql(r,void 0,void 0,a),e)}),[n]),l=G((e=>{e.length>0&&t(`/${u(e[0])}`)}),[t]);return _.createElement(pn,{key:r.pathname,size:"sm",radius:"md",className:e.searchInput,icon:_.createElement(Ht,{size:16}),placeholder:"Search",itemComponent:vn,toKey:gn,toOption:fn,onChange:l,loadOptions:a})}const vn=H((({resource:e,...t},n)=>{let r;return"Patient"===e.resourceType?r=e.birthDate:"ServiceRequest"===e.resourceType&&(r=e.subject?.display),_.createElement("div",{ref:n,...t},_.createElement(X,{noWrap:!0},_.createElement(dn,{value:e}),_.createElement("div",null,_.createElement(ie,null,i(e)),_.createElement(ie,{size:"xs",color:"dimmed"},r))))}));function yn(e,t){let n=0;if(e.identifier)for(const r of e.identifier)n=Math.max(n,Cn(r.value,t));if("Patient"===e.resourceType&&e.name)for(const a of e.name)n=Math.max(n,Cn(r(a),t));return n}function Cn(e,t){if(!e)return 0;const n=e.toLowerCase().indexOf(t.toLowerCase());return n<0?0:100-n}const kn=ce((e=>({logoButton:{padding:`${e.spacing.xs} ${e.spacing.sm}`,borderRadius:e.radius.sm,transition:"background-color 100ms ease","&:hover":{backgroundColor:e.fn.lighten(e.fn.variant({variant:"filled",color:e.primaryColor}).background,.8)}},user:{padding:`${e.spacing.xs} ${e.spacing.sm}`,borderRadius:e.radius.sm,transition:"background-color 100ms ease","&:hover":{backgroundColor:e.fn.lighten(e.fn.variant({variant:"filled",color:e.primaryColor}).background,.8)}},userName:{fontWeight:500,lineHeight:1,marginRight:3,[e.fn.smallerThan("xs")]:{display:"none"}},userActive:{backgroundColor:e.fn.lighten(e.fn.variant({variant:"filled",color:e.primaryColor}).background,.8)}})));function bn(e){const t=Ze(),{medplum:n,profile:a,navigate:l}=t,o=n.getLogins(),{classes:c,cx:i}=kn(),[s,m]=q(!1);return _.createElement(se,{height:60,p:8,style:{zIndex:101}},_.createElement(X,{position:"apart"},_.createElement(X,{spacing:"xs"},_.createElement(ue,{className:c.logoButton,onClick:e.navbarToggle},e.logo),_.createElement(En,null)),_.createElement(me,{width:260,shadow:"xl",position:"bottom-end",transitionProps:{transition:"pop-top-right"},opened:s,onClose:()=>m(!1)},_.createElement(me.Target,null,_.createElement(ue,{className:i(c.user,{[c.userActive]:s}),onClick:()=>m((e=>!e))},_.createElement(X,{spacing:7},_.createElement(dn,{value:a,radius:"xl",size:24}),_.createElement(ie,{size:"sm",className:c.userName},r(a?.name?.[0])),_.createElement(St,{size:12,stroke:1.5})))),_.createElement(me.Dropdown,null,_.createElement(de,{align:"center",p:"xl"},_.createElement(dn,{size:"xl",radius:100,value:t.profile}),_.createElement(an,{value:t.profile?.name?.[0]}),_.createElement(ie,{color:"dimmed",size:"xs"},n.getActiveLogin()?.project?.display)),o.length>1&&_.createElement(me.Divider,null),o.map((e=>e.profile?.reference!==u(t.profile)&&_.createElement(me.Item,{key:e.profile?.reference,onClick:()=>{n.setActiveLogin(e).then((()=>window.location.reload())).catch(console.log)}},_.createElement(X,null,_.createElement(le,{radius:"xl"}),_.createElement("div",{style:{flex:1}},_.createElement(ie,{size:"sm",weight:500},e.profile?.display),_.createElement(ie,{color:"dimmed",size:"xs"},e.project?.display)))))),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(Xt,{size:14,stroke:1.5}),onClick:()=>l("/signin")},"Add another account"),_.createElement(me.Item,{icon:_.createElement(Qt,{size:14,stroke:1.5}),onClick:()=>l(`/${u(a)}`)},"Account settings"),_.createElement(me.Item,{icon:_.createElement(Ut,{size:14,stroke:1.5}),onClick:async()=>{await n.signOut(),l("/signin")}},"Sign out"),_.createElement(ie,{size:"xs",color:"dimmed",align:"center"},e.version)))))}function xn(e){const t={};for(const n of Array.from(e.elements))n instanceof HTMLInputElement?Tn(t,n):n instanceof HTMLTextAreaElement?t[n.name]=n.value:n instanceof HTMLSelectElement&&wn(t,n);return t}function Tn(e,t){t.disabled||("checkbox"!==t.type&&"radio"!==t.type||t.checked)&&(e[t.name]=t.value)}function wn(e,t){e[t.name]=t.value}function Sn(e){return _.createElement("form",{style:e.style,"data-testid":e.testid,onSubmit:t=>{t.preventDefault();const n=xn(t.target);e.onSubmit&&e.onSubmit(n)}},e.children)}function In(e){const t=et(),r=t.getUserConfiguration(),a=je();return _.createElement(pe,{title:"Add Bookmark",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:e.onCancel},_.createElement(Sn,{onSubmit:function(l){const{menuname:o,bookmarkname:c}=l,i=a.pathname+a.search,s=d(r),u=s?.menu?.find((({title:e})=>e===o));u?.link?.push({name:c,target:i}),t.updateResource(s).then((n=>{r.menu=n.menu,t.dispatchEvent({type:"change"}),Be({color:"green",message:"Success"}),e.onOk()})).catch((e=>{Be({color:"red",message:n(e)})}))}},_.createElement(de,null,_.createElement(Mn,{config:r}),_.createElement(ee,{label:"Bookmark Name",type:"text",name:"bookmarkname",placeholder:"bookmark name",withAsterisk:!0}),_.createElement(X,{position:"right"},_.createElement(he,{mt:"sm",type:"submit"},"OK")))))}function Mn(e){const t=(n=e.config,n?.menu?.map((e=>e.title)));var n;return _.createElement(Z,{name:"menuname",defaultValue:t?.[0],label:"Select Menu Option",placeholder:"Menu",data:t,withAsterisk:!0})}function An(e){return e.code}function Dn(e){return{value:e.code,label:(t=e,t.display||t.code||""),resource:e};var t}function Vn(e){return{code:e,display:e}}function Rn(e){const t=et(),{elementDefinition:n,creatable:r,clearable:a,...l}=e,o=G((async(e,r)=>{const a=n.binding?.valueSet,l=await t.searchValueSet(a,e,{signal:r}),o=l.expansion?.contains,c=[];for(const e of o)e.code&&!c.some((t=>t.code===e.code))&&c.push(e);return c}),[t,n]);return _.createElement(pn,{...l,creatable:r??!0,clearable:a??!0,toKey:An,toOption:Dn,loadOptions:o,onCreate:Vn,getCreateLabel:!1===r?void 0:e=>`+ Create ${e}`})}function Pn(e){const[t,n]=q(e.defaultValue);return _.createElement(Rn,{elementDefinition:e.property,name:e.name,placeholder:e.placeholder,defaultValue:(r=t,r?{code:r}:void 0),onChange:function(t){const r=t[0],a=(l=r,l?.code);var l;n(a),e.onChange&&e.onChange(a)},creatable:e.creatable,maxSelectedValues:e.maxSelectedValues,clearSearchOnChange:e.clearSearchOnChange,clearable:e.clearable});var r}const Nn=ce((e=>({menuTitle:{margin:"20px 0 4px 6px",fontSize:"9px",fontWeight:"normal",textTransform:"uppercase",letterSpacing:"2px"},link:{...e.fn.focusStyles(),display:"flex",alignItems:"center",textDecoration:"none",fontSize:e.fontSizes.sm,color:"dark"===e.colorScheme?e.colors.dark[1]:e.colors.gray[7],padding:"8px 12px",borderRadius:e.radius.sm,fontWeight:500,"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[6]:e.colors.gray[0],color:"dark"===e.colorScheme?e.white:e.black,textDecoration:"none","& svg":{color:"dark"===e.colorScheme?e.white:e.black}},"& svg":{color:"dark"===e.colorScheme?e.colors.dark[2]:e.colors.gray[6],marginRight:e.spacing.sm,strokeWidth:1.5,width:18,height:18}},linkActive:{"&, &:hover":{backgroundColor:e.fn.variant({variant:"light",color:e.primaryColor}).background,color:e.fn.variant({variant:"light",color:e.primaryColor}).color,"& svg":{color:e.fn.variant({variant:"light",color:e.primaryColor}).color}}}})));function zn(e){const{classes:t}=Nn(),n=tt(),[r,a]=q(!1);return _.createElement(_.Fragment,null,_.createElement(ge,{width:{sm:250},p:"xs"},_.createElement(ge.Section,{mb:"sm"},_.createElement(Pn,{key:window.location.pathname,name:"resourceType",placeholder:"Resource Type",property:{binding:{valueSet:"http://hl7.org/fhir/ValueSet/resource-types"}},onChange:e=>{var t;(t=e)&&n(`/${t}`)},creatable:!1,maxSelectedValues:0,clearSearchOnChange:!0,clearable:!1})),_.createElement(ge.Section,{grow:!0},e.menus?.map((r=>_.createElement(_.Fragment,{key:`menu-${r.title}`},_.createElement(ie,{className:t.menuTitle},r.title),r.links?.map((t=>_.createElement(On,{key:t.href,to:t.href,onClick:r=>function(t,r){t.stopPropagation(),t.preventDefault(),n(r),window.innerWidth<768&&e.closeNavbar()}(r,t.href)},_.createElement($n,{to:t.href,icon:t.icon}),_.createElement("span",null,t.label))))))),e.displayAddBookmark&&_.createElement(he,{variant:"subtle",size:"xs",mt:"xl",leftIcon:_.createElement(Kt,{size:"0.75rem"}),onClick:()=>a(!0)},"Add Bookmark"))),_.createElement(In,{visible:r,onOk:()=>a(!1),onCancel:()=>a(!1)}))}function On(e){const{classes:t,cx:n}=Nn(),r=je(),[a]=We(),l=new URL(e.to,window.location.protocol+"//"+window.location.host),o=r.pathname===l.pathname&&function(e,t){for(const[n,r]of t.searchParams.entries())if(e.get(n)!==r)return!1;return!0}(a,l);return _.createElement(sn,{onClick:e.onClick,to:e.to,className:n(t.link,{[t.linkActive]:o})},e.children)}function $n(e){return e.icon?e.icon:_.createElement(fe,{w:30})}function Ln(e){const t=Ee(),[n,r]=q("true"===localStorage.navbarOpen),a=et(),l=nt();function o(e){localStorage.navbarOpen=e.toString(),r(e)}return a.isLoading()?_.createElement(rn,null):_.createElement(ve,{styles:{main:{background:"dark"===t.colorScheme?t.colors.dark[8]:t.colors.gray[0]}},padding:0,fixed:!0,header:l&&_.createElement(bn,{logo:e.logo,version:e.version,navbarToggle:function(){o(!n)}}),navbar:l&&n?_.createElement(zn,{menus:e.menus,closeNavbar:function(){o(!1)},displayAddBookmark:e.displayAddBookmark}):void 0},_.createElement(nn,null,_.createElement(J,{fallback:_.createElement(rn,null)},e.children)))}function Fn(e){const t=e.value,{contentType:n,url:r,title:a}=t??{};return r?_.createElement("div",{"data-testid":"attachment-display"},n?.startsWith("image/")&&_.createElement("img",{"data-testid":"attachment-image",style:{maxWidth:e.maxWidth},src:r,alt:t?.title}),n?.startsWith("video/")&&_.createElement("video",{"data-testid":"attachment-video",style:{maxWidth:e.maxWidth},controls:!0},_.createElement("source",{type:n,src:r})),"application/pdf"===n&&!a?.endsWith(".pdf")&&_.createElement("div",{"data-testid":"attachment-pdf",style:{maxWidth:e.maxWidth,minHeight:400}},_.createElement("iframe",{width:"100%",height:"400",src:r+"#navpanes=0",allowFullScreen:!0,frameBorder:0,seamless:!0})),_.createElement("div",{"data-testid":"download-link",style:{padding:"2px 16px 16px 16px"}},_.createElement(ae,{href:t?.url,"data-testid":"attachment-details",target:"_blank",rel:"noopener noreferrer"},t?.title||"Download"))):null}function Un(e){return _.createElement("div",null,e.values&&e.values.map(((t,n)=>_.createElement("div",{key:"attatchment-"+n},_.createElement(Fn,{value:t,maxWidth:e.maxWidth})))))}function _n(e){const t=et(),n=j(null);function r(n){if(!n)return;if(!n.name)return;e.onUploadStart&&e.onUploadStart();const r=n.name,a=n.type||"application/octet-stream";t.createBinary(n,r,a,e.onUploadProgress).then((t=>{e.onUpload({contentType:t.contentType,url:t.url,title:r})})).catch((e=>{alert(e?.issue?.[0]?.details?.text)}))}return _.createElement(_.Fragment,null,_.createElement("input",{type:"file","data-testid":"upload-file-input",style:{display:"none"},ref:n,onChange:e=>function(e){ln(e);const t=e.target.files;t&&Array.from(t).forEach(r)}(e)}),e.children({onClick:function(e){ln(e),n.current?.click()}}))}function qn(e){const[t,n]=q(e.defaultValue??[]),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement("table",{style:{width:"100%"}},_.createElement("colgroup",null,_.createElement("col",{width:"97%"}),_.createElement("col",{width:"3%"})),_.createElement("tbody",null,t.map(((e,n)=>_.createElement("tr",{key:`${n}-${t.length}`},_.createElement("td",null,_.createElement(Fn,{value:e,maxWidth:200})),_.createElement("td",null,_.createElement(ye,{title:"Remove",size:"sm",onClick:e=>{ln(e);const r=t.slice();r.splice(n,1),a(r)}},_.createElement(It,null)))))),_.createElement("tr",null,_.createElement("td",null),_.createElement("td",null,_.createElement(_n,{onUpload:e=>{a([...r.current,e])}},(e=>_.createElement(ye,{...e,title:"Add",size:"sm",color:"green"},_.createElement(At,{size:16}))))))))}function jn(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return t?_.createElement(_.Fragment,null,_.createElement(Fn,{value:t,maxWidth:200}),_.createElement(he,{onClick:e=>{ln(e),r(void 0)}},"Remove")):_.createElement(_n,{onUpload:r},(e=>_.createElement(he,{...e},"Upload...")))}const Wn=["meta","implicitRules","language","text","contained","extension","modifierExtension"],Bn=ce((e=>({root:{display:"grid",gridTemplateColumns:"30% 70%",margin:0,"& > dt, & > dd":{padding:`${e.spacing.sm} ${e.spacing.sm}`,borderTop:`0.1px solid ${e.colors.gray[3]}`,margin:0}},compact:{gridTemplateColumns:"20% 80%","& > dt, & > dd":{padding:`0 ${e.spacing.xs} ${e.spacing.xs} 0`,border:0}}})));function Kn(e){const{children:t,compact:n}=e,{classes:r,cx:a}=Bn();return _.createElement("dl",{className:a(r.root,{[r.compact]:n})},t)}function Hn(e){return _.createElement(_.Fragment,null,_.createElement("dt",null,e.term),_.createElement("dd",null,e.children))}function Qn(e){return _.createElement(_.Fragment,null,p(e.value))}function Gn(e){return _.createElement(_.Fragment,null,h(e.value))}function Jn(e){const t=e.value;if(!t)return null;const n=[];return t.value&&n.push(t.value),(t.use||t.system)&&(n.push(" ["),t.use&&n.push(t.use),t.use&&t.system&&n.push(" "),t.system&&n.push(t.system),n.push("]")),_.createElement(_.Fragment,null,n.join("").trim())}function Yn(e){const t=e.value;return t?_.createElement(_.Fragment,null,t.name,t.name&&": ",t.telecom?.map(((e,t)=>_.createElement(Jn,{key:"telecom-"+t,value:e})))):null}function Xn(e){return _.createElement("div",null,e.value?.system,": ",e.value?.value)}function Zn(e){return _.createElement(_.Fragment,null,g(e.value))}function er(e){return _.createElement(_.Fragment,null,f(e.value))}function tr(e){return _.createElement(_.Fragment,null,E(e.value))}function nr(e){const t=e.value;return t?_.createElement(_.Fragment,null,_.createElement(er,{value:t.numerator})," / ",_.createElement(er,{value:t.denominator})):null}function rr(e){if(!e.value)return null;const t=e.value.display||e.value.reference||v(e.value);return!1!==e.link&&e.value.reference?_.createElement(sn,{to:e.value},t):_.createElement(_.Fragment,null,t)}function ar(e){const t=e.property,n=e.values??[],r=t.type?.[0]?.code;return _.createElement(_.Fragment,null,n.map(((a,l)=>_.createElement("div",{key:`${l}-${n.length}`},_.createElement(lr,{arrayElement:!0,property:t,propertyType:r,value:a,ignoreMissingValues:e.ignoreMissingValues,link:e.link})))))}function lr(e){const{property:t,propertyType:n,value:r}=e;if("*"===t?.max&&!e.arrayElement)return"Attachment"===n?_.createElement(Un,{values:r,maxWidth:e.maxWidth}):_.createElement(ar,{property:t,values:r,ignoreMissingValues:e.ignoreMissingValues,link:e.link});switch(n){case C.boolean:return _.createElement(_.Fragment,null,void 0===r?"":Boolean(r).toString());case C.SystemString:case C.code:case C.date:case C.integer:case C.positiveInt:case C.string:case C.unsignedInt:case C.uri:case C.url:return _.createElement(_.Fragment,null,r);case C.canonical:return _.createElement(rr,{value:{reference:r},link:e.link});case C.dateTime:case C.instant:return _.createElement(_.Fragment,null,x(r));case C.markdown:return _.createElement("pre",null,r);case C.Address:return _.createElement(He,{value:r});case C.Annotation:return _.createElement(_.Fragment,null,r?.text);case C.Attachment:return _.createElement(Fn,{value:r,maxWidth:e.maxWidth});case C.CodeableConcept:return _.createElement(Qn,{value:r});case C.Coding:return _.createElement(Gn,{value:r});case C.ContactDetail:return _.createElement(Yn,{value:r});case C.ContactPoint:return _.createElement(Jn,{value:r});case C.HumanName:return _.createElement(an,{value:r});case C.Identifier:return _.createElement(Xn,{value:r});case C.Money:return _.createElement(Zn,{value:r});case C.Period:return _.createElement(_.Fragment,null,b(r));case C.Quantity:case C.Duration:return _.createElement(er,{value:r});case C.Range:return _.createElement(tr,{value:r});case C.Ratio:return _.createElement(nr,{value:r});case C.Reference:return _.createElement(rr,{value:r,link:e.link});case C.Timing:return _.createElement(_.Fragment,null,k(r));case C.Dosage:case C.UsageContext:return _.createElement(cr,{value:{type:n,value:r},compact:!0,ignoreMissingValues:e.ignoreMissingValues});default:if(!t?.path)throw Error(`Displaying property of type ${e.propertyType} requires element definition path`);return _.createElement(cr,{value:{type:y(t),value:r},compact:!0,ignoreMissingValues:e.ignoreMissingValues})}}function or(e,t){const n=T(e,t);return n?Array.isArray(n)?[n.map((e=>e.value)),n[0].type]:[n.value,n.type]:[void 0,"undefined"]}function cr(e){const t=e.value,n=t.value;if(!n)return null;const r=t.type,a=w.types[r];return a?"object"==typeof n&&"name"in n&&1===Object.keys(n).length&&"string"==typeof n.name?_.createElement("div",null,n.name):_.createElement(Kn,{compact:e.compact},Object.entries(a.properties).map((n=>{const a=n[0];if(Wn.indexOf(a)>=0)return null;const l=n[1];l.path||(l.path=r+"."+a);const[o,c]=or(t,a);return e.ignoreMissingValues&&(!o||Array.isArray(o)&&0===o.length)?null:_.createElement(Hn,{key:a,term:S(a)},_.createElement(lr,{property:l,propertyType:c,value:o,ignoreMissingValues:e.ignoreMissingValues,link:e.link}))}))):_.createElement("div",null,r," not implemented")}function ir(e){return _.createElement(X,{noWrap:!0},_.createElement("div",null,e.children),_.createElement("div",null,_.createElement(Ce.Wrapper,{id:e.htmlFor,label:e.title,description:e.description,withAsterisk:e.withAsterisk},null)))}function sr(e,t){return e?.issue?.filter((e=>mr(e.expression?.[0],t)))?.map((e=>e.details?.text))?.join("\n")}function ur(e,t){return e?.issue?.filter((e=>mr(e.expression?.[0],t)))}function mr(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=e.indexOf(".");if(n>=0&&e.substring(n+1)===t)return!0;const r=t.indexOf(".");return r>=0&&t.substring(r+1)===e}function dr(e){return _.createElement(Ce.Wrapper,{id:e.htmlFor,label:e.title,description:e.description,withAsterisk:e.withAsterisk,error:sr(e.outcome,e.htmlFor)},e.children)}function pr(e){const t=et(),n=un(e.defaultValue),[r,a]=q(),[l,o]=q();return B((()=>{n&&(o(d(n)),t.requestSchema(n.resourceType).then(a).catch(console.log))}),[t,n]),r&&l?_.createElement("form",{noValidate:!0,autoComplete:"off",onSubmit:t=>{t.preventDefault(),e.onSubmit&&e.onSubmit(l)}},_.createElement(de,{mb:"xl"},_.createElement(dr,{title:"Resource Type",htmlFor:"resourceType",outcome:e.outcome},_.createElement(ee,{name:"resourceType",defaultValue:l.resourceType,disabled:!0})),_.createElement(dr,{title:"ID",htmlFor:"id",outcome:e.outcome},_.createElement(ee,{name:"id",defaultValue:l.id,disabled:!0}))),_.createElement(Br,{typeName:l.resourceType,defaultValue:l,outcome:e.outcome,onChange:o}),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},"OK"),e.onDelete&&_.createElement(he,{variant:"outline",color:"red",type:"button",onClick:()=>{e.onDelete(l)}},"Delete"))):_.createElement("div",null,"Loading...")}function hr(e,t,n,r,a){const l=r.type;if(l.length>1)for(const n of l){const r=t.replace("[x]",I(n.code));r in e&&delete e[r]}return e[n]=a,e}function gr(e){const[t,n]=q(e.defaultValue);return _.createElement(Rn,{elementDefinition:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(r=t,r.coding?.map((e=>({system:e.system,code:e.code,display:e.display})))),onChange:function(t){const r=function(e){if(0===e.length)return;return{coding:e.map((e=>({system:e.system,code:e.code,display:e.display})))}}(t);n(r),e.onChange&&e.onChange(r)}});var r}function fr(e){const[t,n]=q(e.defaultValue);return _.createElement(Rn,{elementDefinition:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(r=t,{system:r.system,code:r.code,display:r.display}),onChange:function(t){const r=t[0],a=r&&{system:(l=r).system,code:l.code,display:l.display};var l;n(a),e.onChange&&e.onChange(a)}});var r}function Er(e){const[t,n]=q(e.defaultValue),r=j();function a(t){t&&0===Object.keys(t).length&&(t=void 0),n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{"data-testid":"system",defaultValue:t?.system,onChange:e=>function(e){const t={...r.current,system:e};e||delete t.system,a(t)}(e.currentTarget.value),data:["","email","phone","fax","pager","sms","other"]}),_.createElement(Z,{"data-testid":"use",defaultValue:t?.use,onChange:e=>function(e){const t={...r.current,use:e};e||delete t.use,a(t)}(e.currentTarget.value),data:["","home","work","temp","old","mobile"]}),_.createElement(ee,{placeholder:"Value",defaultValue:t?.value,onChange:e=>function(e){const t={...r.current,value:e};e||delete t.value,a(t)}(e.currentTarget.value)}))}function vr(e){const[t,n]=q(e.defaultValue),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(ee,{"data-testid":e.name+"-name",name:e.name+"-name",placeholder:"Name",style:{width:180},defaultValue:t?.name,onChange:e=>function(e){const t={...r.current,name:e};e||delete t.name,a(t)}(e.currentTarget.value)}),_.createElement(Er,{name:e.name+"-telecom",defaultValue:t?.telecom?.[0],onChange:function(e){const t={...r.current,telecom:e&&[e]};e||delete t.telecom,a(t)}}))}function yr(e){return _.createElement(ee,{id:e.name,name:e.name,"data-testid":e.name,placeholder:e.placeholder,required:e.required,type:"datetime-local",defaultValue:Cr(e.defaultValue),error:sr(e.outcome,e.name),onChange:t=>{if(e.onChange){const n=t.currentTarget.value;e.onChange(kr(n))}}})}function Cr(e){if(!e)return"";const t=new Date(e);return M(t)?t.toLocaleDateString("sv")+"T"+t.toLocaleTimeString("sv"):""}function kr(e){if(!e)return"";const t=new Date(e);return M(t)?t.toISOString():""}function br(e){return _.createElement(ke,{id:e.name,name:e.name,"data-testid":"extension-input",defaultValue:v(e.defaultValue),deserialize:JSON.parse,onChange:t=>{e.onChange&&e.onChange(JSON.parse(t))}})}function xr(e){const[t,n]=q(e.defaultValue),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{defaultValue:t?.use,name:e.name+"-use","data-testid":"use",onChange:e=>{return t=e.currentTarget.value,void a({...r.current,use:t||void 0});var t},data:["","temp","old","usual","official","nickname","anonymous","maiden"]}),_.createElement(ee,{placeholder:"Prefix",name:e.name+"-prefix",defaultValue:t?.prefix?.join(" "),onChange:e=>{return t=e.currentTarget.value,void a({...r.current,prefix:t?t.split(" "):void 0});var t}}),_.createElement(ee,{placeholder:"Given",name:e.name+"-given",defaultValue:t?.given?.join(" "),onChange:e=>{return t=e.currentTarget.value,void a({...r.current,given:t?t.split(" "):void 0});var t}}),_.createElement(ee,{name:e.name+"-family",placeholder:"Family",defaultValue:t?.family,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,family:t||void 0});var t}}),_.createElement(ee,{placeholder:"Suffix",name:e.name+"-suffix",defaultValue:t?.suffix?.join(" "),onChange:e=>{return t=e.currentTarget.value,void a({...r.current,suffix:t?t.split(" "):void 0});var t}}))}function Tr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(ee,{placeholder:"System",defaultValue:t?.system,onChange:e=>r({...t,system:e.currentTarget.value})}),_.createElement(ee,{placeholder:"Value",defaultValue:t?.value,onChange:e=>r({...t,value:e.currentTarget.value})}))}const wr=["USD","EUR","CAD","GBP","AUD"];function Sr(e){const{onChange:t}=e,[n,r]=q(e.defaultValue),a=G((e=>{r(e),t&&t(e)}),[t]),l=G((e=>{a({...n,currency:e.currentTarget.value})}),[n,a]),o=G((e=>{a({...n,value:e.currentTarget.valueAsNumber})}),[n,a]),c=_.createElement(Z,{defaultValue:n?.currency,data:wr,styles:{input:{fontWeight:500,borderTopLeftRadius:0,borderBottomLeftRadius:0,width:92}},onChange:l});return _.createElement(ee,{type:"number",label:e.label,placeholder:e.placeholder||"Value",defaultValue:n?.value?.toString()||"USD",icon:_.createElement(Vt,{size:14}),rightSection:c,rightSectionWidth:92,onChange:o})}function Ir(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(yr,{name:e.name+".start",placeholder:"Start",defaultValue:t?.start,onChange:e=>r({...t,start:e})}),_.createElement(yr,{name:e.name+".end",placeholder:"End",defaultValue:t?.end,onChange:e=>r({...t,end:e})}))}function Mr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{style:{width:80},"data-testid":e.name+"-comparator",defaultValue:t?.comparator,data:["","<","<=",">=",">"],onChange:e=>r({...t,comparator:e.currentTarget.value})}),_.createElement(ee,{id:e.name,name:e.name,"data-testid":e.name+"-value",type:"number",placeholder:"Value",defaultValue:t?.value,step:"any",onWheel:t=>{e.disableWheel&&t.currentTarget.blur()},onChange:e=>{r({...t,value:Ar(e.currentTarget.value)})}}),_.createElement(ee,{placeholder:"Unit","data-testid":e.name+"-unit",defaultValue:t?.unit,onChange:e=>r({...t,unit:e.currentTarget.value})}))}function Ar(e){if(e)return parseFloat(e)}function Dr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Mr,{name:e.name+"-low",defaultValue:t?.low,onChange:e=>r({...t,low:e})}),_.createElement(Mr,{name:e.name+"-high",defaultValue:t?.high,onChange:e=>r({...t,high:e})}))}function Vr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Mr,{name:e.name+"-numerator",defaultValue:t?.numerator,onChange:e=>r({...t,numerator:e})}),_.createElement(Mr,{name:e.name+"-denominator",defaultValue:t?.denominator,onChange:e=>r({...t,denominator:e})}))}const Rr={Schedule:"_id",Task:"_id",Patient:"name",Practitioner:"name",Questionnaire:"name",ServiceRequest:"_id",DiagnosticReport:"_id",Specimen:"_id",Observation:"code",RequestGroup:"_id",ActivityDefinition:"name",User:"email:contains"};function Pr(e){const t=et(),n=un(e.defaultValue),[r,a]=q(n?i(n):""),[l,o]=q(!1),[c,s]=q([]);async function u(n){o(!0);const r=Rr[e.resourceType]||"name",a=new URLSearchParams({[r]:n,_count:"10"}),l=await t.searchResources(e.resourceType,a);s(l.map((e=>({value:i(e),resource:e})))),o(!1)}return B((()=>{n&&a(i(n))}),[n,a]),_.createElement(be,{name:e.name,itemComponent:Nr,value:r,data:c,placeholder:e.placeholder,onFocus:()=>u(r),onChange:async function(e){return a(e),u(e)},onItemSubmit:function(t){a(t.value),s([]),e.onChange&&e.onChange(t.resource)},rightSection:l?_.createElement(re,{size:16}):null})}const Nr=H((({value:e,resource:t,...n},r)=>_.createElement("div",{ref:r,...n},_.createElement(X,{noWrap:!0},_.createElement(dn,{value:t}),_.createElement("div",null,_.createElement(ie,null,e),_.createElement(ie,{size:"xs",color:"dimmed"},t.birthDate))))));function zr(e){const n=function(e){if(!e||0===e.length||1===e.length&&"Resource"===e[0])return;return e}(e.targetTypes),r=function(e,t){const n=e?.reference?.split("/")[0];if(n)return n;if(t&&t.length>0)return t[0];return}(e.defaultValue,n),[a,l]=q(e.defaultValue),[o,c]=q(r);j().current=a;return j().current=o,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},n?_.createElement(Z,{"data-testid":"reference-input-resource-type-select",defaultValue:o,onChange:e=>c(e.currentTarget.value),data:n}):_.createElement(ee,{"data-testid":"reference-input-resource-type-input",defaultValue:o,onChange:e=>c(e.currentTarget.value)}),_.createElement(Pr,{resourceType:o,name:e.name+"-id",placeholder:e.placeholder,defaultValue:a,onChange:n=>{var r;r=n?t(n):void 0,l(r),e.onChange&&e.onChange(r)}}))}function Or(e){const[t,n]=q(e.defaultValue&&Array.isArray(e.defaultValue)?e.defaultValue:[]),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},_.createElement("colgroup",null,_.createElement("col",{width:"97%"}),_.createElement("col",{width:"3%"})),_.createElement("tbody",null,t.map(((n,l)=>_.createElement("tr",{key:`${l}-${t.length}`},_.createElement("td",null,_.createElement(_r,{arrayElement:!0,property:e.property,name:e.name+"."+l,defaultValue:n,onChange:e=>{const t=[...r.current];t[l]=e,a(t)}})),_.createElement("td",{style:{textAlign:"right"}},_.createElement(ye,{title:"Remove",size:"sm",onClick:e=>{ln(e);const t=[...r.current];t.splice(l,1),a(t)}},_.createElement(It,null)))))),_.createElement("tr",null,_.createElement("td",null),_.createElement("td",{style:{textAlign:"right"}},_.createElement(ye,{title:"Add",size:"sm",color:"green",onClick:e=>{ln(e);const t=[...r.current];t.push(void 0),a(t)}},_.createElement(Mt,null))))))}const $r=["sun","mon","tue","wed","thu","fri","sat"];function Lr(e){const[t,n]=q(e.defaultValue),[r,a]=q(!1),l=j();return l.current=t,_.createElement(_.Fragment,null,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement("span",null,k(l.current)||"No repeat"),_.createElement(he,{onClick:()=>a(!0)},"Edit")),_.createElement(Ur,{visible:r,defaultValue:l.current,onOk:t=>{e.onChange&&e.onChange(t),n(t),a(!1)},onCancel:()=>a(!1)}))}const Fr={repeat:{period:1,periodUnit:"d"}};function Ur(e){const[t,n]=q(e.defaultValue||Fr),r=j();function a(e){n({...r.current,repeat:e})}return r.current=t,_.createElement(pe,{title:"Timing",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:()=>e.onCancel()},_.createElement(de,null,_.createElement(dr,{title:"Starts on",htmlFor:"timing-dialog-start"},_.createElement(yr,{name:"timing-dialog-start",onChange:e=>{return t=e,void n({...r.current,event:[t]});var t}})),_.createElement(xe,{label:"Repeat",checked:!!t.repeat,onChange:e=>a(e.currentTarget.checked?Fr.repeat:void 0)}),t.repeat&&_.createElement(_.Fragment,null,_.createElement(dr,{title:"Repeat every",htmlFor:"timing-dialog-period"},_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(ee,{type:"number",step:1,id:"timing-dialog-period",name:"timing-dialog-period",defaultValue:t?.repeat?.period||1,onChange:e=>{return t=parseInt(e.currentTarget.value)||1,void a({...r.current?.repeat,period:t});var t}}),_.createElement(Z,{id:"timing-dialog-periodUnit",name:"timing-dialog-periodUnit",defaultValue:t?.repeat?.periodUnit,onChange:e=>{return t=e.currentTarget.value,void a({...r.current?.repeat,periodUnit:t});var t},data:[{label:"second",value:"s"},{label:"minute",value:"min"},{label:"hour",value:"h"},{label:"day",value:"d"},{label:"week",value:"wk"},{label:"month",value:"mo"},{label:"year",value:"a"}]}))),"wk"===t.repeat?.periodUnit&&_.createElement(dr,{title:"Repeat on"},_.createElement(Te.Group,{multiple:!0,onChange:function(e){a({...r.current?.repeat,dayOfWeek:e})}},_.createElement(X,{position:"apart",mt:"md",spacing:"xs"},$r.map((e=>_.createElement(Te,{key:e,value:e,size:"xs",radius:"xl"},e.charAt(0).toUpperCase()))))))),_.createElement(X,{position:"right"},_.createElement(he,{onClick:()=>e.onOk(t)},"OK"))))}function _r(e){const t=e.property,n=e.defaultPropertyType??t.type?.[0]?.code,r=e.name,a=e.defaultValue;if("*"===t.max&&!e.arrayElement)return"Attachment"===n?_.createElement(qn,{name:r,defaultValue:a,onChange:e.onChange}):_.createElement(Or,{property:t,name:r,defaultValue:a,onChange:e.onChange});const l=t.type;return l.length>1?_.createElement(qr,{elementDefinitionTypes:l,...e}):_.createElement(jr,{elementDefinitionType:l[0],...e})}function qr(e){const t=e.elementDefinitionTypes;let n;e.defaultPropertyType&&(n=t.find((t=>t.code===e.defaultPropertyType))),n||(n=t[0]);const[r,a]=q(n);return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{style:{width:"200px"},defaultValue:r?.code,onChange:e=>{a(t.find((t=>t.code===e.currentTarget.value)))},data:t.map((e=>({value:e.code,label:e.code})))}),_.createElement(jr,{...e,elementDefinitionType:r,onChange:t=>{e.onChange&&e.onChange(t,e.name.replace("[x]",I(r.code)))}}))}function jr(e){const t=e.property,n=e.elementDefinitionType.code,r=e.name,a=e.defaultValue,l=void 0!==t.min&&t.min>0;switch(n){case C.SystemString:case C.canonical:case C.string:case C.time:case C.uri:case C.url:return _.createElement(ee,{id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:sr(e.outcome,r)});case C.date:return _.createElement(ee,{type:"date",id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:sr(e.outcome,r)});case C.dateTime:case C.instant:return _.createElement(yr,{name:r,defaultValue:a,onChange:e.onChange,outcome:e.outcome});case C.decimal:case C.integer:case C.positiveInt:case C.unsignedInt:return _.createElement(ee,{type:"number",step:n===C.decimal?"any":"1",id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.valueAsNumber)}});case C.code:return _.createElement(Pn,{property:t,name:r,defaultValue:a,onChange:e.onChange});case C.boolean:return _.createElement(Se,{id:r,name:r,"data-testid":r,defaultChecked:!!a,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.checked)}});case C.markdown:return _.createElement(we,{id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)}});case C.Address:return _.createElement(Je,{name:r,defaultValue:a,onChange:e.onChange});case C.Annotation:return _.createElement(at,{name:r,defaultValue:a,onChange:e.onChange});case C.Attachment:return _.createElement(jn,{name:r,defaultValue:a,onChange:e.onChange});case C.CodeableConcept:return _.createElement(gr,{property:t,name:r,defaultValue:a,onChange:e.onChange});case C.Coding:return _.createElement(fr,{property:t,name:r,defaultValue:a,onChange:e.onChange});case C.ContactDetail:return _.createElement(vr,{name:r,defaultValue:a,onChange:e.onChange});case C.ContactPoint:return _.createElement(Er,{name:r,defaultValue:a,onChange:e.onChange});case C.Extension:return _.createElement(br,{name:r,defaultValue:a,onChange:e.onChange});case C.HumanName:return _.createElement(xr,{name:r,defaultValue:a,onChange:e.onChange});case C.Identifier:return _.createElement(Tr,{name:r,defaultValue:a,onChange:e.onChange});case C.Money:return _.createElement(Sr,{name:r,defaultValue:a,onChange:e.onChange});case C.Period:return _.createElement(Ir,{name:r,defaultValue:a,onChange:e.onChange});case C.Duration:case C.Quantity:return _.createElement(Mr,{name:r,defaultValue:a,onChange:e.onChange});case C.Range:return _.createElement(Dr,{name:r,defaultValue:a,onChange:e.onChange});case C.Ratio:return _.createElement(Vr,{name:r,defaultValue:a,onChange:e.onChange});case C.Reference:return _.createElement(zr,{name:r,defaultValue:a,targetTypes:Wr(t),onChange:e.onChange});case C.Timing:return _.createElement(Lr,{name:r,defaultValue:a,onChange:e.onChange});case C.Dosage:case C.UsageContext:return _.createElement(Br,{typeName:n,defaultValue:a,onChange:e.onChange,outcome:e.outcome});default:return _.createElement(Br,{typeName:y(t),defaultValue:a,onChange:e.onChange,outcome:e.outcome})}}function Wr(e){return e?.type?.[0]?.targetProfile?.map((e=>e.split("/").pop()))}function Br(e){const[t,n]=q(e.defaultValue??{});function r(t){n(t),e.onChange&&e.onChange(t)}const a=e.typeName,l=w.types[a];if(!l)return _.createElement("div",null,a," not implemented");const o={type:a,value:t};return _.createElement(de,null,Object.entries(l.properties).map((n=>{const a=n[0];if("id"===a||Wn.indexOf(a)>=0)return null;const l=n[1];if(!l.type)return null;const[c,i]=or(o,a),s=void 0!==l.min&&l.min>0;return 1===l.type.length&&"boolean"===l.type[0].code?_.createElement(ir,{key:a,title:S(a),description:l.definition,htmlFor:a},_.createElement(_r,{property:l,name:a,defaultValue:c,defaultPropertyType:i,outcome:e.outcome,onChange:(e,l)=>{r(hr(t,a,l??a,n[1],e))}})):_.createElement(dr,{key:a,title:S(a),description:l.definition,withAsterisk:s,htmlFor:a,outcome:e.outcome},_.createElement(_r,{property:l,name:a,defaultValue:c,defaultPropertyType:i,onChange:(e,l)=>{r(hr(t,a,l??a,n[1],e))}}))})))}const Kr=ce((e=>({table:{width:350,"& th":{fontWeight:"normal",fontSize:11,padding:8,textAlign:"center"},"& td":{padding:"2px 4px"},"& td button":{width:44,height:44,color:e.colors[e.primaryColor][5],fontSize:16,fontWeight:500,textAlign:"center",padding:0,backgroundColor:e.colors[e.primaryColor][0],border:0,borderRadius:"50%",cursor:"pointer"},"& td button:hover":{backgroundColor:e.colors[e.primaryColor][1]},"& td button:disabled":{backgroundColor:"transparent",cursor:"default",color:e.colors.gray[4],fontWeight:"normal"}}})));function Hr(e){return e.toLocaleString("default",{month:"long"})+" "+e.getFullYear()}function Qr(e){const{classes:t}=Kr(),{onChangeMonth:n,onClick:r}=e,[a,l]=q(Gr);function o(e){l((t=>{const r=new Date(t.getTime());return r.setMonth(t.getMonth()+e),n(r),r}))}const c=Y((()=>function(e,t){const n=new Date(e.getFullYear(),e.getMonth()),r=[];let a=[];for(let e=0;e<n.getDay();e++)a.push(void 0);for(;n.getMonth()===e.getMonth();)a.push({date:new Date(n.getTime()),available:Jr(n,t)}),6===n.getDay()&&(r.push(a),a=[]),n.setDate(n.getDate()+1);if(0!==n.getDay()){for(let e=n.getDay();e<7;e++)a.push(void 0);r.push(a)}return r}(a,e.slots)),[a,e.slots]);return _.createElement("div",null,_.createElement(X,{position:"apart",spacing:"xs",grow:!0,noWrap:!0},_.createElement("p",{style:{flex:1}},Hr(a)),_.createElement(X,{position:"right",spacing:"xs"},_.createElement(he,{variant:"outline","aria-label":"Previous month",onClick:()=>o(-1)},"<"),_.createElement(he,{variant:"outline","aria-label":"Next month",onClick:()=>o(1)},">"))),_.createElement("table",{className:t.table},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"SUN"),_.createElement("th",null,"MON"),_.createElement("th",null,"TUE"),_.createElement("th",null,"WED"),_.createElement("th",null,"THU"),_.createElement("th",null,"FRI"),_.createElement("th",null,"SAT"))),_.createElement("tbody",null,c.map(((e,t)=>_.createElement("tr",{key:"week-"+t},e.map(((e,t)=>_.createElement("td",{key:"day-"+t},e&&_.createElement(he,{disabled:!e.available,onClick:()=>r(e.date)},e.date.getDate()))))))))))}function Gr(){const e=new Date;return e.setDate(1),e.setHours(0,0,0,0),e}function Jr(e,t){for(const n of t){const t=new Date(n.start);if(t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate())return!0}return!1}const Yr=ce((()=>({root:{"@media (max-width: 800px)":{paddingLeft:4,paddingRight:4}}})));function Xr(e){const{children:t,...n}=e,{classes:r}=Yr();return _.createElement(Ie,{className:r.root,...n},t)}const Zr=ce((e=>({noteBody:{fontSize:e.fontSizes.sm},noteCite:{fontSize:e.fontSizes.xs,marginBlockStart:3},noteRoot:{padding:5}})));function ea({value:e}){const{classes:t}=Zr();return e?_.createElement(de,{justify:"flex-start",spacing:"xs"},e.map(((e,n)=>e.text&&_.createElement(Me,{key:`note-${n}`,classNames:{cite:t.noteCite,body:t.noteBody,root:t.noteRoot},cite:e.authorReference?.display||e.authorString,icon:null},e.text)))):null}function ta(e){const{value:t,link:r,...a}=e,[l,o]=q(),c=un(t,o);let s;if(l&&!A(l))s=`[${n(l)}]`;else{if(!c)return null;s=i(c)}return r?_.createElement(sn,{to:t,...a},s):_.createElement(ie,{component:"span",...a},s)}function na(e){return _.createElement(X,{spacing:"xs"},_.createElement(dn,{size:24,radius:12,value:e.value,link:e.link}),_.createElement(ta,{value:e.value,link:e.link}))}const ra={draft:"blue",active:"blue","on-hold":"yellow",revoked:"red",completed:"green","entered-in-error":"red",unknown:"gray",retired:"gray",registered:"blue",preliminary:"blue",final:"green",amended:"yellow",corrected:"yellow",cancelled:"red",requested:"blue",received:"blue",accepted:"blue",rejected:"red",ready:"blue","in-progress":"blue",failed:"red",proposed:"blue",pending:"blue",booked:"blue",arrived:"blue",fulfilled:"green",noshow:"red","checked-in":"blue",waitlist:"gray",routine:"gray",urgent:"red",asap:"red",stat:"red"};function aa(e){return _.createElement(Ae,{color:ra[e.status]},e.status)}const la=ce((e=>({table:{border:`0.1px solid ${e.colors.gray[5]}`,borderCollapse:"collapse","& td, & th":{border:`0.1px solid ${e.colors.gray[5]}`,padding:4}},criticalRow:{background:"dark"===e.colorScheme?e.colors.red[7]:e.colors.red[1],border:`0.1px solid ${e.colors.red[5]}`,color:e.colors.red[5],fontWeight:500,"& td":{border:`0.1px solid ${e.colors.red[5]}`}},noteBody:{fontSize:e.fontSizes.sm},noteCite:{fontSize:e.fontSizes.xs,marginBlockStart:3},noteRoot:{padding:5}})));function oa(e){const t=et(),n=un(e.value),[r,a]=q();if(B((()=>{n?.specimen&&Promise.allSettled(n.specimen.map((e=>t.readReference(e)))).then((e=>e.filter((e=>"fulfilled"===e.status)).map((e=>e.value)))).then(a).catch(console.error)}),[t,n]),!n)return null;const l=r?.flatMap((e=>e.note||[]))||[];if(n.presentedForm&&n.presentedForm.length>0){const e=n.presentedForm[0];e.contentType?.startsWith("text/plain")&&e.data&&l.push({text:window.atob(e.data)})}return _.createElement(de,null,_.createElement(De,null,"Diagnostic Report"),_.createElement(ca,{value:n}),!e.hideSpecimenInfo&&function(e){return _.createElement(de,{spacing:"xs"},_.createElement(De,{order:2,size:"h6"},"Specimens"),_.createElement(Ve,{type:"ordered"},e?.map(((e,t)=>_.createElement(Ve.Item,{ml:"sm",key:`specimen-${e.id}-${t}`},_.createElement(X,{spacing:20},_.createElement(X,{spacing:5},_.createElement(ie,{fw:500},"Collected:")," ",x(e.collection?.collectedDateTime)),_.createElement(X,{spacing:5},_.createElement(ie,{fw:500},"Received:")," ",x(e.receivedTime))))))))}(r),n.result&&_.createElement(ia,{hideObservationNotes:e.hideObservationNotes,value:n.result}),l.length>0&&_.createElement(ea,{value:l}))}function ca({value:e}){return _.createElement(X,{mt:"md",spacing:30},e.subject&&_.createElement("div",null,_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Subject"),_.createElement(ie,null,_.createElement(na,{value:e.subject,link:!0}))),e.resultsInterpreter&&e.resultsInterpreter.map((e=>_.createElement("div",{key:e.reference},_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Interpreter"),_.createElement(ie,null,_.createElement(na,{value:e,link:!0}))))),e.performer&&e.performer.map((e=>_.createElement("div",{key:e.reference},_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Performer"),_.createElement(ie,null,_.createElement(na,{value:e,link:!0}))))),e.issued&&_.createElement("div",null,_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Issued"),_.createElement(ie,null,x(e.issued))),e.status&&_.createElement("div",null,_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Status"),_.createElement(ie,null,I(e.status))))}function ia(e){const{classes:t}=la();return _.createElement("table",{className:t.table},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Test"),_.createElement("th",null,"Value"),_.createElement("th",null,"Reference Range"),_.createElement("th",null,"Interpretation"),_.createElement("th",null,"Category"),_.createElement("th",null,"Performer"),_.createElement("th",null,"Status"))),_.createElement("tbody",null,e.value?.map(((t,n)=>_.createElement(sa,{key:`obs-${t.id}-${n}`,hideObservationNotes:e.hideObservationNotes,value:t})))))}function sa(e){const{classes:t,cx:n}=la(),r=un(e.value);if(!r)return null;const a=!e.hideObservationNotes&&r?.note,l=function(e){const t=e.interpretation?.[0]?.coding?.[0]?.code;return"AA"===t||"LL"===t||"HH"===t||"A"===t}(r);return _.createElement(_.Fragment,null,_.createElement("tr",{className:n({[t.criticalRow]:l})},_.createElement("td",{rowSpan:a?2:1},_.createElement(sn,{to:r},_.createElement(Qn,{value:r.code}))),_.createElement("td",null,_.createElement(ua,{value:r})),_.createElement("td",null,_.createElement(ma,{value:r.referenceRange})),_.createElement("td",null,r.interpretation&&r.interpretation.length>0&&_.createElement(Qn,{value:r.interpretation[0]})),_.createElement("td",null,r.category&&r.category.length>0&&_.createElement("ul",null,r.category.map(((e,t)=>_.createElement("li",{key:`category-${t}`},_.createElement(Qn,{value:e})))))),_.createElement("td",null,r.performer?.map((e=>_.createElement(rr,{key:e?.reference,value:e})))),_.createElement("td",null,r.status&&_.createElement(aa,{status:r.status}))),a&&_.createElement("tr",null,_.createElement("td",{colSpan:6},_.createElement(ea,{value:r.note}))))}function ua(e){const t=e.value;return _.createElement(_.Fragment,null,D(t))}function ma(e){const t=e.value&&e.value.length>0&&e.value[0];return t?t.text?_.createElement(_.Fragment,null,t.text):_.createElement(tr,{value:t}):null}oa.defaultProps={hideObservationNotes:!1,hideSpecimenInfo:!1};const da=ce(((e,{width:t,fill:n})=>({paper:{maxWidth:t,margin:`${e.spacing.xl} auto`,padding:n?0:e.spacing.md,"@media (max-width: 800px)":{padding:n?0:8},"& img":{width:"100%",maxWidth:"100%"},"& video":{width:"100%",maxWidth:"100%"}}}))),pa={shadow:"xs",radius:"md",withBorder:!0};function ha(e){const{className:t,children:n,width:r,fill:a,unstyled:l,...o}=Re("Panel",pa,e),{classes:c,cx:i}=da({width:r,fill:a},{name:"Panel",unstyled:l});return _.createElement(Pe,{className:i(c.paper,t),...o},n)}const ga=ce((e=>({root:{borderCollapse:"collapse",width:"100%","& tr":{borderTop:`0.1px solid ${e.colors.gray[3]}`},"& th, & td":{padding:`${e.spacing.sm} ${e.spacing.sm}`,verticalAlign:"top"}},removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function fa(e){const{classes:t}=ga(),n=et(),[r,a]=q();if(B((()=>{n.requestSchema(e.original.resourceType).then(a).catch(console.log)}),[n,e.original.resourceType]),!r)return null;const l=r.types[e.original.resourceType];return l?_.createElement("table",{className:t.root},_.createElement("colgroup",null,_.createElement("col",{style:{width:"30%"}}),_.createElement("col",{style:{width:"35%"}}),_.createElement("col",{style:{width:"35%"}})),_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Property"),_.createElement("th",null,"Before"),_.createElement("th",null,"After"))),_.createElement("tbody",null,Object.entries(l.properties).map((n=>{const r=n[0];if("id"===r||"meta"===r)return null;const a=n[1],[l,o]=or(V(e.original),r),[c,i]=or(V(e.revised),r);return Ea(l)&&Ea(c)||v(l)===v(c)?null:_.createElement("tr",{key:r},_.createElement("td",null,S(r)),_.createElement("td",{className:t.removed},_.createElement(lr,{property:a,propertyType:o,value:l,ignoreMissingValues:!0})),_.createElement("td",{className:t.added},_.createElement(lr,{property:a,propertyType:i,value:c,ignoreMissingValues:!0})))})))):null}function Ea(e){return!e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length}function va(e){const t=et(),n=un(e.value),[r,a]=q();return B((()=>{n&&t.requestSchema(n.resourceType).then(a).catch(console.log)}),[t,n]),r&&n?_.createElement(cr,{value:{type:n.resourceType,value:e.forceUseInput?e.value:n},ignoreMissingValues:e.ignoreMissingValues}):null}function ya(e){return _.createElement(Xr,null,e.children)}function Ca(e){const{resource:t,profile:n,padding:r,popupMenuItems:a,...l}=e,o=n??t.meta?.author;return _.createElement(ha,{"data-testid":"timeline-item",fill:!0,...l},_.createElement(X,{position:"apart",spacing:8,mx:"xs",my:"sm"},_.createElement(dn,{value:o,link:!0,size:"md"}),_.createElement("div",{style:{flex:1}},_.createElement(ie,{size:"sm"},_.createElement(ta,{color:"dark",weight:500,value:o,link:!0})),_.createElement(ie,{size:"xs"},_.createElement(sn,{color:"dimmed",to:e.resource},x(e.resource.meta?.lastUpdated)),_.createElement(ie,{component:"span",color:"dimmed",mx:8},"·"),_.createElement(sn,{color:"dimmed",to:e.resource},e.resource.resourceType))),a&&_.createElement(me,{position:"bottom-end",shadow:"md",width:200},_.createElement(me.Target,null,_.createElement(ye,{radius:"xl","aria-label":`Actions for ${u(e.resource)}`},_.createElement(Rt,null))),a)),_.createElement(nn,null,r&&_.createElement("div",{style:{padding:"0 16px 16px 16px"}},e.children),!r&&_.createElement(_.Fragment,null,e.children)))}function ka(e,t){e.sort(((e,n)=>{const r=ba(e),a=ba(n);return r>a?1:r<a?-1:xa(e,t)-xa(n,t)}))}function ba(e){const t=e.priority;return"string"==typeof t&&{stat:4,asap:3,urgent:2}[t]||0}function xa(e,t){if(n=e,!(r=t)||n.resourceType!==r.resourceType||n.id!==r.id){if("Communication"===e.resourceType&&e.sent)return new Date(e.sent).getTime();if(("DiagnosticReport"===e.resourceType||"Media"===e.resourceType||"Observation"===e.resourceType)&&e.issued)return new Date(e.issued).getTime();if("DocumentReference"===e.resourceType&&e.date)return new Date(e.date).getTime()}var n,r;const a=e.meta?.lastUpdated;return a?new Date(a).getTime():0}const Ta=ce((e=>({pinnedComment:{backgroundColor:e.colors.blue[0]}})));function wa(e){const t=et(),r=tt(),a=t.getProfile(),l=j(null),o=un(e.value),[c,i]=q(),[s,u]=q([]),m=e.loadTimelineResources,d=j(s);d.current=s;const p=G((e=>{ka(e,o),e.reverse(),u(e)}),[o]),h=G((e=>{const t=[];for(const n of e){if("fulfilled"!==n.status)continue;const e=n.value;if("history"===e.type&&i(e),e.entry)for(const n of e.entry)t.push(n.resource)}p(t)}),[p]),g=G((e=>p([...d.current,e])),[p]),f=G((()=>{let n,r;"resourceType"in e.value?(n=e.value.resourceType,r=e.value.id):[n,r]=e.value.reference?.split("/"),m(t,n,r).then(h).catch(console.log)}),[t,e.value,m,h]);function E(e,n){return t.updateResource({...e,priority:n})}function v(e){E(e,"stat").then(f).catch(console.log)}function y(e){E(e,"routine").then(f).catch(console.log)}function C(e){r(`/${e.resourceType}/${e.id}`)}function k(e){r(`/${e.resourceType}/${e.id}/edit`)}function b(e){r(`/${e.resourceType}/${e.id}/delete`)}function x(e){r(`/${e.resourceType}/${e.id}/_history/${e.meta?.versionId}`)}return B((()=>f()),[f]),o?_.createElement(ya,null,e.createCommunication&&_.createElement(ha,null,_.createElement(Sn,{testid:"timeline-form",onSubmit:n=>{var r;r=n.text,o&&e.createCommunication&&t.createResource(e.createCommunication(o,a,r)).then((e=>g(e))).catch(console.log);const c=l.current;c&&(c.value="",c.focus())}},_.createElement(X,{spacing:"xs",noWrap:!0,style:{width:"100%"}},_.createElement(dn,{value:a}),_.createElement(ee,{name:"text",ref:l,placeholder:"Add comment",style:{width:"100%",maxWidth:300}}),_.createElement(ye,{type:"submit",radius:"xl",color:"blue",variant:"filled"},_.createElement(jt,{size:16})),_.createElement(_n,{onUpload:function(r){o&&e.createMedia&&t.createResource(e.createMedia(o,a,r)).then((e=>g(e))).then((()=>Ke({id:"upload-notification",color:"teal",title:"Upload complete",message:"",icon:_.createElement(Tt,{size:16}),autoClose:2e3}))).catch((e=>Ke({id:"upload-notification",color:"red",title:"Upload error",message:n(e),icon:_.createElement(Ot,{size:16}),autoClose:2e3})))},onUploadStart:function(){Be({id:"upload-notification",loading:!0,title:"Initializing upload...",message:"Please wait...",autoClose:!1,withCloseButton:!1})},onUploadProgress:function(e){Ke({id:"upload-notification",loading:!0,title:"Uploading...",message:Ra(e),autoClose:!1,withCloseButton:!1})}},(e=>_.createElement(ye,{...e,radius:"xl",color:"blue",variant:"filled"},_.createElement(At,{size:16}))))))),s.map((e=>{if(!e)return null;const t=`${e.resourceType}/${e.id}/${e.meta?.versionId}`;if(e.resourceType===o.resourceType&&e.id===o.id)return _.createElement(Ia,{key:t,history:c,resource:e,onDetails:x});switch(e.resourceType){case"AuditEvent":return _.createElement(Da,{key:t,resource:e,onDetails:C});case"Communication":return _.createElement(Ma,{key:t,resource:e,onPin:"stat"!==e.priority?v:void 0,onUnpin:"stat"===e.priority?y:void 0,onDetails:C,onEdit:k,onDelete:b});case"DiagnosticReport":return _.createElement(Va,{key:t,resource:e,onDetails:C,onEdit:k,onDelete:b});case"Media":return _.createElement(Aa,{key:t,resource:e,onDetails:C,onEdit:k,onDelete:b});default:return _.createElement(Ca,{key:t,resource:e,padding:!0},_.createElement(va,{value:e,ignoreMissingValues:!0}))}}))):_.createElement(ne,{style:{width:"100%",height:"100%"}},_.createElement(re,null))}function Sa(e){return _.createElement(me.Dropdown,null,_.createElement(me.Label,null,"Resource"),e.onPin&&_.createElement(me.Item,{icon:_.createElement(Wt,{size:14}),onClick:()=>e.onPin(e.resource),"aria-label":`Pin ${u(e.resource)}`},"Pin"),e.onUnpin&&_.createElement(me.Item,{icon:_.createElement(Bt,{size:14}),onClick:()=>e.onUnpin(e.resource),"aria-label":`Unpin ${u(e.resource)}`},"Unpin"),e.onDetails&&_.createElement(me.Item,{icon:_.createElement(Ft,{size:14}),onClick:()=>e.onDetails(e.resource),"aria-label":`Details ${u(e.resource)}`},"Details"),e.onEdit&&_.createElement(me.Item,{icon:_.createElement(Pt,{size:14}),onClick:()=>e.onEdit(e.resource),"aria-label":`Edit ${u(e.resource)}`},"Edit"),e.onDelete&&_.createElement(_.Fragment,null,_.createElement(me.Divider,null),_.createElement(me.Label,null,"Danger zone"),_.createElement(me.Item,{color:"red",icon:_.createElement(en,{size:14}),onClick:()=>e.onDelete(e.resource),"aria-label":`Delete ${u(e.resource)}`},"Delete")))}function Ia(e){const t=function(e,t){const n=e.entry,r=n.findIndex((e=>e.resource?.meta?.versionId===t.meta?.versionId));if(r>=n.length-1)return;return n[r+1].resource}(e.history,e.resource);return t?_.createElement(Ca,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Sa,{...e})},_.createElement(fa,{original:t,revised:e.resource})):_.createElement(Ca,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Sa,{...e})},_.createElement("h3",null,"Created"),_.createElement(va,{value:e.resource,ignoreMissingValues:!0,forceUseInput:!0}))}function Ma(e){const{classes:t}=Ta(),n=!e.resource.priority||"routine"===e.resource.priority?void 0:t.pinnedComment;return _.createElement(Ca,{resource:e.resource,profile:e.resource.sender,padding:!0,className:n,popupMenuItems:_.createElement(Sa,{...e})},_.createElement("p",null,e.resource.payload?.[0]?.contentString))}function Aa(e){const t=e.resource.content?.contentType,n=t&&!t.startsWith("image/")&&!t.startsWith("video/")&&"application/pdf"!==t;return _.createElement(Ca,{resource:e.resource,padding:!!n,popupMenuItems:_.createElement(Sa,{...e})},_.createElement(Fn,{value:e.resource.content}))}function Da(e){return _.createElement(Ca,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Sa,{...e})},_.createElement(Ne,null,_.createElement("pre",null,e.resource.outcomeDesc)))}function Va(e){return _.createElement(Ca,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Sa,{...e})},_.createElement(oa,{value:e.resource}))}function Ra(e){if(e.lengthComputable){const t=100*e.loaded/e.total;return`Uploaded: ${Pa(e.loaded)} / ${Pa(e.total)} ${t.toFixed(2)}%`}return`Uploaded: ${Pa(e.loaded)}`}function Pa(e){if(0===e)return"0.00 B";const t=Math.floor(Math.log(e)/Math.log(1024));return(e/Math.pow(1024,t)).toFixed(2)+" "+" KMGTP".charAt(t)+"B"}function Na(e){return _.createElement(wa,{value:e.resource,loadTimelineResources:async(e,t,n)=>{const r=`${t}/${n}`;return Promise.allSettled([e.readHistory(t,n),e.search("Task",{_filter:`based-on eq ${r} or focus eq ${r} or subject eq ${r}`,_count:100})])}})}function za(e){const{children:t,...n}=e;return _.createElement(Xr,null,_.createElement(ha,{...n},t))}function Oa(e){return _.createElement(wa,{value:e.encounter,loadTimelineResources:async(e,t,n)=>Promise.allSettled([e.readHistory("Encounter",n),e.search("Communication","encounter=Encounter/"+n),e.search("Media","encounter=Encounter/"+n)]),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",encounter:t(e),subject:e.subject,sender:t(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",encounter:t(e),subject:e.subject,operator:t(n),issued:(new Date).toISOString(),content:r})})}function $a(e){let t;try{t=R(e.path,e.resource)}catch(e){return console.warn("FhirPathDisplay:",e),null}if(t.length>1)throw new Error(`Component "path" for "FhirPathDisplay" must resolve to a single element. Received ${t.length} elements [${JSON.stringify(t,null,2)}]`);return _.createElement(lr,{value:t[0]||"",propertyType:e.propertyType})}const La={string:[P.EQUALS,P.NOT,P.CONTAINS,P.EXACT],fulltext:[P.EQUALS,P.NOT,P.CONTAINS,P.EXACT],token:[P.EQUALS,P.NOT],reference:[P.EQUALS,P.NOT],numeric:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS],quantity:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS],date:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS,P.STARTS_AFTER,P.ENDS_BEFORE,P.APPROXIMATELY],datetime:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS,P.STARTS_AFTER,P.ENDS_BEFORE,P.APPROXIMATELY]},Fa={eq:"equals",ne:"not equals",gt:"greater than",lt:"less than",ge:"greater than or equals",le:"less than or equals",sa:"starts after",eb:"ends before",ap:"approximately",contains:"contains",exact:"exact",text:"text",not:"not",above:"above",below:"below",in:"in","not-in":"not in","of-type":"of type",missing:"missing",identifier:"identifier",iterate:"iterate"};function Ua(e,t){return{...e,filters:t,offset:0,name:void 0}}function _a(e){return Ua(e,[])}function qa(e,t){return Ua(e,(e.filters||[]).filter((e=>e.code!==t)))}function ja(e,t,n,r,a){a&&(e=qa(e,t));const l=[];return e.filters&&l.push(...e.filters),l.push({code:t,operator:n,value:r||""}),Ua(e,l)}function Wa(e,t){if(e.fields&&e.fields.includes(t))return e;const n=[];return e.fields&&n.push(...e.fields),n.push(t),{...e,fields:n,name:void 0}}function Ba(e,t){if(!e.filters)return e;const n=[...e.filters];return n.splice(t,1),{...e,filters:n,name:void 0}}function Ka(e,t){return Ga(e,t,-1)}function Ha(e,t){return Ga(e,t,0)}function Qa(e,t){return Ga(e,t,1)}function Ga(e,t,n){const r=new Date;r.setDate(r.getDate()+n),r.setHours(0,0,0,0);const a=new Date(r.getTime());return a.setDate(a.getDate()+1),a.setTime(a.getTime()-1),tl(e,t,r,a)}function Ja(e,t){return Za(e,t,-1)}function Ya(e,t){return Za(e,t,0)}function Xa(e,t){return Za(e,t,1)}function Za(e,t,n){const r=new Date;r.setMonth(r.getMonth()+n),r.setDate(1),r.setHours(0,0,0,0);const a=new Date(r.getTime());return a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0,0,0,0),a.setTime(a.getTime()-1),tl(e,t,r,a)}function el(e,t){const n=new Date;n.setMonth(0),n.setDate(1),n.setHours(0,0,0,0);return tl(e,t,n,new Date)}function tl(e,t,n,r){return e=nl(e=qa(e,t),t,P.GREATER_THAN_OR_EQUALS,n),e=nl(e,t,P.LESS_THAN_OR_EQUALS,r)}function nl(e,t,n,r){return ja(e,t,n,r.toISOString())}function rl(e,t,n=!0){return ja(e,t,P.MISSING,n.toString())}function al(e,t){return e.offset===t?e:{...e,offset:t,name:void 0}}function ll(e,t){return al(e,(t-1)*(e.count??N))}function ol(e,t,n){return t===il(e)&&void 0!==n&&n===sl(e)?e:{...e,sortRules:[{code:t,descending:!!n}],name:void 0}}function cl(e,t){let n=!1;return il(e)===t&&(n=!sl(e)),ol(e,t,n)}function il(e){const t=e.sortRules;if(!t||0===t.length)return;const n=t[0].code;return n.startsWith("-")?n.substr(1):n}function sl(e){const t=e.sortRules;return!(!t||0===t.length)&&!!t[0].descending}function ul(e){return La[e.type]}function ml(e){return Fa[e]??""}function dl(e){let t=e;return t.includes(".")&&(t=t.split(".").pop()),"id"===t?"ID":"versionId"===t?"Version ID":(t=t.replace("[x]",""),t=t.replace(/([A-Z])/g," $1"),t=t.replace(/[-_]/g," "),t=t.replace(/\s+/g," "),t=t.trim(),t.split(/\s/).map(I).join(" "))}function pl(e,t){const n=t.name;return"id"===n?e.id:"meta.versionId"===n?e.meta?.versionId:"_lastUpdated"===n?x(e.meta?.lastUpdated):t.elementDefinition&&`${e.resourceType}.${t.name}`===t.elementDefinition.path?function(e,t){const n=t.path?.split(".")?.pop()?.replaceAll("[x]","")||"",[r,a]=or({type:e.resourceType,value:e},n);if(!r)return null;return _.createElement(lr,{property:t,propertyType:a,value:r,maxWidth:200,ignoreMissingValues:!0,link:!1})}(e,t.elementDefinition):t.searchParams&&1===t.searchParams.length&&t.name===t.searchParams[0].code?function(e,t,n){const r=z(t.expression,[{type:e.resourceType,value:e}]);if(!r||0===r.length)return null;if(n)return _.createElement(lr,{propertyType:r[0].type,value:r[0].value,maxWidth:200,ignoreMissingValues:!0,link:!1});return _.createElement(_.Fragment,null,r.map(((e,t)=>_.createElement("span",{key:`${t}-${r.length}`},"object"==typeof e?JSON.stringify(e):e))))}(e,t.searchParams[0],t.elementDefinition):null}function hl(e){const[t,n]=q({search:JSON.parse(v(e.search))}),r=j(null),a=j(null);function l(){const e=t.search.fields??[],a=r.current?.value;if(a){const r=[...e,a];n({search:{...t.search,fields:r}})}}function o(){const e=t.search.fields??[],r=a.current?.value;if(r){const a=[...e];a.splice(a.indexOf(r),1),n({search:{...t.search,fields:a}})}}function c(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}if(B((()=>{n({search:e.search})}),[e.search]),!e.visible)return null;const i=e.search.resourceType,s=w.types[i],u=t.search.fields??[],m=function(e){const t=[],n=new Set,r=new Set;for(const a of Object.keys(e.properties))t.push(a),n.add(a.toLowerCase()),r.add(dl(a));if(e.searchParams)for(const a of Object.keys(e.searchParams)){const e=dl(a);n.has(a)||r.has(e)||(t.push(a),n.add(a),r.add(dl(a)))}return t}(s).filter((e=>!u?.includes(e))).sort();return _.createElement(pe,{title:"Fields",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:e.onCancel},_.createElement("div",null,_.createElement("table",{style:{margin:"auto"}},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",{colSpan:2,align:"center"},"Available"),_.createElement("th",{colSpan:2,align:"center"},"Selected"))),_.createElement("tbody",null,_.createElement("tr",null,_.createElement("td",{colSpan:2,align:"center"},_.createElement("select",{ref:r,size:15,tabIndex:1,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&l()}(e),onDoubleClick:()=>{l()},"data-testid":"available"},m.map((e=>_.createElement("option",{key:e,value:e},dl(e)))))),_.createElement("td",{colSpan:2,align:"center"},_.createElement("select",{ref:a,size:15,tabIndex:4,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&o()}(e),onDoubleClick:()=>{o()},"data-testid":"selected"},u.map((e=>_.createElement("option",{key:e,value:e},dl(e)))))))),_.createElement("tfoot",null,_.createElement("tr",null,_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:l},"Add")),_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:o},"Remove")),_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:function(){const e=t.search.fields??[],r=a.current?.value;if(!r)return;const l=[...e],o=l.indexOf(r);o<=0||(c(l,o,o-1),n({search:{...t.search,fields:l}}))}},"Up")),_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:function(){const e=t.search.fields??[],r=a.current?.value;if(!r)return;const l=[...e],o=l.indexOf(r);o>=l.length-1||(c(l,o,o+1),n({search:{...t.search,fields:l}}))}},"Down")))))),_.createElement(he,{onClick:()=>e.onOk(t.search)},"OK"))}function gl(e){const{resourceType:t,filter:n}=e,r=w.types[t]?.searchParams?.[n.code];if(r){if("reference"===r.type)return _.createElement(ta,{value:{reference:n.value}});const e=O(t,r);if("_lastUpdated"===n.code||e.type===$.DATETIME)return _.createElement(_.Fragment,null,x(n.value))}return _.createElement(_.Fragment,null,n.value)}function fl(e){const t="filter-value";switch(O(e.resourceType,e.searchParam).type){case $.REFERENCE:return _.createElement(zr,{name:t,defaultValue:{reference:e.defaultValue},targetTypes:e.searchParam?.target,onChange:t=>{t?e.onChange(t.reference):e.onChange("")}});case $.BOOLEAN:return _.createElement(Se,{name:t,"data-testid":t,defaultChecked:"true"===e.defaultValue,onChange:t=>e.onChange(t.currentTarget.checked.toString())});case $.DATE:return _.createElement(ee,{type:"date",name:t,"data-testid":t,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case $.DATETIME:return _.createElement(yr,{name:t,defaultValue:e.defaultValue,onChange:e.onChange});case $.NUMBER:return _.createElement(ee,{type:"number",name:t,"data-testid":t,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case $.QUANTITY:return _.createElement(Mr,{name:t,defaultValue:El(e.defaultValue),onChange:t=>{t?e.onChange(`${t.value}`):e.onChange("")}});default:return _.createElement(ee,{name:t,"data-testid":t,defaultValue:e.defaultValue,autoFocus:e.autoFocus,onChange:t=>e.onChange(t.currentTarget.value),placeholder:"Search value"})}}function El(e){if(e){const[t,n,r]=e.split("|");if(t)return{value:parseFloat(t),system:n,unit:r}}}function vl(e){const[t,n]=q(JSON.parse(v(e.search))),[r,a]=q(-1),l=j(t);if(l.current=t,B((()=>{n(JSON.parse(v(e.search)))}),[e.search]),!e.visible)return null;const o=e.search.resourceType,c=w.types[o].searchParams??{},i=t.filters||[];return _.createElement(pe,{title:"Filters",closeButtonProps:{"aria-label":"Close"},size:900,opened:e.visible,onClose:e.onCancel},_.createElement("div",null,_.createElement("table",null,_.createElement("colgroup",null,_.createElement("col",{style:{width:200}}),_.createElement("col",{style:{width:200}}),_.createElement("col",{style:{width:380}}),_.createElement("col",{style:{width:120}})),_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Field"),_.createElement("th",null,"Operation"),_.createElement("th",null,"Value"),_.createElement("th",null,"Actions"))),_.createElement("tbody",null,i.map(((e,t)=>t===r?_.createElement(Cl,{key:`filter-${t}-${i.length}-input`,resourceType:o,searchParams:c,defaultValue:e,okText:"Save",onOk:e=>{const r=[...i];r[t]=e,n(Ua(l.current,r)),a(-1)},onCancel:()=>a(-1)}):_.createElement(yl,{key:`filter-${t}-${i.length}-display`,resourceType:o,searchParams:c,filter:e,onEdit:()=>a(t),onDelete:()=>n(Ba(l.current,t))}))),_.createElement(Cl,{resourceType:o,searchParams:c,okText:"Add",onOk:function(e){n(ja(l.current,e.code,e.operator,e.value))}})))),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{onClick:()=>e.onOk(l.current)},"OK")))}function yl(e){const{filter:t}=e;return _.createElement("tr",null,_.createElement("td",null,dl(t.code)),_.createElement("td",null,ml(t.operator)),_.createElement("td",null,_.createElement(gl,{resourceType:e.resourceType,filter:t})),_.createElement("td",null,_.createElement(he,{compact:!0,variant:"outline",onClick:e.onEdit},"Edit"),_.createElement(he,{compact:!0,variant:"outline",onClick:e.onDelete},"Delete")))}function Cl(e){const[t,n]=q(e.defaultValue??{}),r=j(t);r.current=t;const a=e.searchParams[t.code],l=a&&ul(a);return _.createElement("tr",null,_.createElement("td",null,_.createElement(Z,{"data-testid":"filter-field",defaultValue:r.current.code,onChange:e=>{return t=e.currentTarget.value,void n({...r.current,code:t});var t},data:Object.keys(e.searchParams).map((e=>({value:e,label:dl(e)})))})),_.createElement("td",null,l&&_.createElement(Z,{"data-testid":"filter-operation",defaultValue:t.operator,onChange:e=>{return t=e.currentTarget.value,void n({...r.current,operator:t});var t},data:["",...l.map((e=>({value:e,label:ml(e)})))]})),_.createElement("td",null,a&&t.operator&&_.createElement(fl,{resourceType:e.resourceType,searchParam:a,defaultValue:t.value,onChange:function(e){n({...r.current,value:e})}})),_.createElement("td",null,t.code&&t.operator&&t.value&&_.createElement(he,{compact:!0,variant:"outline",onClick:()=>{e.onOk(r.current),n({})}},e.okText),e.onCancel&&_.createElement(he,{compact:!0,variant:"outline",onClick:e.onCancel},"Cancel")))}function kl(e){const[t,n]=q(e.defaultValue??"");if(!e.visible||!e.searchParam||!e.filter)return null;function r(){e.onOk({...e.filter,value:t})}return _.createElement(pe,{title:e.title,size:"xl",opened:e.visible,onClose:e.onCancel},_.createElement("div",{style:{width:500}},_.createElement(Sn,{onSubmit:r},_.createElement(fl,{resourceType:e.resourceType,searchParam:e.searchParam,defaultValue:t,autoFocus:!0,onChange:n}))),_.createElement(he,{onClick:r},"OK"))}function bl(e){if(!e.searchParams)return null;function t(t){e.onChange(t)}return 1===e.searchParams.length?_.createElement(xl,{search:e.search,searchParam:e.searchParams[0],onSort:function(n,r){t(ol(e.search,n.code,r))},onPrompt:function(t,n){e.onPrompt(t,{code:t.code,operator:n,value:""})},onChange:t,onClear:function(n){t(qa(e.search,n.code))}}):_.createElement(me.Dropdown,null,e.searchParams.map((e=>_.createElement(me.Item,{key:e.code},dl(e.code)))))}function xl(e){switch(e.searchParam.type){case"date":return _.createElement(Tl,{...e});case"number":case"quantity":return _.createElement(wl,{...e});case"reference":return _.createElement(Sl,{...e});case"string":case"token":case"uri":return _.createElement(Il,{...e});default:return _.createElement(_.Fragment,null,"Unknown search param type: ",e.searchParam.type)}}function Tl(e){const{searchParam:t}=e,n=t.code;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(Gt,{size:14}),onClick:()=>e.onSort(t,!1)},"Sort Oldest to Newest"),_.createElement(me.Item,{icon:_.createElement(Jt,{size:14}),onClick:()=>e.onSort(t,!0)},"Sort Newest to Oldest"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT_EQUALS)},"Does not equal..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(qt,{size:14}),onClick:()=>e.onPrompt(t,P.ENDS_BEFORE)},"Before..."),_.createElement(me.Item,{icon:_.createElement(_t,{size:14}),onClick:()=>e.onPrompt(t,P.STARTS_AFTER)},"After..."),_.createElement(me.Item,{icon:_.createElement(Ct,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Between..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Qa(e.search,n))},"Tomorrow"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Ha(e.search,n))},"Today"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Ka(e.search,n))},"Yesterday"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Xa(e.search,n))},"Next Month"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Ya(e.search,n))},"This Month"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Ja(e.search,n))},"Last Month"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(el(e.search,n))},"Year to date"),_.createElement(Ml,{...e}))}function wl(e){const{searchParam:t}=e;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(Gt,{size:14}),onClick:()=>e.onSort(t,!1)},"Sort Smallest to Largest"),_.createElement(me.Item,{icon:_.createElement(Jt,{size:14}),onClick:()=>e.onSort(t,!0)},"Sort Largest to Smallest"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT_EQUALS)},"Does not equal..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(_t,{size:14}),onClick:()=>e.onPrompt(t,P.GREATER_THAN)},"Greater than..."),_.createElement(me.Item,{icon:_.createElement(Qt,{size:14}),onClick:()=>e.onPrompt(t,P.GREATER_THAN_OR_EQUALS)},"Greater than or equal to..."),_.createElement(me.Item,{icon:_.createElement(qt,{size:14}),onClick:()=>e.onPrompt(t,P.LESS_THAN)},"Less than..."),_.createElement(me.Item,{icon:_.createElement(Qt,{size:14}),onClick:()=>e.onPrompt(t,P.LESS_THAN_OR_EQUALS)},"Less than or equal to..."),_.createElement(Ml,{...e}))}function Sl(e){const{searchParam:t}=e;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT)},"Does not equal..."),_.createElement(Ml,{...e}))}function Il(e){const{searchParam:t}=e;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(Gt,{size:14}),onClick:()=>e.onSort(t,!1)},"Sort A to Z"),_.createElement(me.Item,{icon:_.createElement(Jt,{size:14}),onClick:()=>e.onSort(t,!0)},"Sort Z to A"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT)},"Does not equal..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(bt,{size:14}),onClick:()=>e.onPrompt(t,P.CONTAINS)},"Contains..."),_.createElement(me.Item,{icon:_.createElement(kt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Does not contain..."),_.createElement(Ml,{...e}))}function Ml(e){const{searchParam:t}=e,n=t.code;return _.createElement(_.Fragment,null,_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(vt,{size:14}),onClick:()=>e.onChange(rl(e.search,n))},"Missing"),_.createElement(me.Item,{icon:_.createElement(Et,{size:14}),onClick:()=>e.onChange(rl(e.search,n,!1))},"Not missing"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(tn,{size:14}),onClick:()=>e.onClear(t)},"Clear filters"))}function Al(e,t){if("_lastUpdated"===t)return{name:"_lastUpdated",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_lastUpdated",name:"_lastUpdated",type:"date",expression:"Resource.meta.lastUpdated"}]};if("meta.versionId"===t)return{name:"meta.versionId",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_versionId",name:"_versionId",type:"token",expression:"Resource.meta.versionId"}]};const n=w.types[e],r=n.properties[t],a=n.searchParams?.[t.toLowerCase()];if(r&&a)return{name:t,elementDefinition:r,searchParams:[a]};if(r){let a;if(n.searchParams){const r=`${e}.${t.replaceAll("[x]","")}`;a=Object.values(n.searchParams).filter((e=>e.expression?.includes(r))),0===a.length&&(a=void 0)}return{name:t,elementDefinition:r,searchParams:a}}if(a){return{name:t,elementDefinition:O(e,a).elementDefinition,searchParams:[a]}}return{name:t}}function Dl(e){return _.createElement(pe,{title:"Export",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:e.onCancel},_.createElement(ze,{display:"flex",sx:{justifyContent:"space-between"}},e.exportCsv&&_.createElement(Vl,{text:"CSV",exportLogic:e.exportCsv,onCancel:e.onCancel}),e.exportTransactionBundle&&_.createElement(Vl,{text:"Transaction Bundle",exportLogic:e.exportTransactionBundle,onCancel:e.onCancel})),_.createElement(ie,{sx:{marginTop:"10px",marginLeft:"2px"}},"Limited to 1000 records"))}function Vl(e){return _.createElement(he,{onClick:()=>{e.exportLogic(),e.onCancel()}},`Export as ${e.text}`)}class Rl extends Event{constructor(e){super("change"),this.definition=e}}class Pl extends Event{constructor(e){super("load"),this.response=e}}class Nl extends Event{constructor(e,t){super("click"),this.resource=e,this.browserEvent=t}}const zl=ce((e=>({root:{maxWidth:"100%",overflow:"auto",textAlign:"left",marginBottom:"20px"},table:{cursor:"pointer"},tr:{"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[7]:e.colors.gray[0]}},th:{padding:"0 !important"},control:{width:"100%",padding:`${e.spacing.xs} ${e.spacing.md}`,"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[6]:e.colors.gray[0]}},icon:{width:21,height:21,borderRadius:21}})));function Ol(e){const{classes:t}=zl(),n=et(),[r,a]=q(!1),[l,o]=q(),{search:c,onLoad:i}=e,[s,u]=q({selected:{},fieldEditorVisible:!1,filterEditorVisible:!1,exportDialogVisible:!1,filterDialogVisible:!1}),m=j(s);function d(t){e.onChange&&e.onChange(new Rl(t))}function p(t,n){on(t.target)||2!==t.button&&(ln(t),1!==t.button&&e.onClick&&e.onClick(new Nl(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new Nl(n,t)))}m.current=s,B((()=>{o(void 0),n.search(c.resourceType,L({...c,total:"accurate",fields:void 0})).then((e=>{u({...m.current,searchResponse:e}),i&&i(new Pl(e))})).catch((e=>{u({...m.current,searchResponse:void 0}),o(e)}))}),[n,c,i]),B((()=>{a(!1),n.requestSchema(e.search.resourceType).then((()=>a(!0))).catch(console.log)}),[n,e.search.resourceType]);if(!(r&&w?.types?.[e.search.resourceType]))return _.createElement(ne,{style:{width:"100%",height:"100%"}},_.createElement(re,null));const h=e.checkboxesEnabled,g=function(e){const t=e.resourceType,n=[];for(const r of e.fields||["id","_lastUpdated"])n.push(Al(t,r));return n}(c),f=c.resourceType,E=s.searchResponse,v=E?.entry,y=v?.map((e=>e.resource)),C="subtle",k="gray",b=16,x=window.innerWidth<768;return _.createElement("div",{className:t.root,"data-testid":"search-control"},!e.hideToolbar&&_.createElement(X,{position:"apart",mb:"xl"},_.createElement(X,{spacing:2},_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(Dt,{size:b}),onClick:()=>u({...m.current,fieldEditorVisible:!0})},"Fields"),_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(Lt,{size:b}),onClick:()=>u({...m.current,filterEditorVisible:!0})},"Filters"),e.onNew&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement($t,{size:b}),onClick:e.onNew},"New..."),!x&&!!(e.onExport||e.onExportCsv||e.onExportTransactionBundle)&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(Zt,{size:b}),onClick:e.onExport?e.onExport:()=>u({...m.current,exportDialogVisible:!0})},"Export..."),!x&&e.onDelete&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(en,{size:b}),onClick:()=>e.onDelete(Object.keys(s.selected))},"Delete..."),!x&&e.onBulk&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(yt,{size:b}),onClick:()=>e.onBulk(Object.keys(s.selected))},"Bulk...")),E&&_.createElement(ie,{size:"xs",color:"dimmed"},function(e,t){return Math.min(t,(e.offset??0)+1)}(c,E.total),"-",function(e,t){return Math.min(t,((e.offset??0)+1)*(e.count??N))}(c,E.total)," of"," ",E.total?.toLocaleString())),_.createElement(Oe,{className:t.table},_.createElement("thead",null,_.createElement("tr",null,h&&_.createElement("th",null,_.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){const e=m.current;if(!e.searchResponse?.entry||0===e.searchResponse.entry.length)return!1;for(const t of e.searchResponse.entry)if(t.resource?.id&&!e.selected[t.resource.id])return!1;return!0}(),onChange:e=>function(e){e.stopPropagation();const t=e.target.checked,n={},r=m.current?.searchResponse;t&&r?.entry&&r.entry.forEach((e=>{e.resource?.id&&(n[e.resource.id]=!0)})),u({...m.current,selected:n})}(e)})),g.map((n=>_.createElement("th",{key:n.name},_.createElement(me,{shadow:"md",width:240,position:"bottom-end"},_.createElement(me.Target,null,_.createElement(ue,{className:t.control},_.createElement(X,{position:"apart",noWrap:!0},_.createElement(ie,{weight:500,size:"sm"},dl(n.name)),_.createElement(ne,{className:t.icon},_.createElement(gt,{size:14,stroke:1.5}))))),_.createElement(bl,{search:e.search,searchParams:n.searchParams,onPrompt:(e,t)=>{u({...m.current,filterDialogVisible:!0,filterDialogSearchParam:e,filterDialogFilter:t})},onChange:e=>{d(e)}})))))),!e.hideFilters&&_.createElement("tr",null,h&&_.createElement("th",null),g.map((t=>_.createElement("th",{key:t.name},t.searchParams&&_.createElement(Ll,{resourceType:f,searchParams:t.searchParams,filters:e.search.filters})))))),_.createElement("tbody",null,y?.map((e=>e&&_.createElement("tr",{key:e.id,className:t.tr,"data-testid":"search-control-row",onClick:t=>p(t,e),onAuxClick:t=>p(t,e)},h&&_.createElement("td",null,_.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!s.selected[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r={...m.current.selected};n?r[t]=!0:delete r[t],u({...m.current,selected:r})}(t,e.id)})),g.map((t=>_.createElement("td",{key:t.name},pl(e,t))))))))),0===y?.length&&_.createElement(Xr,null,_.createElement(ne,{style:{height:150}},_.createElement(ie,{size:"xl",color:"dimmed"},"No results"))),void 0!==E?.total&&E.total>0&&_.createElement(ne,{m:"md",p:"md"},_.createElement($e,{value:Fl(c),total:Ul(c,E.total),onChange:e=>d(ll(c,e)),getControlProps:e=>{switch(e){case"previous":return{"aria-label":"Previous page"};case"next":return{"aria-label":"Next page"};default:return{}}}})),l&&_.createElement("div",{"data-testid":"search-error"},_.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(l,void 0,2))),_.createElement(hl,{search:e.search,visible:m.current.fieldEditorVisible,onOk:e=>{d(e),u({...m.current,fieldEditorVisible:!1})},onCancel:()=>{u({...m.current,fieldEditorVisible:!1})}}),_.createElement(vl,{search:e.search,visible:m.current.filterEditorVisible,onOk:e=>{d(e),u({...m.current,filterEditorVisible:!1})},onCancel:()=>{u({...m.current,filterEditorVisible:!1})}}),_.createElement(Dl,{visible:m.current.exportDialogVisible,exportCsv:e.onExportCsv,exportTransactionBundle:e.onExportTransactionBundle,onCancel:()=>{u({...m.current,exportDialogVisible:!1})}}),_.createElement(kl,{key:s.filterDialogSearchParam?.code,visible:m.current.filterDialogVisible,title:"Input",resourceType:f,searchParam:s.filterDialogSearchParam,filter:s.filterDialogFilter,defaultValue:"",onOk:t=>{d(ja(e.search,t.code,t.operator,t.value)),u({...m.current,filterDialogVisible:!1})},onCancel:()=>{u({...m.current,filterDialogVisible:!1})}}))}const $l=_.memo(Ol);function Ll(e){const t=(e.filters??[]).filter((t=>e.searchParams.find((e=>e.code===t.code))));return 0===t.length?_.createElement("span",null,"no filters"):_.createElement(_.Fragment,null,t.map(((n,r)=>_.createElement("div",{key:`filter-${r}-${t.length}`},ml(n.operator)," ",_.createElement(gl,{resourceType:e.resourceType,filter:n})))))}function Fl(e){return Math.floor((e.offset||0)/(e.count||N))+1}function Ul(e,t){const n=e.count||N;return Math.ceil(t/n)}function _l(e){const t=et(),[n,r]=q(),[a,l]=q(),{query:o,fields:i}=e,[s,u]=q(),[m,d]=q({}),p=j();p.current=s;const h=j({});function g(t,n){on(t.target)||(ln(t),1!==t.button&&e.onClick&&e.onClick(new Nl(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new Nl(n,t)))}h.current=m,B((()=>{l(void 0),t.graphql(o).then(u).catch((e=>l(c(e))))}),[t,o]),B((()=>{t.requestSchema(e.resourceType).then((e=>{r({...e})})).catch(console.log)}),[t,e.resourceType]);const f=n?.types?.[e.resourceType];if(!f)return _.createElement(re,null);const E=e.checkboxesEnabled;return _.createElement("div",{onContextMenu:e=>ln(e),"data-testid":"search-control"},_.createElement(Oe,null,_.createElement("thead",null,_.createElement("tr",null,E&&_.createElement("th",null,_.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){const e=p.current?.data?.ResourceList;if(!e||0===e.length)return!1;for(const t of e)if(t?.id&&!h.current[t.id])return!1;return!0}(),onChange:e=>function(e){e.stopPropagation();const t=e.target.checked,n={},r=p.current?.data?.ResourceList;t&&r&&r.forEach((e=>{e?.id&&(n[e.id]=!0)})),d(n)}(e)})),i.map((e=>_.createElement("th",{key:e.name},e.name))))),_.createElement("tbody",null,s?.data?.ResourceList?.map((e=>e&&_.createElement("tr",{key:e.id,"data-testid":"search-control-row",onClick:t=>g(t,e),onAuxClick:t=>g(t,e)},E&&_.createElement("td",null,_.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!m[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r={...h.current};n?r[t]=!0:delete r[t],d(r)}(t,e.id)})),i.map((t=>_.createElement("td",{key:t.name},_.createElement($a,{propertyType:t.propertyType,path:t.fhirPath,resource:e}))))))))),0===s?.data?.ResourceList?.length&&_.createElement("div",{"data-testid":"empty-search"},"No results"),a&&_.createElement("div",{"data-testid":"search-error"},_.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(a,void 0,2))),e.onBulk&&_.createElement(he,{onClick:()=>e.onBulk(Object.keys(h.current))},"Bulk..."))}const ql=_.memo(_l);function jl(e){return _.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 491 491",style:{width:e.size,height:e.size}},_.createElement("title",null,"Medplum Logo"),_.createElement("path",{fill:e.fill||"#ad7136",d:"M282 67c6-16 16-29 29-40L289 0c-22 17-37 41-43 68l17 23 19-24z"}),_.createElement("path",{fill:e.fill||"#946af9",d:"M311 63c-17 0-33 4-48 11-16-7-32-11-49-11-87 0-158 96-158 214s71 214 158 214c17 0 33-4 49-11 15 7 31 11 48 11 87 0 158-96 158-214S398 63 311 63z"}),_.createElement("path",{fill:e.fill||"#7857c5",d:"M231 489l-17 2c-87 0-158-96-158-214S127 63 214 63l17 1c-39 12-70 102-70 213s31 201 70 212z"}),_.createElement("path",{fill:e.fill||"#40bc26",d:"M207 220a176 176 0 01-177 43A176 176 0 01251 43l1 5c17 59 2 125-45 172z"}),_.createElement("path",{fill:e.fill||"#33961e",d:"M252 48A421 421 0 0057 270l-27-7A176 176 0 01251 43l1 5z"}))}function Wl(e){const t=e.outcome?.issue||e.issues;return t?_.createElement(te,{icon:_.createElement(ft,{size:16}),color:"red"},t.map((e=>_.createElement("div",{"data-testid":"text-field-error",key:e.details?.text},e.details?.text)))):null}function Bl(e){const n=G(((e,t,n)=>{const r=`${t}/${n}`,a=100;return Promise.allSettled([e.readHistory("Patient",n),e.search("Communication",{subject:r,_count:a}),e.search("Device",{patient:r,_count:a}),e.search("DeviceRequest",{patient:r,_count:a}),e.search("DiagnosticReport",{subject:r,_count:a}),e.search("Media",{subject:r,_count:a}),e.search("ServiceRequest",{subject:r,_count:a}),e.search("Task",{subject:r,_count:a})])}),[]);return _.createElement(wa,{value:e.patient,loadTimelineResources:n,createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",subject:t(e),sender:t(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",subject:t(e),operator:t(n),issued:(new Date).toISOString(),content:r})})}const Kl=ce((e=>({section:{position:"relative",margin:"4px 4px 8px 0",padding:"6px 12px 16px 6px",border:`1.5px solid ${e.colors.gray[1]}`,borderRadius:e.radius.sm,transition:"all 0.1s"},hovering:{border:`1.5px solid ${e.colors.blue[5]}`},editing:{border:`1.5px solid ${e.colors.gray[1]}`,borderLeft:`4px solid ${e.colors.blue[5]}`},bottomActions:{position:"absolute",right:4,bottom:0,fontSize:e.fontSizes.xs,"& a":{marginLeft:8}}})));function Hl(e){const t=et(),n=un(e.value),[r,a]=q(void 0),[l,o]=q(),[c,i]=q(),[s,u]=q();function m(){i(void 0)}function d(){o(void 0)}const p=j();if(p.current=s,B((()=>{t.requestSchema("PlanDefinition").then(a).catch(console.log)}),[t]),B((()=>{var e;return u((e=n??{resourceType:"PlanDefinition"},{...e,action:ao(e.action)})),document.addEventListener("mouseover",m),document.addEventListener("click",d),()=>{document.removeEventListener("mouseover",m),document.removeEventListener("click",d)}}),[n]),!r||!s)return null;function h(e,t){u({...p.current,[e]:t})}return _.createElement("div",null,_.createElement(Sn,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(s)},_.createElement(ee,{label:"Plan Title",defaultValue:s.title,onChange:e=>h("title",e.currentTarget.value)}),_.createElement(Ql,{actions:s.action||[],selectedKey:l,setSelectedKey:o,hoverKey:c,setHoverKey:i,onChange:e=>h("action",e)}),_.createElement(he,{type:"submit"},"Save")))}function Ql(e){const{classes:t}=Kl(),n=j();function r(t){e.onChange(n.current.map((e=>e.id===t.id?t:e)))}return n.current=e.actions,_.createElement("div",{className:t.section},e.actions.map((t=>_.createElement("div",{key:t.id},_.createElement(Gl,{action:t,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:r,onRemove:()=>{return r=t,void e.onChange(n.current.filter((e=>e!==r)));var r}})))),_.createElement("div",{className:t.bottomActions},_.createElement(ae,{href:"#",onClick:t=>{var r;ln(t),r={id:ro()},e.onChange([...n.current,r]),e.setSelectedKey(r.id)}},"Add action")))}function Gl(e){const{classes:t,cx:n}=Kl(),{action:r}=e,a=function(e){if(e.definitionCanonical?.startsWith("Schedule"))return"appointment";if(e.definitionCanonical?.startsWith("Questionnaire/"))return"questionnaire";if(e.definitionCanonical?.startsWith("ActivityDefinition/"))return"task";return}(r),l=e.selectedKey===e.action.id,o=e.hoverKey===e.action.id;const c=n(t.section,{[t.editing]:l,[t.hovering]:o&&!l});return _.createElement("div",{"data-testid":r.id,className:c,onClick:function(t){t.stopPropagation(),e.setSelectedKey(e.action.id)},onMouseOver:function(t){ln(t),e.setHoverKey(e.action.id)}},l?_.createElement(Xl,{action:r,actionType:a,onChange:e.onChange,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onRemove:e.onRemove}):_.createElement(Yl,{action:r,actionType:a}),_.createElement("div",{className:t.bottomActions},_.createElement(ae,{href:"#",onClick:t=>{t.preventDefault(),e.onRemove()}},"Remove")))}const Jl={path:"PlanDefinition.action.timing[x]",min:0,max:"1",type:[{code:"dateTime"},{code:"Period"},{code:"Range"},{code:"Timing"}]};function Yl(e){const{action:t,actionType:n}=e,[r,a]=to(t);return _.createElement("div",null,_.createElement("div",null,t.title||"Untitled"," ",n&&`(${n})`),t.definitionCanonical&&_.createElement("div",null,_.createElement(rr,{value:{reference:t.definitionCanonical}})),r&&_.createElement("div",null,_.createElement(lr,{property:Jl,propertyType:a,value:r})))}function Xl(e){const{action:t}=e,[n,r]=q(e.actionType);function a(n,r){e.onChange({...t,[n]:r})}return _.createElement(de,{spacing:"xl"},_.createElement(ee,{name:`actionTitle-${t.id}`,label:"Title",defaultValue:t.title,onChange:e=>a("title",e.currentTarget.value)}),_.createElement(ee,{name:`actionDescription-${t.id}`,label:"Description",defaultValue:t.description,onChange:e=>a("description",e.currentTarget.value)}),_.createElement(Z,{label:"Type of Action",description:"The type of the action to be performed.",name:`actionType-${t.id}`,defaultValue:n,onChange:e=>r(e.currentTarget.value),data:["","appointment","lab","questionnaire","task"]}),t.action&&t.action.length>0&&_.createElement(Ql,{actions:t.action,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:e=>a("action",e)}),(()=>{switch(n){case"appointment":return _.createElement(Zl,{title:"Appointment",description:"The subject must schedule an appointment from the schedule.",resourceType:"Schedule",action:t,onChange:e.onChange});case"lab":return _.createElement(Zl,{title:"Lab",description:"The subject must complete the following lab panel.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});case"questionnaire":return _.createElement(Zl,{title:"Questionnaire",description:"The subject must complete the selected questionnaire.",resourceType:"Questionnaire",action:t,onChange:e.onChange});case"task":return _.createElement(Zl,{title:"Task",description:"The subject must complete the following task.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});default:return null}})(),_.createElement(dr,{title:"Timing",description:"When the action should take place."},_.createElement(eo,{name:"timing-"+t.id,action:t,onChange:e.onChange})))}function Zl(e){const{id:t,definitionCanonical:n}=e.action,r=n?.startsWith(e.resourceType+"/")?{reference:n}:void 0;return _.createElement(Pr,{name:t,resourceType:e.resourceType,defaultValue:r,loadOnFocus:!0,onChange:t=>{t?e.onChange({...e.action,definitionCanonical:u(t)}):e.onChange({...e.action,definitionCanonical:void 0})}})}function eo(e){const t=e.action,n="timing",[r,a]=to(t);return _.createElement(_r,{property:Jl,name:"timing[x]",defaultValue:r,defaultPropertyType:a,onChange:(r,a)=>{e.onChange(hr(t,n,a??n,Jl,r))}})}function to(e){return or({type:"PlanDefinitionAction",value:e},"timing")}let no=1;function ro(e){if(e){if(e.startsWith("id-")){const t=parseInt(e.substring(3));isNaN(t)||(no=Math.max(no,t+1))}return e}return"id-"+no++}function ao(e){if(e)return e.map((e=>({...e,id:ro(e.id),action:ao(e.action)})))}var lo;function oo(e){return"choice"===e.type||"open-choice"===e.type}function co(e){const n=et(),r=n.getProfile(),[a,l]=q(),o=un(e.questionnaire),[c,i]=q(),[s,m]=q({});return B((()=>{n.requestSchema("Questionnaire").then((()=>n.requestSchema("QuestionnaireResponse"))).then(l).catch(console.log)}),[n]),B((()=>{i(o?function(e){const t={resourceType:"QuestionnaireResponse",questionnaire:u(e),item:ho(e.item)};return t}(o):void 0)}),[o]),a&&o?_.createElement(Sn,{testid:"questionnaire-form",onSubmit:()=>{e.onSubmit&&c&&e.onSubmit({...c,questionnaire:u(o),subject:e.subject,source:t(r),authored:(new Date).toISOString(),status:"completed"})}},o.title&&_.createElement(De,null,o.title),o.item&&_.createElement(io,{items:o.item,answers:s,onChange:function(e){const t={resourceType:"QuestionnaireResponse",item:e};i(t),m(F(t))}}),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},e.submitButtonText||"OK"))):null}function io(e){const[t,n]=q(ho(e.items));function r(r,a){const l=t.slice();l[r]=a,n(l),e.onChange(l)}return _.createElement(de,null,e.items.map(((t,n)=>{if(!Eo(t,e.answers))return null;if(t.type===lo.display)return _.createElement("p",{key:t.linkId},t.text);if(t.type===lo.group)return _.createElement(so,{key:t.linkId,item:t,answers:e.answers,onChange:e=>r(n,e)});if(t.type===lo.boolean){const e=t.initial&&t.initial.length>0?t.initial[0]:void 0;return _.createElement(ir,{key:t.linkId,title:t.text,htmlFor:t.linkId},_.createElement(Se,{id:t.linkId,name:t.linkId,defaultChecked:e?.valueBoolean,onChange:e=>r(n,{linkId:t.linkId,text:t.text,answer:[{valueBoolean:e.currentTarget.checked}]})}))}return _.createElement(dr,{key:t.linkId,htmlFor:t.linkId,title:t.text||""},_.createElement(so,{item:t,answers:e.answers,onChange:e=>r(n,e)}))})))}function so(e){const t=e.item,n=t.type;if(!n)return null;const r=t.linkId;if(!r)return null;const a=t.initial&&t.initial.length>0?t.initial[0]:void 0;function l(n){e.onChange({linkId:t.linkId,text:t.text,answer:[n]})}switch(n){case lo.group:return _.createElement("div",null,_.createElement("h3",null,t.text),t.item&&_.createElement(io,{items:t.item,answers:e.answers,onChange:function(n){e.onChange({linkId:t.linkId,text:t.text,item:n})}}));case lo.boolean:return _.createElement(Se,{id:r,name:r,defaultChecked:a?.valueBoolean,onChange:e=>l({valueBoolean:e.currentTarget.checked})});case lo.decimal:return _.createElement(ee,{type:"number",step:"any",id:r,name:r,defaultValue:a?.valueDecimal,onChange:e=>l({valueDecimal:e.currentTarget.valueAsNumber})});case lo.integer:return _.createElement(ee,{type:"number",step:1,id:r,name:r,defaultValue:a?.valueInteger,onChange:e=>l({valueInteger:e.currentTarget.valueAsNumber})});case lo.date:return _.createElement(ee,{type:"date",id:r,name:r,defaultValue:a?.valueDate,onChange:e=>l({valueDate:e.currentTarget.value})});case lo.dateTime:return _.createElement(yr,{name:r,defaultValue:a?.valueDateTime,onChange:e=>l({valueDateTime:e})});case lo.time:return _.createElement(ee,{type:"time",id:r,name:r,defaultValue:a?.valueTime,onChange:e=>l({valueTime:e.currentTarget.value})});case lo.string:case lo.url:return _.createElement(ee,{id:r,name:r,defaultValue:a?.valueString,onChange:e=>l({valueString:e.currentTarget.value})});case lo.text:return _.createElement(we,{id:r,name:r,defaultValue:a?.valueString,onChange:e=>l({valueString:e.currentTarget.value})});case lo.attachment:return _.createElement(jn,{name:r,defaultValue:a?.valueAttachment,onChange:e=>l({valueAttachment:e})});case lo.reference:return _.createElement(zr,{name:r,defaultValue:a?.valueReference,onChange:e=>l({valueReference:e})});case lo.quantity:return _.createElement(Mr,{name:r,defaultValue:a?.valueQuantity,onChange:e=>l({valueQuantity:e}),disableWheel:!0});case lo.choice:case lo.openChoice:return function(e){return!!e.extension?.some((e=>"http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"===e.url&&"drop-down"===e.valueCodeableConcept?.coding?.[0]?.code))}(t)?_.createElement(uo,{name:r,item:t,initial:a,onChangeAnswer:l}):_.createElement(po,{name:r,item:t,initial:a,onChangeAnswer:l})}return null}function uo(e){const{name:t,item:n,initial:r}=e,a=T({type:"QuestionnaireItemInitial",value:r},"value"),l=[""];if(n.answerOption)for(const e of n.answerOption){const t=T({type:"QuestionnaireItemAnswerOption",value:e},"value");l.push(mo(t))}return _.createElement(Z,{id:t,name:t,onChange:t=>{const r=t.currentTarget.selectedIndex;if(0===r)return void e.onChangeAnswer({});const a=n.answerOption[r-1],l=T({type:"QuestionnaireItemAnswerOption",value:a},"value"),o="value"+I(l.type);e.onChangeAnswer({[o]:l.value})},defaultValue:mo(a),data:l})}function mo(e){if(e)return"CodeableConcept"===e.type?e.value.coding[0].display:"Coding"===e.type?e.value.display:e.value.toString()}function po(e){const{name:t,item:n,initial:r,onChangeAnswer:a}=e,l=w.types.QuestionnaireItemAnswerOption.properties["value[x]"],o=T({type:"QuestionnaireItemInitial",value:r},"value"),c=[];let i;if(n.answerOption)for(let e=0;e<n.answerOption.length;e++){const r=n.answerOption[e],a=`${t}-option-${e}`,l=T({type:"QuestionnaireItemAnswerOption",value:r},"value");o&&v(l)===v(o)&&(i=a),c.push([a,l])}return _.createElement(Le.Group,{name:t,defaultValue:i,onChange:e=>{const t=c.find((t=>t[0]===e));if(t){const e=t[1],n="value"+I(e.type);a({[n]:e.value})}}},c.map((([e,t])=>_.createElement(Le,{key:e,id:e,value:e,label:_.createElement(lr,{property:l,propertyType:t.type,value:t.value})}))))}function ho(e){return e?.map(go)??[]}function go(e){return{linkId:e.linkId,text:e.text,item:ho(e.item),answer:e.initial?.map(fo)??[]}}function fo(e){return{...e}}function Eo(e,t){if(!e.enableWhen)return!0;const n=e.enableBehavior||"any";for(const r of e.enableWhen){const e=T({type:"QuestionnaireItemEnableWhen",value:r},"answer[x]"),a=T({type:"QuestionnaireResponseItemAnswer",value:t[r.question]},"value[x]"),l=o(e,a);if("any"===n&&l)return!0;if("all"===n&&!l)return!1}return"any"!==n}!function(e){e.group="group",e.display="display",e.question="question",e.boolean="boolean",e.decimal="decimal",e.integer="integer",e.date="date",e.dateTime="dateTime",e.time="time",e.string="string",e.text="text",e.url="url",e.choice="choice",e.openChoice="open-choice",e.attachment="attachment",e.reference="reference",e.quantity="quantity"}(lo||(lo={}));const vo=ce((e=>({section:{position:"relative",margin:"4px 4px 8px 0",padding:"6px 12px 16px 6px",border:`1.5px solid ${e.colors.gray[1]}`,borderRadius:e.radius.sm,transition:"all 0.1s"},hovering:{border:`1.5px solid ${e.colors.blue[5]}`},editing:{border:`1.5px solid ${e.colors.gray[1]}`,borderLeft:`4px solid ${e.colors.blue[5]}`},questionBody:{maxWidth:600},topActions:{position:"absolute",right:4,top:1,padding:4,color:e.colors.gray[5],fontSize:e.fontSizes.xs},bottomActions:{position:"absolute",right:4,bottom:0,fontSize:e.fontSizes.xs,"& a":{marginLeft:8}},linkIdInput:{width:100,marginBottom:4},typeSelect:{width:100}})));function yo(e){const t=et(),n=un(e.questionnaire),[r,a]=q(),[l,o]=q(),[c,i]=q(),[s,u]=q();function m(){u(void 0)}function d(){i(void 0)}return B((()=>{t.requestSchema("Questionnaire").then(a).catch(console.log)}),[t]),B((()=>{var e;return o((e=n??{resourceType:"Questionnaire"},{...e,id:e.id||wo(),item:So(e.item)})),document.addEventListener("mouseover",m),document.addEventListener("click",d),()=>{document.removeEventListener("mouseover",m),document.removeEventListener("click",d)}}),[n]),r&&l?_.createElement("div",null,_.createElement(Sn,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(l)},_.createElement(Co,{item:l,selectedKey:c,setSelectedKey:i,hoverKey:s,setHoverKey:u,onChange:o}),_.createElement(he,{type:"submit"},"Save"))):null}function Co(e){const{classes:t,cx:n}=vo(),r=e.item,l=e.item,o=a(e.item),c=o||l.type===lo.group,i=l.linkId??"[untitled]",s=e.selectedKey===e.item.id,u=e.hoverKey===e.item.id,m=j();function d(t){const n=m.current;e.onChange({...n,item:n.item?.map((e=>e.id===t.id?t:e))})}function p(t){e.onChange({...e.item,item:[...e.item?.item??[],t]})}function h(t,n){e.onChange({...m.current,[t]:n})}m.current=e.item;const g=n(t.section,{[t.editing]:s,[t.hovering]:u&&!s});return _.createElement("div",{"data-testid":l.linkId,className:g,onClick:function(t){ln(t),e.setSelectedKey(e.item.id)},onMouseOver:function(t){ln(t),e.setHoverKey(e.item.id)}},_.createElement("div",{className:t.questionBody},s?_.createElement(_.Fragment,null,o&&_.createElement(ee,{size:"xl",defaultValue:r.title,onChange:e=>h("title",e.currentTarget.value)}),!o&&_.createElement(we,{autosize:!0,minRows:2,defaultValue:l.text,onChange:e=>h("text",e.currentTarget.value)}),oo(l)&&_.createElement(ko,{options:l.answerOption,onChange:e=>h("answerOption",e)})):_.createElement(_.Fragment,null,r.title&&_.createElement(De,null,r.title),l.text&&_.createElement("div",null,l.text),!c&&_.createElement(so,{item:l,answers:{},onChange:()=>{}}))),l.item&&l.item.map((t=>_.createElement("div",{key:t.id},_.createElement(Co,{item:t,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:d,onRemove:()=>{return n=t,void e.onChange({...e.item,item:e.item?.item?.filter((e=>e!==n))});var n}})))),!c&&_.createElement("div",{className:t.topActions},s?_.createElement(_.Fragment,null,_.createElement(ee,{size:"xs",className:t.linkIdInput,defaultValue:l.linkId,onChange:e=>h("linkId",e.currentTarget.value)}),!c&&_.createElement(Z,{size:"xs",className:t.typeSelect,defaultValue:l.type,onChange:e=>h("type",e.currentTarget.value),data:[{value:"display",label:"Display"},{value:"boolean",label:"Boolean"},{value:"decimal",label:"Decimal"},{value:"integer",label:"Integer"},{value:"date",label:"Date"},{value:"dateTime",label:"Date/Time"},{value:"time",label:"Time"},{value:"string",label:"String"},{value:"text",label:"Text"},{value:"url",label:"URL"},{value:"choice",label:"Choice"},{value:"open-choice",label:"Open Choice"},{value:"attachment",label:"Attachment"},{value:"reference",label:"Reference"},{value:"quantity",label:"Quantity"}]})):_.createElement("div",null,i)),_.createElement("div",{className:t.bottomActions},c&&_.createElement(_.Fragment,null,_.createElement(ae,{href:"#",onClick:e=>{e.preventDefault(),p({id:wo(),linkId:To("q"),type:"string",text:"Question"})}},"Add item"),_.createElement(ae,{href:"#",onClick:e=>{e.preventDefault(),p({id:wo(),linkId:To("g"),type:"group",text:"Group"})}},"Add group")),s&&!o&&_.createElement(ae,{href:"#",onClick:t=>{t.preventDefault(),e.onRemove&&e.onRemove()}},"Remove")))}function ko(e){const t=w.types.QuestionnaireItemAnswerOption.properties["value[x]"],n=e.options??[];return _.createElement("div",null,n.map((r=>{const[a,l]=or({type:"QuestionnaireItemAnswerOption",value:r},"value");return _.createElement("div",{key:r.id,style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"80%"}},_.createElement("div",null,_.createElement(_r,{key:r.id,name:"value[x]",property:t,defaultPropertyType:l,defaultValue:a,onChange:(t,a)=>{const l=[...n],o=l.findIndex((e=>e.id===r.id));l[o]={id:r.id,[a]:t},e.onChange(l)}})),_.createElement("div",null,_.createElement(ae,{href:"#",onClick:t=>{ln(t),e.onChange(n.filter((e=>e.id!==r.id)))}},"Remove")))})),_.createElement(ae,{href:"#",onClick:t=>{ln(t),e.onChange([...n,{id:wo()}])}},"Add choice"))}let bo=1,xo=1;function To(e){return e+bo++}function wo(){return"id-"+xo++}function So(e){if(e)return e.forEach((e=>{e.id?.match(/^id-\d+$/)&&(xo=Math.max(xo,parseInt(e.id.substring(3))+1)),e.linkId?.match(/^q\d+$/)&&(bo=Math.max(bo,parseInt(e.linkId.substring(1))+1))})),e.map((e=>({...e,id:e.id||wo(),item:So(e.item),answerOption:Io(e.answerOption)})))}function Io(e){if(e)return e.map((e=>({...e,id:e.id||wo()})))}const Mo=ce((e=>({section:{position:"relative",margin:"4px 4px 8px 0",padding:"6px 12px 16px 6px",border:`1.5px solid ${e.colors.gray[3]}`,borderRadius:e.radius.sm,transition:"all 0.1s"}}))),Ao=["gender","age","gestationalAge","context","appliesTo"],Do={definition:{resourceType:"ObservationDefinition"},onSubmit:()=>{}};function Vo(e){const t=(e=Object.assign(Do,e)).definition,[n,r]=q([]),[a,l]=q(1),[o,c]=q(1);return B((()=>{const e=function(e,t){const n=e.qualifiedInterval||[];let r=Math.max(...n.map((e=>{const t=parseInt(e.id?.substring(3)||"");return isNaN(t)?Number.NEGATIVE_INFINITY:t})))+1;Number.isFinite(r)||(r=1);return e={...e,qualifiedInterval:n.map((e=>({...e,id:e.id||"id-"+r++})))},t(r),e}(t,c);r(function(e,t){let n=1;const r={};for(const t of e){const e=No(t);e in r||(r[e]={id:"group-id-"+n++,filters:Object.fromEntries(Ao.map((e=>[e,t[e]]))),intervals:[]}),r[e].intervals.push(t)}return t(n),Object.values(r)}(e.qualifiedInterval||[],l))}),[t]),_.createElement(Sn,{testid:"reference-range-editor",onSubmit:function(){const r=n.flatMap((e=>e.intervals)).filter((e=>!function(e){return void 0===e.range?.low?.value&&void 0===e.range?.high?.value}(e)));e.onSubmit({...t,qualifiedInterval:r})}},_.createElement(de,null,n.map((e=>{return _.createElement(Ro,{unit:(n=t.quantitativeDetails?.unit,n&&(U(n,"http://unitsofmeasure.org")||n.text)),onChange:s,onAdd:u,onRemove:m,onRemoveGroup:i,key:`group-${e.id}`,intervalGroup:e});var n}))),_.createElement(ye,{title:"Add Group",size:"sm",onClick:e=>{var t;ln(e),t={id:`group-id-${a}`,filters:{},intervals:[]},r((e=>[...e,t])),l((e=>e+1))}},_.createElement(Mt,null)),_.createElement(X,{position:"right"},_.createElement(he,{type:"submit"},"Save")));function i(e){r((t=>t.filter((t=>t.id!==e.id))))}function s(e,t){r((n=>{const r=(n=[...n]).find((t=>t.id===e)),a=r?.intervals?.findIndex((e=>e.id===t.id));return void 0!==a&&r?.intervals?.[a]&&(r.intervals[a]=t),n}))}function u(e,t){void 0===t.id&&(t.id=`id-${o}`,c((e=>e+1))),r((n=>{const r=(n=[...n]).findIndex((t=>t.id===e));if(-1!==r){const e={...n[r]};t={...t,...e.filters},e.intervals=[...e.intervals,t],n[r]=e}return n}))}function m(e,t){r((n=>{const r=(n=[...n]).find((t=>t.id===e));return r&&(r.intervals=r.intervals.filter((e=>e.id!==t.id))),n}))}}function Ro(e){const{intervalGroup:t,unit:n}=e,{classes:r}=Mo();return _.createElement(Xr,{"data-testid":t.id,className:r.section},_.createElement(de,{spacing:"lg"},_.createElement(X,{position:"right"},_.createElement(ye,{title:"Remove Group","data-testid":`remove-group-button-${t.id}`,key:`remove-group-button-${t.id}`,size:"sm",onClick:n=>{ln(n),e.onRemoveGroup(t)}},_.createElement(It,null))),_.createElement(Po,{intervalGroup:t,onChange:e.onChange}),_.createElement(Fe,null),t.intervals.map((n=>_.createElement(de,{key:`interval-${n.id}`,spacing:"xs"},_.createElement(X,null,_.createElement(ee,{key:`condition-${n.id}`,"data-testid":`condition-${n.id}`,defaultValue:n.condition,label:"Condition: ",size:"sm",onChange:r=>{ln(r),e.onChange(t.id,{...n,condition:r.currentTarget.value.trim()})}}),_.createElement(ye,{title:"Remove Interval",size:"sm",key:`remove-interval-${n.id}`,"data-testid":`remove-interval-${n.id}`,onClick:r=>{ln(r),e.onRemove(t.id,n)}},_.createElement(It,null))),_.createElement(Dr,{onChange:r=>{e.onChange(t.id,{...n,range:r})},key:`range-${n.id}`,name:`range-${n.id}`,defaultValue:n.range})))),_.createElement(ye,{title:"Add Interval",size:"sm",onClick:r=>{ln(r),e.onAdd(t.id,{range:{low:{unit:n},high:{unit:n}}})}},_.createElement(Mt,null))))}function Po(e){const{intervalGroup:t,onChange:n}=e;t.filters.age||(t.filters.age={});for(const e of["low","high"])t.filters.age[e]?.unit||(t.filters.age[e]={...t.filters.age[e],unit:"years",system:"http://unitsofmeasure.org"});return _.createElement(de,{style:{maxWidth:"50%"}},_.createElement(X,null,_.createElement(Z,{data:["","male","female"],label:"Gender:",defaultValue:t.filters.gender||"",onChange:e=>{for(const r of t.intervals){let a=e.currentTarget?.value;""===a&&(a=void 0),n(t.id,{...r,gender:a})}}})),_.createElement(X,{spacing:"xs"},_.createElement(ie,{component:"label",htmlFor:`div-age-${t.id}`},"Age:"),_.createElement("div",{id:`div-age-${t.id}`},_.createElement(Dr,{key:`age-${t.id}`,name:`age-${t.id}`,defaultValue:t.filters.age,onChange:e=>{for(const r of t.intervals)n(t.id,{...r,age:e})}}))),_.createElement(Z,{data:["","pre-puberty","follicular","midcycle","luteal","postmenopausal"],label:"Endocrine:",defaultValue:t.filters.context?.text||"",onChange:e=>{for(const r of t.intervals){let a=e.currentTarget?.value;""===a?(a=void 0,n(t.id,{...r,context:void 0})):n(t.id,{...r,context:{text:a,coding:[{code:a,system:"http://terminology.hl7.org/CodeSystem/referencerange-meaning"}]}})}}}))}function No(e){return[`gender=${e.gender}`,`age=${E(e.age)}`,`gestationalAge=${E(e.gestationalAge)}`,`context=${e.context?.text}`,`appliesTo=${e.appliesTo?.map((e=>e.text)).join("+")}`].join(":")}function zo(e){const t=et(),n=un(e.value),[r,a]=q(!1),[l,o]=q();return B((()=>{n&&!r&&(t.executeBatch(function(e){const t=[];if(e.action)for(const n of e.action)n.resource?.reference&&t.push({request:{method:"GET",url:n.resource.reference}});return{resourceType:"Bundle",type:"batch",entry:t}}(n)).then(o).catch(console.log),a(!0))}),[t,n,r]),n&&l?_.createElement(Ue,null,n.action?.map(((t,n)=>{const r=t.resource&&function(e){for(const t of l?.entry)if(t.resource&&e.reference===u(t.resource))return t.resource;return}(t.resource),a=r?.input?.[0]?.valueReference,o=r?.output?.[0]?.valueReference;return _.createElement(_.Fragment,{key:`action-${n}`},_.createElement(Ue.Col,{span:1,p:"md"},"completed"===r?.status?_.createElement(wt,null):_.createElement(Yt,{color:"gray"})),_.createElement(Ue.Col,{span:9,p:"xs"},_.createElement(ie,{weight:500},t.title),t.description&&_.createElement("div",null,t.description),_.createElement("div",null,"Last edited by ",_.createElement(ta,{value:r?.meta?.author})," on ",x(r?.meta?.lastUpdated)),_.createElement("div",null,"Status: ",_.createElement(aa,{status:r?.status||"unknown"}))),_.createElement(Ue.Col,{span:2,p:"md"},a&&!o&&_.createElement(he,{onClick:()=>e.onStart(r,a)},"Start"),a&&o&&_.createElement(he,{onClick:()=>e.onEdit(r,a,o)},"Edit")))}))):null}function Oo(e,t){return function(e,t,n){const r=[];let a=e;a.snake&&(a=a.prev);for(;a&&a.prev&&a.prev.j>=0;){const e=a.i,l=a.j;a=a.prev;const o=a.i,c=a.j,i={position:o,lines:t.slice(o,e)},s={position:c,lines:n.slice(c,l)};let u;u=0===i.lines.length&&s.lines.length>0?"insert":i.lines.length>0&&0===s.lines.length?"delete":"change",r.push({original:i,revised:s,type:u}),a.snake&&(a=a.prev)}return r}(function(e,t){const n=e.length,r=t.length,a=n+r+1,l=1+2*a,o=l/2|0,c=new Array(l);c[o+1]={i:0,j:-1,prev:void 0,snake:!0};for(let l=0;l<a;l++){for(let a=-l;a<=l;a+=2){const i=o+a,s=i-1,u=c[i+1],m=c[s];let d,p=0;a===-l||a!==l&&m.i<u.i?(p=u.i,d=u):(p=m.i+1,d=m),c[s]=void 0;let h=p-a,g={i:p,j:h,prev:$o(d),snake:!1};for(;p<n&&h<r&&e[p]===t[h];)p++,h++;if(p>g.i&&(g={i:p,j:h,prev:g,snake:!0}),c[i]=g,p>=n&&h>=r)return c[i]}c[o+l-1]=void 0}return}(e,t),e,t)}function $o(e){return e&&!e.snake&&e.prev?e.prev:e}function Lo(e){const t=e.entry.filter((e=>!!e.resource)).map((e=>({meta:e.resource?.meta,lines:v(e.resource,!0).match(/[^\r\n]+/g)}))).sort(((e,t)=>e.meta.lastUpdated.localeCompare(t.meta.lastUpdated))),n=t[0].lines.map((e=>({id:t[0].meta.versionId,meta:t[0].meta,value:e,span:1})));return function(e,t){for(let n=1;n<t.length;n++){const r=Oo(t[n-1].lines,t[n].lines);for(const a of r){const r=a.original.position,l=a.original.lines,o=a.revised.lines;if("delete"!==a.type&&"change"!==a.type||e.splice(r,l.length),"insert"===a.type||"change"===a.type)for(let l=0;l<a.revised.lines.length;l++)e.splice(r+l,0,{id:t[n].meta.versionId,meta:t[n].meta,value:o[l],span:1})}}}(n,t),function(e){let t=0;for(;t<e.length;){let n=t;for(;n<e.length&&e[n].id===e[t].id;)e[n].span=-1,n++;e[t].span=n-t,t=n}}(n),n}const Fo=ce((e=>({container:{overflowX:"auto"},root:{border:`0.1px solid ${e.colors.gray[3]}`,borderCollapse:"collapse",borderRadius:e.radius.sm,borderSpacing:0,fontSize:e.fontSizes.xs,width:"100%","& td":{padding:"2px 4px 0 4px",verticalAlign:"top",whiteSpace:"nowrap"}},startRow:{borderTop:`0.1px solid ${e.colors.gray[3]}`},normalRow:{borderTop:0},author:{lineHeight:"10px"},dateTime:{borderRight:`0.1px solid ${e.colors.gray[3]}`,lineHeight:"20px"},lineNumber:{backgroundColor:e.colors.gray[1],border:0,color:e.colors.gray[5],fontFamily:e.fontFamilyMonospace,padding:`${e.spacing.xs} ${e.spacing.sm}`,textAlign:"right"},line:{fontFamily:e.fontFamilyMonospace,fontSize:e.fontSizes.sm,padding:`${e.spacing.xs} ${e.spacing.sm}`},pre:{margin:0}})));function Uo(e){const{classes:t}=Fo(),n=et(),[r,a]=q(e.history);if(B((()=>{!e.history&&e.resourceType&&e.id&&n.readHistory(e.resourceType,e.id).then(a).catch(console.log)}),[n,e.history,e.resourceType,e.id]),!r)return _.createElement("div",null,"Loading...");const l=r.entry?.[0]?.resource,o=Lo(r);return _.createElement("div",{className:t.container},_.createElement("table",{className:t.root},_.createElement("tbody",null,o.map(((e,n)=>_.createElement("tr",{key:"row-"+n,className:e.span>0?t.startRow:t.normalRow},e.span>0&&_.createElement(_.Fragment,null,_.createElement("td",{className:t.author,rowSpan:e.span},_.createElement(na,{value:e.meta.author,link:!0})),_.createElement("td",{className:t.dateTime,rowSpan:e.span},_.createElement(sn,{to:_o(l,e.meta.versionId)},qo(e.meta.lastUpdated)))),_.createElement("td",{className:t.lineNumber},n+1),_.createElement("td",{className:t.line},_.createElement("pre",{className:t.pre},e.value))))))))}function _o(e,t){return`/${e.resourceType}/${e.id}/_history/${t}`}function qo(e){const t=Math.floor((Date.now()-Date.parse(e))/1e3),n=Math.floor(t/31536e3);if(n>0)return jo(n,"year");const r=Math.floor(t/2592e3);if(r>0)return jo(r,"month");const a=Math.floor(t/86400);if(a>0)return jo(a,"day");const l=Math.floor(t/3600);if(l>0)return jo(l,"hour");const o=Math.floor(t/60);return o>0?jo(o,"minute"):jo(t,"second")}function jo(e,t){return`${e} ${1===e?t:t+"s"} ago`}const Wo=ce((e=>({removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function Bo(e){let t=e.original,n=e.revised;e.ignoreMeta&&(t={...t,meta:void 0},n={...n,meta:void 0});const r=Oo(v(t,!0).match(/[^\r\n]+/g),v(n,!0).match(/[^\r\n]+/g));return _.createElement("pre",{style:{color:"gray"}},r.map(((e,t)=>_.createElement(Ko,{key:"delta"+t,delta:e}))))}function Ko(e){const{classes:t}=Wo();return _.createElement(_.Fragment,null,"...",_.createElement("br",null),e.delta.original.lines.length>0&&_.createElement("div",{className:t.removed},e.delta.original.lines.join("\n")),e.delta.revised.lines.length>0&&_.createElement("div",{className:t.added},e.delta.revised.lines.join("\n")),"...",_.createElement("br",null))}function Ho(e){const t=et(),[n,r]=q(e.history);return B((()=>{!e.history&&e.resourceType&&e.id&&t.readHistory(e.resourceType,e.id).then(r).catch(console.log)}),[t,e.history,e.resourceType,e.id]),n?_.createElement(Oe,{withBorder:!0,withColumnBorders:!0},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Author"),_.createElement("th",null,"Date"),_.createElement("th",null,"Version"))),_.createElement("tbody",null,n.entry?.map(((e,t)=>_.createElement(Qo,{key:"entry-"+t,entry:e}))))):_.createElement("div",null,"Loading...")}function Qo(e){const{response:t,resource:r}=e.entry;return r?_.createElement("tr",null,_.createElement("td",null,_.createElement(na,{value:r.meta?.author,link:!0})),_.createElement("td",null,x(r.meta?.lastUpdated)),_.createElement("td",null,_.createElement(sn,{to:Go(r)},r.meta?.versionId))):_.createElement("tr",null,_.createElement("td",{colSpan:3},n(t?.outcome)))}function Go(e){return`/${e.resourceType}/${e.id}/_history/${e.meta?.versionId}`}const Jo=ce((e=>({container:{display:"flex",minHeight:400},info:{minWidth:300,padding:20,borderRight:`1px solid ${e.colors.gray[3]}`},selection:{minWidth:300,padding:20}})));function Yo(e){const{classes:t}=Jo(),n=et(),r=un(e.schedule),a=un(e.questionnaire),[l,o]=q();j().current=l;const[c,i]=q(Gr()),[s,m]=q(),[d,p]=q(),[h,g]=q();if(B((()=>{r?(o([]),n.searchResources("Slot",new URLSearchParams([["_count",720..toString()],["schedule",u(r)],["start","gt"+Xo(c)],["start","lt"+Zo(c)]])).then(o).catch(console.log)):o(void 0)}),[n,r,c]),!r||!l||!a)return null;const f=r.actor?.[0];return _.createElement("div",{className:t.container,"data-testid":"scheduler"},_.createElement("div",{className:t.info},f&&_.createElement(dn,{value:f,size:"xl"}),f&&_.createElement(ie,{size:"xl",weight:500},_.createElement(ta,{value:f})),_.createElement("p",null,"1 hour"),s&&_.createElement("p",null,s.toLocaleDateString()),d&&_.createElement("p",null,tc(new Date(d.start)))),_.createElement("div",{className:t.selection},!s&&_.createElement("div",null,_.createElement("h3",null,"Select date"),_.createElement(Qr,{slots:l,onChangeMonth:i,onClick:m})),s&&!d&&_.createElement("div",null,_.createElement("h3",null,"Select time"),_.createElement(de,null,l.map((e=>{const t=new Date(e.start);return t.getTime()>s.getTime()&&t.getTime()<s.getTime()+864e5&&_.createElement("div",{key:e.id},_.createElement(he,{variant:"outline",style:{width:150},onClick:()=>p(e)},tc(t)))})))),s&&d&&!h&&_.createElement(co,{questionnaire:a,submitButtonText:"Next",onSubmit:g}),s&&d&&h&&_.createElement("div",null,_.createElement("h3",null,"You're all set!"),_.createElement("p",null,"Check your email for a calendar invite."))))}function Xo(e){return ec(e.getTime())}function Zo(e){return ec(e.getTime()+26784e5)}function ec(e){return new Date(Math.max(Date.now(),e)).toISOString()}function tc(e){return e.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function nc(e){return _.createElement(wa,{value:e.serviceRequest,loadTimelineResources:async(e,t,n)=>{const r=`${t}/${n}`,a=100;return Promise.allSettled([e.readHistory("ServiceRequest",n),e.search("Communication",{"based-on":r,_count:a}),e.search("DiagnosticReport",{"based-on":r,_count:a}),e.search("Media",{"based-on":r,_count:a}),e.search("Task",{_filter:`based-on eq ${r} or focus eq ${r} or subject eq ${r}`,_count:a})])},createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",basedOn:[t(e)],subject:e.subject,sender:t(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",basedOn:[t(e)],subject:e.subject,operator:t(n),issued:(new Date).toISOString(),content:r})})}function rc(e){const t=et(),[n,r]=q();return _.createElement(Sn,{style:{maxWidth:400},onSubmit:async n=>{try{e.handleAuthResponse(await t.startNewProject({login:e.login,projectName:n.projectName}))}catch(e){r(e)}}},_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(jl,{size:32}),_.createElement(De,null,"Create project")),_.createElement(de,{spacing:"xl"},_.createElement(ee,{name:"projectName",label:"Project Name",placeholder:"My Project",required:!0,autoFocus:!0,error:sr(n,"firstName")}),_.createElement(ie,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum"," ",_.createElement(ae,{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",_.createElement(ae,{href:"https://www.medplum.com/terms"},"Terms of Service"),".")),_.createElement(X,{position:"right",mt:"xl",noWrap:!0},_.createElement(he,{type:"submit"},"Create project")))}function ac(e,t){const n=document.getElementsByTagName("head")[0],r=document.createElement("script");r.async=!0,r.src=e,r.onload=t||null,n.appendChild(r)}function lc(e){const t=et(),{googleClientId:n,handleGoogleCredential:r}=e,a=j(null),[l,o]=q("undefined"!=typeof google),[c,i]=q(!1),[s,u]=q(!1);return B((()=>{"undefined"!=typeof google?(c||(google.accounts.id.initialize({client_id:n,callback:r}),i(!0)),a.current&&!s&&(google.accounts.id.renderButton(a.current,{}),u(!0))):ac("https://accounts.google.com/gsi/client",(()=>o(!0)))}),[t,n,c,l,a,s,r]),n?_.createElement("div",{ref:a}):null}function oc(e){if(e)return e;if("undefined"!=typeof window){const e=window.location.protocol+"//"+window.location.host;if(("undefined"?.split(",")??[]).includes(e))return"undefined"}}function cc(e){"undefined"==typeof grecaptcha&&ac("https://www.google.com/recaptcha/api.js?render="+e)}function ic(e){return new Promise(((t,n)=>{grecaptcha.ready((async()=>{try{t(await grecaptcha.execute(e,{action:"submit"}))}catch(e){n(e)}}))}))}function sc(e){const t=oc(e.googleClientId),n=e.recaptchaSiteKey,r=et(),[a,l]=q(),o=ur(a,void 0);return B((()=>{n&&cc(n)}),[n]),_.createElement(Sn,{style:{maxWidth:400},onSubmit:async t=>{try{let a="";n&&(a=await ic(n)),e.handleAuthResponse(await r.startNewUser({projectId:e.projectId,firstName:t.firstName,lastName:t.lastName,email:t.email,password:t.password,remember:"true"===t.remember,recaptchaSiteKey:n,recaptchaToken:a}))}catch(e){l(e)}}},_.createElement(ne,{sx:{flexDirection:"column"}},e.children),_.createElement(Wl,{issues:o}),t&&_.createElement(_.Fragment,null,_.createElement(X,{position:"center",p:"xl",style:{height:70}},_.createElement(lc,{googleClientId:t,handleGoogleCredential:async t=>{try{e.handleAuthResponse(await r.startGoogleLogin({googleClientId:t.clientId,googleCredential:t.credential,createUser:!0}))}catch(e){l(e)}}})),_.createElement(Fe,{label:"or",labelPosition:"center",my:"lg"})),_.createElement(de,{spacing:"xl"},_.createElement(ee,{name:"firstName",type:"text",label:"First name",placeholder:"First name",required:!0,autoFocus:!0,error:sr(a,"firstName")}),_.createElement(ee,{name:"lastName",type:"text",label:"Last name",placeholder:"Last name",required:!0,error:sr(a,"lastName")}),_.createElement(ee,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,error:sr(a,"email")}),_.createElement(_e,{name:"password",label:"Password",autoComplete:"off",required:!0,error:sr(a,"password")}),_.createElement(ie,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum"," ",_.createElement(ae,{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",_.createElement(ae,{href:"https://www.medplum.com/terms"},"Terms of Service"),"."),_.createElement(ie,{color:"dimmed",size:"xs"},"This site is protected by reCAPTCHA and the Google"," ",_.createElement(ae,{href:"https://policies.google.com/privacy"},"Privacy Policy")," and ",_.createElement(ae,{href:"https://policies.google.com/terms"},"Terms of Service")," apply.")),_.createElement(X,{position:"apart",mt:"xl",noWrap:!0},_.createElement(Se,{name:"remember",label:"Remember me",size:"xs"}),_.createElement(he,{type:"submit"},"Create account")))}function uc(e){const{type:t,projectId:n,googleClientId:r,recaptchaSiteKey:a,onSuccess:l}=e,o=et(),[c,i]=q(void 0),[s,u]=q();function m(e){e.code?o.processCode(e.code).then((()=>l())).catch(console.log):e.login&&i(e.login)}return B((()=>{"patient"===t&&c&&o.startNewPatient({login:c,projectId:n}).then((e=>o.processCode(e.code))).then((()=>l())).catch((e=>u(e)))}),[o,t,n,c,l]),_.createElement(za,{width:450},s&&_.createElement("pre",null,JSON.stringify(s,null,2)),!c&&_.createElement(sc,{projectId:n,googleClientId:r,recaptchaSiteKey:a,handleAuthResponse:m},e.children),c&&"project"===t&&_.createElement(rc,{login:c,handleAuthResponse:m}))}function mc(e){const[t,n]=q();return t?_.createElement(pc,{email:t,...e}):_.createElement(dc,{setEmail:n,...e})}function dc(e){const{setEmail:t,onRegister:n,handleAuthResponse:r,children:a,...l}=e,o=et(),c=!e.disableGoogleAuth&&oc(e.googleClientId),i=G((async e=>{if(!e.authorizeUrl)return!1;const t=JSON.stringify({...await o.ensureCodeChallenge(l),domain:e.domain}),n=new URL(e.authorizeUrl);return n.searchParams.set("state",t),window.location.assign(n.toString()),!0}),[o,l]),s=G((async e=>{const n=await o.post("auth/method",{email:e.email});await i(n)||t(e.email)}),[o,i,t]),u=G((async e=>{const t=await o.startGoogleLogin({...l,googleCredential:e.credential});await i(t)||r(t)}),[o,l,i,r]);return _.createElement(Sn,{style:{maxWidth:400},onSubmit:s},_.createElement(ne,{sx:{flexDirection:"column"}},a),c&&_.createElement(_.Fragment,null,_.createElement(X,{position:"center",p:"xl",style:{height:70}},_.createElement(lc,{googleClientId:c,handleGoogleCredential:u})),_.createElement(Fe,{label:"or",labelPosition:"center",my:"lg"})),_.createElement(ee,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,autoFocus:!0}),_.createElement(X,{position:"apart",mt:"xl",spacing:0,noWrap:!0},_.createElement("div",null,n&&_.createElement(ae,{component:"button",type:"button",color:"dimmed",onClick:n,size:"xs"},"Register")),_.createElement(he,{type:"submit"},"Next")))}function pc(e){const{onForgotPassword:t,handleAuthResponse:n,children:r,...a}=e,l=et(),[o,i]=q(),s=ur(o,void 0),u=G((e=>{l.startLogin({...a,password:e.password,remember:"on"===e.remember}).then(n).catch((e=>i(c(e))))}),[l,a,n]);return _.createElement(Sn,{style:{maxWidth:400},onSubmit:u},_.createElement(ne,{sx:{flexDirection:"column"}},r),_.createElement(Wl,{issues:s}),_.createElement(de,{spacing:"xl"},_.createElement(_e,{name:"password",label:"Password",autoComplete:"off",required:!0,autoFocus:!0,error:sr(o,"password")})),_.createElement(X,{position:"apart",mt:"xl",spacing:0,noWrap:!0},t&&_.createElement(ae,{component:"button",type:"button",color:"dimmed",onClick:t,size:"xs"},"Forgot password"),_.createElement(Se,{id:"remember",name:"remember",label:"Remember me",size:"xs",sx:{lineHeight:1}}),_.createElement(he,{type:"submit"},"Sign in")))}function hc(e){const t=et(),[n,r]=q();return _.createElement(de,null,_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(jl,{size:32}),_.createElement(De,{order:3},"Choose profile")),_.createElement(Wl,{outcome:n}),e.memberships.map((n=>_.createElement(ue,{key:n.id,onClick:()=>{t.post("auth/profile",{login:e.login,profile:n.id}).then(e.handleAuthResponse).catch((e=>r(c(e))))}},_.createElement(X,null,_.createElement(le,{radius:"xl"}),_.createElement("div",{style:{flex:1}},_.createElement(ie,{size:"sm",weight:500},n.profile?.display),_.createElement(ie,{color:"dimmed",size:"xs"},n.project?.display)))))))}function gc(e){const t=et();return _.createElement(Sn,{style:{maxWidth:400},onSubmit:n=>{t.post("auth/scope",{login:e.login,scope:Object.keys(n).join(" ")}).then(e.handleAuthResponse).catch(console.log)}},_.createElement(de,null,_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(jl,{size:32}),_.createElement(De,null,"Choose scope")),_.createElement(de,null,(e.scope||"openid").split(" ").map((e=>_.createElement(Se,{key:e,id:e,name:e,label:e,defaultChecked:!0})))),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},"Set scope"))))}function fc(e){const t=et(),[r,a]=q(void 0);return _.createElement(Sn,{style:{maxWidth:400},onSubmit:r=>{a(void 0),t.post("auth/mfa/verify",{login:e.login,token:r.token}).then(e.handleAuthResponse).catch((e=>a(n(e))))}},_.createElement(de,null,_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(jl,{size:32}),_.createElement(De,null,"Enter MFA code")),r&&_.createElement(te,{icon:_.createElement(ft,{size:16}),title:"Error",color:"red"},r),_.createElement(de,null,_.createElement(ee,{name:"token",label:"MFA code",required:!0})),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},"Submit code"))))}function Ec(e){const{chooseScopes:t,onSuccess:n,onForgotPassword:r,onRegister:a,onCode:l,...o}=e,c=et(),[i,s]=q(void 0),[u,m]=q(!1),[d,p]=q(void 0),h=G((e=>{l?l(e):c.processCode(e).then((()=>{n&&n()})).catch(console.log)}),[c,l,n]),g=G((e=>{m(!!e.mfaRequired),e.login&&s(e.login),e.memberships&&p(e.memberships),e.code&&(t?p(void 0):h(e.code))}),[t,h]),f=G((e=>{h(e.code)}),[h]);return B((()=>{e.login&&c.get("auth/login/"+e.login).then(g).catch(console.error)}),[c,e,g]),_.createElement(za,{width:450},i?u?_.createElement(fc,{login:i,handleAuthResponse:g}):d?_.createElement(hc,{login:i,memberships:d,handleAuthResponse:g}):"new"===e.projectId?_.createElement(rc,{login:i,handleAuthResponse:g}):e.chooseScopes?_.createElement(gc,{login:i,scope:e.scope,handleAuthResponse:f}):_.createElement("div",null,"Success"):_.createElement(mc,{onForgotPassword:r,onRegister:a,handleAuthResponse:g,disableGoogleAuth:e.disableGoogleAuth,...o},e.children))}export{He as AddressDisplay,Je as AddressInput,at as AnnotationInput,Ln as AppShell,pn as AsyncAutocomplete,Un as AttachmentArrayDisplay,qn as AttachmentArrayInput,_n as AttachmentButton,Fn as AttachmentDisplay,jn as AttachmentInput,cr as BackboneElementDisplay,Br as BackboneElementInput,Qr as CalendarInput,ir as CheckboxFormSection,Pn as CodeInput,Qn as CodeableConceptDisplay,gr as CodeableConceptInput,Gn as CodingDisplay,fr as CodingInput,Yn as ContactDetailDisplay,vr as ContactDetailInput,Jn as ContactPointDisplay,Er as ContactPointInput,Xr as Container,yr as DateTimeInput,Na as DefaultResourceTimeline,Kn as DescriptionList,Hn as DescriptionListEntry,oa as DiagnosticReportDisplay,za as Document,qr as ElementDefinitionInputSelector,jr as ElementDefinitionTypeInput,Oa as EncounterTimeline,nn as ErrorBoundary,_l as FhirPathTable,Sn as Form,dr as FormSection,bn as Header,an as HumanNameDisplay,xr as HumanNameInput,Xn as IdentifierDisplay,Tr as IdentifierInput,rn as Loading,jl as Logo,sn as MedplumLink,Xe as MedplumProvider,ql as MemoizedFhirPathTable,$l as MemoizedSearchControl,Zn as MoneyDisplay,Sr as MoneyInput,zn as Navbar,ia as ObservationTable,Wl as OperationOutcomeAlert,ha as Panel,Bl as PatientTimeline,Hl as PlanDefinitionBuilder,er as QuantityDisplay,Mr as QuantityInput,yo as QuestionnaireBuilder,co as QuestionnaireForm,so as QuestionnaireFormItem,lo as QuestionnaireItemType,tr as RangeDisplay,Dr as RangeInput,rr as ReferenceDisplay,zr as ReferenceInput,Vo as ReferenceRangeEditor,Ro as ReferenceRangeGroupEditor,uc as RegisterForm,zo as RequestGroupDisplay,ar as ResourceArrayDisplay,Or as ResourceArrayInput,dn as ResourceAvatar,na as ResourceBadge,Uo as ResourceBlame,Bo as ResourceDiff,pr as ResourceForm,Ho as ResourceHistoryTable,Pr as ResourceInput,ta as ResourceName,lr as ResourcePropertyDisplay,_r as ResourcePropertyInput,va as ResourceTable,wa as ResourceTimeline,Yo as Scheduler,Rl as SearchChangeEvent,Nl as SearchClickEvent,Ol as SearchControl,hl as SearchFieldEditor,vl as SearchFilterEditor,Pl as SearchLoadEvent,nc as ServiceRequestTimeline,Ec as SignInForm,aa as StatusBadge,ya as Timeline,Ca as TimelineItem,Lr as TimingInput,tl as addDateFilterBetween,Wa as addField,ja as addFilter,Ja as addLastMonthFilter,rl as addMissingFilter,Xa as addNextMonthFilter,Ya as addThisMonthFilter,Ha as addTodayFilter,Qa as addTomorrowFilter,el as addYearToDateFilter,Ka as addYesterdayFilter,dl as buildFieldNameString,_a as clearFilters,qa as clearFiltersOnField,Cr as convertIsoToLocal,kr as convertLocalToIso,ac as createScriptTag,Ba as deleteFilter,sr as getErrorsForInput,ur as getIssuesForExpression,Hr as getMonthString,ml as getOpString,ic as getRecaptcha,ul as getSearchOperators,il as getSortField,Gr as getStartMonth,qo as getTimeString,or as getValueAndType,cc as initRecaptcha,oo as isChoiceQuestion,Eo as isQuestionEnabled,sl as isSortDescending,xn as parseForm,pl as renderValue,Ua as setFilters,al as setOffset,ll as setPage,hr as setPropertyValue,ol as setSort,ka as sortByDateAndPriority,cl as toggleSort,et as useMedplum,Ze as useMedplumContext,tt as useMedplumNavigate,nt as useMedplumProfile,un as useResource};
|
|
1
|
+
import{formatAddress as e,createReference as t,normalizeErrorString as n,formatHumanName as r,isResource as a,isReference as l,deepEquals as o,normalizeOperationOutcome as c,getDisplayString as i,getImageSrc as s,getReferenceString as u,isUUID as m,deepClone as d,formatCodeableConcept as p,formatCoding as h,formatMoney as g,formatQuantity as f,formatRange as E,stringify as v,getElementDefinitionTypeName as y,PropertyType as C,formatTiming as k,formatPeriod as b,formatDateTime as x,getTypedPropertyValue as T,globalSchema as w,getPropertyDisplayName as S,capitalize as A,isValidDate as I,isOk as M,formatObservationValue as D,toTypedValue as V,evalFhirPath as R,Operator as P,DEFAULT_SEARCH_COUNT as N,evalFhirPathTyped as z,getSearchParameterDetails as O,SearchParameterType as $,formatSearchQuery as L,getQuestionnaireAnswers as F,getCodeBySystem as U}from"@medplum/core";import _,{useState as q,useRef as j,createContext as W,useEffect as B,useContext as K,forwardRef as H,createElement as Q,useCallback as G,Suspense as J,useMemo as Y}from"react";import{Group as X,NativeSelect as Z,TextInput as ee,Alert as te,Center as ne,Loader as re,Anchor as ae,Avatar as le,MultiSelect as oe,createStyles as ce,Text as ie,Header as se,UnstyledButton as ue,Menu as me,Stack as de,Modal as pe,Button as he,Navbar as ge,ScrollArea as fe,Space as Ee,useMantineTheme as ve,AppShell as ye,ActionIcon as Ce,Input as ke,JsonInput as be,Autocomplete as xe,Switch as Te,Chip as we,Textarea as Se,Checkbox as Ae,Container as Ie,Blockquote as Me,Badge as De,Title as Ve,List as Re,useComponentDefaultProps as Pe,Paper as Ne,Box as ze,Table as Oe,Pagination as $e,Radio as Le,Divider as Fe,Grid as Ue,PasswordInput as _e}from"@mantine/core";import qe from"prop-types";import{useLocation as je,useSearchParams as We}from"react-router-dom";import{showNotification as Be,updateNotification as Ke}from"@mantine/notifications";function He(t){const n=t.value;return n?_.createElement(_.Fragment,null,e(n)):null}function Qe(e,t){return e&&e.line&&e.line.length>t?e.line[t]:""}function Ge(e,t,n){const r=e.line||[];for(;r.length<=t;)r.push("");return r[t]=n,{...e,line:r}}function Je(e){const[t,n]=q(e.defaultValue||{}),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{"data-testid":"address-use",defaultValue:t?.use,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,use:t});var t},data:["","home","work","temp","old","billing"]}),_.createElement(Z,{"data-testid":"address-type",defaultValue:t?.type,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,type:t});var t},data:["","postal","physical","both"]}),_.createElement(ee,{placeholder:"Line 1",defaultValue:Qe(t,0),onChange:e=>{return t=e.currentTarget.value,void a(Ge(r.current||{},0,t));var t}}),_.createElement(ee,{placeholder:"Line 2",defaultValue:Qe(t,1),onChange:e=>{return t=e.currentTarget.value,void a(Ge(r.current||{},1,t));var t}}),_.createElement(ee,{placeholder:"City",defaultValue:t.city,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,city:t});var t}}),_.createElement(ee,{placeholder:"State",defaultValue:t.state,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,state:t});var t}}),_.createElement(ee,{placeholder:"Postal Code",defaultValue:t.postalCode,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,postalCode:t});var t}}))}const Ye=W(void 0);function Xe(e){const t=e.medplum,n=e.navigate||rt,[r,a]=q({profile:t.getProfile(),loading:!1});B((()=>{function e(){a({...r,profile:t.getProfile()})}return t.addEventListener("change",e),()=>t.removeEventListeneer("change",e)}),[t,r]);const l={...r,medplum:t,navigate:n};return _.createElement(Ye.Provider,{value:l},e.children)}function Ze(){return K(Ye)}function et(){return Ze().medplum}function tt(){return Ze().navigate}function nt(){return Ze().profile}function rt(e){window.location.assign(e)}function at(e){const n=nt(),[r,a]=q(e.defaultValue||{});return j().current=r,_.createElement(ee,{name:e.name,placeholder:"Annotation text",defaultValue:r.text,onChange:r=>function(r){const l=r?{text:r,authorReference:n&&t(n),time:(new Date).toISOString()}:{};a(l),e.onChange&&e.onChange(l)}(r.currentTarget.value)})}var lt={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},ot=Object.defineProperty,ct=Object.defineProperties,it=Object.getOwnPropertyDescriptors,st=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,mt=Object.prototype.propertyIsEnumerable,dt=(e,t,n)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pt=(e,t)=>{for(var n in t||(t={}))ut.call(t,n)&&dt(e,n,t[n]);if(st)for(var n of st(t))mt.call(t,n)&&dt(e,n,t[n]);return e},ht=(e,t,n)=>{const r=H(((t,r)=>{var a,l=t,{color:o="currentColor",size:c=24,stroke:i=2,children:s}=l,u=((e,t)=>{var n={};for(var r in e)ut.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&st)for(var r of st(e))t.indexOf(r)<0&&mt.call(e,r)&&(n[r]=e[r]);return n})(l,["color","size","stroke","children"]);return Q("svg",pt((a=pt({ref:r},lt),ct(a,it({width:c,height:c,stroke:o,strokeWidth:i,className:`tabler-icon tabler-icon-${e}`}))),u),[...n.map((([e,t])=>Q(e,t))),...s||[]])}));return r.propTypes={color:qe.string,size:qe.oneOfType([qe.string,qe.number]),stroke:qe.oneOfType([qe.string,qe.number])},r.displayName=`${t}`,r},gt=ht("adjustments-horizontal","IconAdjustmentsHorizontal",[["path",{d:"M14 6m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M4 6l8 0",key:"svg-1"}],["path",{d:"M16 6l4 0",key:"svg-2"}],["path",{d:"M8 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M4 12l2 0",key:"svg-4"}],["path",{d:"M10 12l10 0",key:"svg-5"}],["path",{d:"M17 18m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-6"}],["path",{d:"M4 18l11 0",key:"svg-7"}],["path",{d:"M19 18l1 0",key:"svg-8"}]]),ft=ht("alert-circle","IconAlertCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 8v4",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]),Et=ht("bleach-off","IconBleachOff",[["path",{d:"M5 19h14m1.986 -1.977a2 2 0 0 0 -.146 -.773l-7.1 -12.25a2 2 0 0 0 -3.5 0l-.815 1.405m-1.488 2.568l-4.797 8.277a2 2 0 0 0 1.75 2.75",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]),vt=ht("bleach","IconBleach",[["path",{d:"M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75",key:"svg-0"}]]),yt=ht("box-multiple","IconBoxMultiple",[["path",{d:"M7 3m0 2a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z",key:"svg-0"}],["path",{d:"M17 17v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2",key:"svg-1"}]]),Ct=ht("brackets-contain","IconBracketsContain",[["path",{d:"M7 4h-4v16h4",key:"svg-0"}],["path",{d:"M17 4h4v16h-4",key:"svg-1"}],["path",{d:"M8 16h.01",key:"svg-2"}],["path",{d:"M12 16h.01",key:"svg-3"}],["path",{d:"M16 16h.01",key:"svg-4"}]]),kt=ht("bucket-off","IconBucketOff",[["path",{d:"M5.029 5.036c-.655 .58 -1.029 1.25 -1.029 1.964c0 2.033 3.033 3.712 6.96 3.967m3.788 -.21c3.064 -.559 5.252 -2.029 5.252 -3.757c0 -2.21 -3.582 -4 -8 -4c-1.605 0 -3.1 .236 -4.352 .643",key:"svg-0"}],["path",{d:"M4 7c0 .664 .088 1.324 .263 1.965l2.737 10.035c.5 1.5 2.239 2 5 2s4.5 -.5 5 -2c.1 -.3 .252 -.812 .457 -1.535m.862 -3.146c.262 -.975 .735 -2.76 1.418 -5.354a7.45 7.45 0 0 0 .263 -1.965",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),bt=ht("bucket","IconBucket",[["path",{d:"M12 7m-8 0a8 4 0 1 0 16 0a8 4 0 1 0 -16 0",key:"svg-0"}],["path",{d:"M4 7c0 .664 .088 1.324 .263 1.965l2.737 10.035c.5 1.5 2.239 2 5 2s4.5 -.5 5 -2c.333 -1 1.246 -4.345 2.737 -10.035a7.45 7.45 0 0 0 .263 -1.965",key:"svg-1"}]]),xt=ht("calendar","IconCalendar",[["path",{d:"M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z",key:"svg-0"}],["path",{d:"M16 3v4",key:"svg-1"}],["path",{d:"M8 3v4",key:"svg-2"}],["path",{d:"M4 11h16",key:"svg-3"}],["path",{d:"M11 15h1",key:"svg-4"}],["path",{d:"M12 15v3",key:"svg-5"}]]),Tt=ht("check","IconCheck",[["path",{d:"M5 12l5 5l10 -10",key:"svg-0"}]]),wt=ht("checkbox","IconCheckbox",[["path",{d:"M9 11l3 3l8 -8",key:"svg-0"}],["path",{d:"M20 12v6a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h9",key:"svg-1"}]]),St=ht("chevron-down","IconChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),At=ht("circle-minus","IconCircleMinus",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l6 0",key:"svg-1"}]]),It=ht("circle-plus","IconCirclePlus",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l6 0",key:"svg-1"}],["path",{d:"M12 9l0 6",key:"svg-2"}]]),Mt=ht("cloud-upload","IconCloudUpload",[["path",{d:"M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1",key:"svg-0"}],["path",{d:"M9 15l3 -3l3 3",key:"svg-1"}],["path",{d:"M12 12l0 9",key:"svg-2"}]]),Dt=ht("columns","IconColumns",[["path",{d:"M4 6l5.5 0",key:"svg-0"}],["path",{d:"M4 10l5.5 0",key:"svg-1"}],["path",{d:"M4 14l5.5 0",key:"svg-2"}],["path",{d:"M4 18l5.5 0",key:"svg-3"}],["path",{d:"M14.5 6l5.5 0",key:"svg-4"}],["path",{d:"M14.5 10l5.5 0",key:"svg-5"}],["path",{d:"M14.5 14l5.5 0",key:"svg-6"}],["path",{d:"M14.5 18l5.5 0",key:"svg-7"}]]),Vt=ht("currency-dollar","IconCurrencyDollar",[["path",{d:"M16.7 8a3 3 0 0 0 -2.7 -2h-4a3 3 0 0 0 0 6h4a3 3 0 0 1 0 6h-4a3 3 0 0 1 -2.7 -2",key:"svg-0"}],["path",{d:"M12 3v3m0 12v3",key:"svg-1"}]]),Rt=ht("dots","IconDots",[["path",{d:"M5 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M19 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),Pt=ht("edit","IconEdit",[["path",{d:"M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1",key:"svg-0"}],["path",{d:"M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z",key:"svg-1"}],["path",{d:"M16 5l3 3",key:"svg-2"}]]),Nt=ht("equal-not","IconEqualNot",[["path",{d:"M5 10h14",key:"svg-0"}],["path",{d:"M5 14h14",key:"svg-1"}],["path",{d:"M5 19l14 -14",key:"svg-2"}]]),zt=ht("equal","IconEqual",[["path",{d:"M5 10h14",key:"svg-0"}],["path",{d:"M5 14h14",key:"svg-1"}]]),Ot=ht("file-alert","IconFileAlert",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z",key:"svg-1"}],["path",{d:"M12 17l.01 0",key:"svg-2"}],["path",{d:"M12 11l0 3",key:"svg-3"}]]),$t=ht("file-plus","IconFilePlus",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z",key:"svg-1"}],["path",{d:"M12 11l0 6",key:"svg-2"}],["path",{d:"M9 14l6 0",key:"svg-3"}]]),Lt=ht("filter","IconFilter",[["path",{d:"M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z",key:"svg-0"}]]),Ft=ht("list-details","IconListDetails",[["path",{d:"M13 5h8",key:"svg-0"}],["path",{d:"M13 9h5",key:"svg-1"}],["path",{d:"M13 15h8",key:"svg-2"}],["path",{d:"M13 19h5",key:"svg-3"}],["path",{d:"M3 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z",key:"svg-4"}],["path",{d:"M3 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z",key:"svg-5"}]]),Ut=ht("logout","IconLogout",[["path",{d:"M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M9 12h12l-3 -3",key:"svg-1"}],["path",{d:"M18 15l3 -3",key:"svg-2"}]]),_t=ht("math-greater","IconMathGreater",[["path",{d:"M5 18l14 -6l-14 -6",key:"svg-0"}]]),qt=ht("math-lower","IconMathLower",[["path",{d:"M19 18l-14 -6l14 -6",key:"svg-0"}]]),jt=ht("message","IconMessage",[["path",{d:"M8 9h8",key:"svg-0"}],["path",{d:"M8 13h6",key:"svg-1"}],["path",{d:"M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12z",key:"svg-2"}]]),Wt=ht("pin","IconPin",[["path",{d:"M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4",key:"svg-0"}],["path",{d:"M9 15l-4.5 4.5",key:"svg-1"}],["path",{d:"M14.5 4l5.5 5.5",key:"svg-2"}]]),Bt=ht("pinned-off","IconPinnedOff",[["path",{d:"M3 3l18 18",key:"svg-0"}],["path",{d:"M15 4.5l-3.249 3.249m-2.57 1.433l-2.181 .818l-1.5 1.5l7 7l1.5 -1.5l.82 -2.186m1.43 -2.563l3.25 -3.251",key:"svg-1"}],["path",{d:"M9 15l-4.5 4.5",key:"svg-2"}],["path",{d:"M14.5 4l5.5 5.5",key:"svg-3"}]]),Kt=ht("plus","IconPlus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]),Ht=ht("search","IconSearch",[["path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0",key:"svg-0"}],["path",{d:"M21 21l-6 -6",key:"svg-1"}]]),Qt=ht("settings","IconSettings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]),Gt=ht("sort-ascending","IconSortAscending",[["path",{d:"M4 6l7 0",key:"svg-0"}],["path",{d:"M4 12l7 0",key:"svg-1"}],["path",{d:"M4 18l9 0",key:"svg-2"}],["path",{d:"M15 9l3 -3l3 3",key:"svg-3"}],["path",{d:"M18 6l0 12",key:"svg-4"}]]),Jt=ht("sort-descending","IconSortDescending",[["path",{d:"M4 6l9 0",key:"svg-0"}],["path",{d:"M4 12l7 0",key:"svg-1"}],["path",{d:"M4 18l7 0",key:"svg-2"}],["path",{d:"M15 15l3 3l3 -3",key:"svg-3"}],["path",{d:"M18 6l0 12",key:"svg-4"}]]),Yt=ht("square","IconSquare",[["path",{d:"M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z",key:"svg-0"}]]),Xt=ht("switch-horizontal","IconSwitchHorizontal",[["path",{d:"M16 3l4 4l-4 4",key:"svg-0"}],["path",{d:"M10 7l10 0",key:"svg-1"}],["path",{d:"M8 13l-4 4l4 4",key:"svg-2"}],["path",{d:"M4 17l9 0",key:"svg-3"}]]),Zt=ht("table-export","IconTableExport",[["path",{d:"M12.5 21h-7.5a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5",key:"svg-0"}],["path",{d:"M3 10h18",key:"svg-1"}],["path",{d:"M10 3v18",key:"svg-2"}],["path",{d:"M16 19h6",key:"svg-3"}],["path",{d:"M19 16l3 3l-3 3",key:"svg-4"}]]),en=ht("trash","IconTrash",[["path",{d:"M4 7l16 0",key:"svg-0"}],["path",{d:"M10 11l0 6",key:"svg-1"}],["path",{d:"M14 11l0 6",key:"svg-2"}],["path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12",key:"svg-3"}],["path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3",key:"svg-4"}]]),tn=ht("x","IconX",[["path",{d:"M18 6l-12 12",key:"svg-0"}],["path",{d:"M6 6l12 12",key:"svg-1"}]]);class nn extends _.Component{constructor(e){super(e),this.state={}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("Uncaught error:",e,t)}render(){return this.state.error?_.createElement(te,{icon:_.createElement(ft,{size:16}),title:"Something went wrong",color:"red"},n(this.state.error)):this.props.children}}function rn(){return _.createElement(ne,{style:{width:"100%",height:"100vh"}},_.createElement(re,null))}function an(e){const t=e.value;return t?_.createElement(_.Fragment,null,r(t,e.options)):null}function ln(e){e.preventDefault(),e.stopPropagation()}function on(e){if(cn(e))return!0;if(e instanceof HTMLTableCellElement){const t=e.children;if(1===t.length&&cn(t[0]))return!0}return!1}function cn(e){return e instanceof HTMLInputElement&&"checkbox"===e.type}function sn(e){const t=tt(),{to:n,suffix:r,label:o,onClick:c,children:i,...s}=e;let u=function(e){if(e){if("string"==typeof e)return function(e){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/"))return e;return"/"+e}(e);if(a(e))return function(e){return`/${e.resourceType}/${e.id}`}(e);if(l(e))return function(e){return`/${e.reference}`}(e)}return"#"}(n);return r&&(u+="/"+r),_.createElement(ae,{href:u,"aria-label":o,onClick:e=>{ln(e),c?c(e):n&&t(u)},...s},i)}function un(e,t){const n=et(),[r,a]=q(mn(n,e)),i=G((e=>{o(e,r)||a(e)}),[r,a]);return B((()=>{i(mn(n,e))}),[n,e,i]),B((()=>{let r=!0;return l(e)&&n.readReference(e).then((e=>{r&&i(e)})).catch((e=>{r&&(i(void 0),t&&t(c(e)))})),()=>r=!1}),[n,r,e,i,t]),r}function mn(e,t){if(t){if(a(t))return t;if(l(t))return e.getCachedReference(t)}}function dn(e){const t=un(e.value),n=t?i(t):e.alt??"",r=(t&&s(t))??e.src,a=e.radius??"xl",l={...e};return delete l.value,delete l.link,e.link?_.createElement(sn,{to:t},_.createElement(le,{src:r,alt:n,radius:a,...l})):_.createElement(le,{src:r,alt:n,radius:a,...l})}function pn(e){const{defaultValue:t,toKey:n,toOption:r,loadOptions:a,onChange:l,onCreate:o,creatable:c,...i}=e,s=function(e){if(!e)return[];if(Array.isArray(e))return e;return[e]}(t),u=j(null),[m,d]=q(void 0),[p,h]=q(),[g,f]=q(),[E,v]=q(),[y,C]=q(s?.map(r)),k=j();k.current=m;const b=j();b.current=p;const x=j();x.current=g;const T=j();T.current=E;const w=j();w.current=y;const S=G((()=>{h(void 0);const e=u.current?.value?.trim()||"";if(e===k.current)return;d(e);const t=new AbortController;f(t),a(e,t.signal).then((e=>{t.signal.aborted||(C(e.map(r)),f(void 0),T.current&&(e.length>0&&l(e.slice(0,1)),v(!1)))})).catch(console.log)}),[a,l,r]),A=G((()=>{x.current&&(x.current.abort(),f(void 0)),void 0!==b.current&&window.clearTimeout(b.current);const e=window.setTimeout((()=>S()),100);h(e)}),[S]),I=G((e=>{const t=[];for(const n of e){let e=w.current?.find((e=>e.value===n))?.resource;e||!1===c||(e=o(n)),e&&t.push(e)}l(t)}),[c,l,o]),M=G((e=>{"Enter"===e.key&&(b.current||x.current?v(!0):(ln(e),w.current&&w.current.length>0&&(C(w.current.slice(0,1)),I([w.current[0].value]))))}),[I]),D=G((e=>{const t=r(o(e));return C([...w.current,t]),t}),[o,C,r]),V=G(((e,t)=>!t),[]);return B((()=>()=>{x.current&&x.current.abort()}),[]),_.createElement(oe,{...i,ref:u,defaultValue:s.map(n),searchable:!0,onKeyDown:M,onSearchChange:A,data:y,onFocus:S,onChange:I,onCreate:D,rightSectionWidth:40,rightSection:g?_.createElement(re,{size:16}):null,filter:V,creatable:!0})}const hn=ce((()=>({searchInput:{input:{width:220,transition:"width 0.2s"},"input:focus":{width:400},"@media (max-width: 800px)":{input:{width:150},"input:focus":{width:150}}}})));function gn(e){return e.id}function fn(e){return{value:e.id,label:i(e),resource:e}}function En(){const{classes:e}=hn(),t=tt(),n=et(),r=je(),a=G((async(e,t)=>{const r=function(e){const t=JSON.stringify(e);if(m(e))return`{\n Patients1: PatientList(_id: ${t}, _count: 1) {\n resourceType\n id\n identifier {\n system\n value\n }\n name {\n given\n family\n }\n birthDate\n }\n ServiceRequestList(_id: ${t}, _count: 1) {\n resourceType\n id\n identifier {\n system\n value\n }\n subject {\n display\n }\n }\n }`.replace(/\s+/g," ");return`{\n Patients1: PatientList(name: ${t}, _count: 5) {\n resourceType\n id\n identifier {\n system\n value\n }\n name {\n given\n family\n }\n birthDate\n }\n Patients2: PatientList(identifier: ${t}, _count: 5) {\n resourceType\n id\n identifier {\n system\n value\n }\n name {\n given\n family\n }\n birthDate\n }\n ServiceRequestList(identifier: ${t}, _count: 5) {\n resourceType\n id\n identifier {\n system\n value\n }\n subject {\n display\n }\n }\n }`.replace(/\s+/g," ")}(e),a={signal:t};return function(e,t){const n=[];e.data.Patients1&&n.push(...e.data.Patients1);e.data.Patients2&&n.push(...e.data.Patients2);e.data.ServiceRequestList&&n.push(...e.data.ServiceRequestList);return function(e,t){return e.sort(((e,n)=>yn(n,t)-yn(e,t)))}(function(e){const t=new Set,n=[];for(const r of e)t.has(r.id)||(t.add(r.id),n.push(r));return n}(n),t).slice(0,5)}(await n.graphql(r,void 0,void 0,a),e)}),[n]),l=G((e=>{e.length>0&&t(`/${u(e[0])}`)}),[t]);return _.createElement(pn,{key:r.pathname,size:"sm",radius:"md",className:e.searchInput,icon:_.createElement(Ht,{size:16}),placeholder:"Search",itemComponent:vn,toKey:gn,toOption:fn,onChange:l,loadOptions:a})}const vn=H((({resource:e,...t},n)=>{let r;return"Patient"===e.resourceType?r=e.birthDate:"ServiceRequest"===e.resourceType&&(r=e.subject?.display),_.createElement("div",{ref:n,...t},_.createElement(X,{noWrap:!0},_.createElement(dn,{value:e}),_.createElement("div",null,_.createElement(ie,null,i(e)),_.createElement(ie,{size:"xs",color:"dimmed"},r))))}));function yn(e,t){let n=0;if(e.identifier)for(const r of e.identifier)n=Math.max(n,Cn(r.value,t));if("Patient"===e.resourceType&&e.name)for(const a of e.name)n=Math.max(n,Cn(r(a),t));return n}function Cn(e,t){if(!e)return 0;const n=e.toLowerCase().indexOf(t.toLowerCase());return n<0?0:100-n}const kn=ce((e=>({logoButton:{padding:`${e.spacing.xs} ${e.spacing.sm}`,borderRadius:e.radius.sm,transition:"background-color 100ms ease","&:hover":{backgroundColor:e.fn.lighten(e.fn.variant({variant:"filled",color:e.primaryColor}).background,.8)}},user:{padding:`${e.spacing.xs} ${e.spacing.sm}`,borderRadius:e.radius.sm,transition:"background-color 100ms ease","&:hover":{backgroundColor:e.fn.lighten(e.fn.variant({variant:"filled",color:e.primaryColor}).background,.8)}},userName:{fontWeight:500,lineHeight:1,marginRight:3,[e.fn.smallerThan("xs")]:{display:"none"}},userActive:{backgroundColor:e.fn.lighten(e.fn.variant({variant:"filled",color:e.primaryColor}).background,.8)}})));function bn(e){const t=Ze(),{medplum:n,profile:a,navigate:l}=t,o=n.getLogins(),{classes:c,cx:i}=kn(),[s,m]=q(!1);return _.createElement(se,{height:60,p:8,style:{zIndex:101}},_.createElement(X,{position:"apart"},_.createElement(X,{spacing:"xs"},_.createElement(ue,{className:c.logoButton,onClick:e.navbarToggle},e.logo),_.createElement(En,null)),_.createElement(me,{width:260,shadow:"xl",position:"bottom-end",transitionProps:{transition:"pop-top-right"},opened:s,onClose:()=>m(!1)},_.createElement(me.Target,null,_.createElement(ue,{className:i(c.user,{[c.userActive]:s}),onClick:()=>m((e=>!e))},_.createElement(X,{spacing:7},_.createElement(dn,{value:a,radius:"xl",size:24}),_.createElement(ie,{size:"sm",className:c.userName},r(a?.name?.[0])),_.createElement(St,{size:12,stroke:1.5})))),_.createElement(me.Dropdown,null,_.createElement(de,{align:"center",p:"xl"},_.createElement(dn,{size:"xl",radius:100,value:t.profile}),_.createElement(an,{value:t.profile?.name?.[0]}),_.createElement(ie,{color:"dimmed",size:"xs"},n.getActiveLogin()?.project?.display)),o.length>1&&_.createElement(me.Divider,null),o.map((e=>e.profile?.reference!==u(t.profile)&&_.createElement(me.Item,{key:e.profile?.reference,onClick:()=>{n.setActiveLogin(e).then((()=>window.location.reload())).catch(console.log)}},_.createElement(X,null,_.createElement(le,{radius:"xl"}),_.createElement("div",{style:{flex:1}},_.createElement(ie,{size:"sm",weight:500},e.profile?.display),_.createElement(ie,{color:"dimmed",size:"xs"},e.project?.display)))))),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(Xt,{size:14,stroke:1.5}),onClick:()=>l("/signin")},"Add another account"),_.createElement(me.Item,{icon:_.createElement(Qt,{size:14,stroke:1.5}),onClick:()=>l(`/${u(a)}`)},"Account settings"),_.createElement(me.Item,{icon:_.createElement(Ut,{size:14,stroke:1.5}),onClick:async()=>{await n.signOut(),l("/signin")}},"Sign out"),_.createElement(ie,{size:"xs",color:"dimmed",align:"center"},e.version)))))}function xn(e){const t={};for(const n of Array.from(e.elements))n instanceof HTMLInputElement?Tn(t,n):n instanceof HTMLTextAreaElement?t[n.name]=n.value:n instanceof HTMLSelectElement&&wn(t,n);return t}function Tn(e,t){t.disabled||("checkbox"!==t.type&&"radio"!==t.type||t.checked)&&(e[t.name]=t.value)}function wn(e,t){e[t.name]=t.value}function Sn(e){return _.createElement("form",{style:e.style,"data-testid":e.testid,onSubmit:t=>{t.preventDefault();const n=xn(t.target);e.onSubmit&&e.onSubmit(n)}},e.children)}function An(e){const t=et(),r=t.getUserConfiguration(),a=je();return _.createElement(pe,{title:"Add Bookmark",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:e.onCancel},_.createElement(Sn,{onSubmit:function(l){const{menuname:o,bookmarkname:c}=l,i=a.pathname+a.search,s=d(r),u=s?.menu?.find((({title:e})=>e===o));u?.link?.push({name:c,target:i}),t.updateResource(s).then((n=>{r.menu=n.menu,t.dispatchEvent({type:"change"}),Be({color:"green",message:"Success"}),e.onOk()})).catch((e=>{Be({color:"red",message:n(e)})}))}},_.createElement(de,null,_.createElement(In,{config:r}),_.createElement(ee,{label:"Bookmark Name",type:"text",name:"bookmarkname",placeholder:"bookmark name",withAsterisk:!0}),_.createElement(X,{position:"right"},_.createElement(he,{mt:"sm",type:"submit"},"OK")))))}function In(e){const t=(n=e.config,n?.menu?.map((e=>e.title)));var n;return _.createElement(Z,{name:"menuname",defaultValue:t?.[0],label:"Select Menu Option",placeholder:"Menu",data:t,withAsterisk:!0})}function Mn(e){return e.code}function Dn(e){return{value:e.code,label:(t=e,t.display||t.code||""),resource:e};var t}function Vn(e){return{code:e,display:e}}function Rn(e){const t=et(),{elementDefinition:n,creatable:r,clearable:a,...l}=e,o=G((async(e,r)=>{if(!n.binding)return[];const a=n.binding?.valueSet,l=await t.searchValueSet(a,e,{signal:r}),o=l.expansion?.contains,c=[];for(const e of o)e.code&&!c.some((t=>t.code===e.code))&&c.push(e);return c}),[t,n]);return _.createElement(pn,{...l,creatable:r??!0,clearable:a??!0,toKey:Mn,toOption:Dn,loadOptions:o,onCreate:Vn,getCreateLabel:!1===r?void 0:e=>`+ Create ${e}`})}function Pn(e){const[t,n]=q(e.defaultValue);return _.createElement(Rn,{elementDefinition:e.property,name:e.name,placeholder:e.placeholder,defaultValue:(r=t,r?{code:r}:void 0),onChange:function(t){const r=t[0],a=(l=r,l?.code);var l;n(a),e.onChange&&e.onChange(a)},creatable:e.creatable,maxSelectedValues:e.maxSelectedValues,clearSearchOnChange:e.clearSearchOnChange,clearable:e.clearable});var r}const Nn=ce((e=>({menuTitle:{margin:"20px 0 4px 6px",fontSize:"9px",fontWeight:"normal",textTransform:"uppercase",letterSpacing:"2px"},link:{...e.fn.focusStyles(),display:"flex",alignItems:"center",textDecoration:"none",fontSize:e.fontSizes.sm,color:"dark"===e.colorScheme?e.colors.dark[1]:e.colors.gray[7],padding:"8px 12px",borderRadius:e.radius.sm,fontWeight:500,"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[6]:e.colors.gray[0],color:"dark"===e.colorScheme?e.white:e.black,textDecoration:"none","& svg":{color:"dark"===e.colorScheme?e.white:e.black}},"& svg":{color:"dark"===e.colorScheme?e.colors.dark[2]:e.colors.gray[6],marginRight:e.spacing.sm,strokeWidth:1.5,width:18,height:18}},linkActive:{"&, &:hover":{backgroundColor:e.fn.variant({variant:"light",color:e.primaryColor}).background,color:e.fn.variant({variant:"light",color:e.primaryColor}).color,"& svg":{color:e.fn.variant({variant:"light",color:e.primaryColor}).color}}}})));function zn(e){const{classes:t}=Nn(),n=tt(),r=je(),[a]=We(),l=function(e,t,n){let r,a=0;if(n)for(const l of n)if(l.links)for(const n of l.links){const l=Ln(e,t,n.href);l>a&&(a=l,r=n)}return r}(r.pathname,a,e.menus),[o,c]=q(!1);return _.createElement(_.Fragment,null,_.createElement(ge,{width:{sm:250},p:"xs"},_.createElement(fe,null,_.createElement(ge.Section,{mb:"sm"},_.createElement(Pn,{key:window.location.pathname,name:"resourceType",placeholder:"Resource Type",property:{binding:{valueSet:"http://hl7.org/fhir/ValueSet/resource-types"}},onChange:e=>{var t;(t=e)&&n(`/${t}`)},creatable:!1,maxSelectedValues:0,clearSearchOnChange:!0,clearable:!1})),_.createElement(ge.Section,{grow:!0},e.menus?.map((r=>_.createElement(_.Fragment,{key:`menu-${r.title}`},_.createElement(ie,{className:t.menuTitle},r.title),r.links?.map((t=>_.createElement(On,{key:t.href,to:t.href,active:t.href===l?.href,onClick:r=>function(t,r){t.stopPropagation(),t.preventDefault(),n(r),window.innerWidth<768&&e.closeNavbar()}(r,t.href)},_.createElement($n,{to:t.href,icon:t.icon}),_.createElement("span",null,t.label))))))),e.displayAddBookmark&&_.createElement(he,{variant:"subtle",size:"xs",mt:"xl",leftIcon:_.createElement(Kt,{size:"0.75rem"}),onClick:()=>c(!0)},"Add Bookmark")))),_.createElement(An,{visible:o,onOk:()=>c(!1),onCancel:()=>c(!1)}))}function On(e){const{classes:t,cx:n}=Nn();return _.createElement(sn,{onClick:e.onClick,to:e.to,className:n(t.link,{[t.linkActive]:e.active})},e.children)}function $n(e){return e.icon?e.icon:_.createElement(Ee,{w:30})}function Ln(e,t,n){const r=new URL(n,"https://example.com");if(e!==r.pathname)return 0;const a=["_count","_offset"];for(const[e,n]of r.searchParams.entries())if(!a.includes(e)&&t.get(e)!==n)return 0;let l=1;for(const[e,n]of t.entries())a.includes(e)||r.searchParams.get(e)===n&&l++;return l}function Fn(e){const t=ve(),[n,r]=q("true"===localStorage.navbarOpen),a=et(),l=nt();function o(e){localStorage.navbarOpen=e.toString(),r(e)}return a.isLoading()?_.createElement(rn,null):_.createElement(ye,{styles:{main:{background:"dark"===t.colorScheme?t.colors.dark[8]:t.colors.gray[0]}},padding:0,fixed:!0,header:l&&_.createElement(bn,{logo:e.logo,version:e.version,navbarToggle:function(){o(!n)}}),navbar:l&&n?_.createElement(zn,{menus:e.menus,closeNavbar:function(){o(!1)},displayAddBookmark:e.displayAddBookmark}):void 0},_.createElement(nn,null,_.createElement(J,{fallback:_.createElement(rn,null)},e.children)))}function Un(e){const t=e.value,{contentType:n,url:r,title:a}=t??{};return r?_.createElement("div",{"data-testid":"attachment-display"},n?.startsWith("image/")&&_.createElement("img",{"data-testid":"attachment-image",style:{maxWidth:e.maxWidth},src:r,alt:t?.title}),n?.startsWith("video/")&&_.createElement("video",{"data-testid":"attachment-video",style:{maxWidth:e.maxWidth},controls:!0},_.createElement("source",{type:n,src:r})),"application/pdf"===n&&!a?.endsWith(".pdf")&&_.createElement("div",{"data-testid":"attachment-pdf",style:{maxWidth:e.maxWidth,minHeight:400}},_.createElement("iframe",{width:"100%",height:"400",src:r+"#navpanes=0",allowFullScreen:!0,frameBorder:0,seamless:!0})),_.createElement("div",{"data-testid":"download-link",style:{padding:"2px 16px 16px 16px"}},_.createElement(ae,{href:t?.url,"data-testid":"attachment-details",target:"_blank",rel:"noopener noreferrer"},t?.title||"Download"))):null}function _n(e){return _.createElement("div",null,e.values&&e.values.map(((t,n)=>_.createElement("div",{key:"attatchment-"+n},_.createElement(Un,{value:t,maxWidth:e.maxWidth})))))}function qn(e){const t=et(),n=j(null);function r(n){if(!n)return;if(!n.name)return;e.onUploadStart&&e.onUploadStart();const r=n.name,a=n.type||"application/octet-stream";t.createBinary(n,r,a,e.onUploadProgress).then((t=>{e.onUpload({contentType:t.contentType,url:t.url,title:r})})).catch((e=>{alert(e?.issue?.[0]?.details?.text)}))}return _.createElement(_.Fragment,null,_.createElement("input",{type:"file","data-testid":"upload-file-input",style:{display:"none"},ref:n,onChange:e=>function(e){ln(e);const t=e.target.files;t&&Array.from(t).forEach(r)}(e)}),e.children({onClick:function(e){ln(e),n.current?.click()}}))}function jn(e){const[t,n]=q(e.defaultValue??[]),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement("table",{style:{width:"100%"}},_.createElement("colgroup",null,_.createElement("col",{width:"97%"}),_.createElement("col",{width:"3%"})),_.createElement("tbody",null,t.map(((e,n)=>_.createElement("tr",{key:`${n}-${t.length}`},_.createElement("td",null,_.createElement(Un,{value:e,maxWidth:200})),_.createElement("td",null,_.createElement(Ce,{title:"Remove",size:"sm",onClick:e=>{ln(e);const r=t.slice();r.splice(n,1),a(r)}},_.createElement(At,null)))))),_.createElement("tr",null,_.createElement("td",null),_.createElement("td",null,_.createElement(qn,{onUpload:e=>{a([...r.current,e])}},(e=>_.createElement(Ce,{...e,title:"Add",size:"sm",color:"green"},_.createElement(Mt,{size:16}))))))))}function Wn(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return t?_.createElement(_.Fragment,null,_.createElement(Un,{value:t,maxWidth:200}),_.createElement(he,{onClick:e=>{ln(e),r(void 0)}},"Remove")):_.createElement(qn,{onUpload:r},(e=>_.createElement(he,{...e},"Upload...")))}const Bn=["meta","implicitRules","language","text","contained","extension","modifierExtension"],Kn=ce((e=>({root:{display:"grid",gridTemplateColumns:"30% 70%",margin:0,"& > dt, & > dd":{padding:`${e.spacing.sm} ${e.spacing.sm}`,borderTop:`0.1px solid ${e.colors.gray[3]}`,margin:0}},compact:{gridTemplateColumns:"20% 80%","& > dt, & > dd":{padding:`0 ${e.spacing.xs} ${e.spacing.xs} 0`,border:0}}})));function Hn(e){const{children:t,compact:n}=e,{classes:r,cx:a}=Kn();return _.createElement("dl",{className:a(r.root,{[r.compact]:n})},t)}function Qn(e){return _.createElement(_.Fragment,null,_.createElement("dt",null,e.term),_.createElement("dd",null,e.children))}function Gn(e){return _.createElement(_.Fragment,null,p(e.value))}function Jn(e){return _.createElement(_.Fragment,null,h(e.value))}function Yn(e){const t=e.value;if(!t)return null;const n=[];return t.value&&n.push(t.value),(t.use||t.system)&&(n.push(" ["),t.use&&n.push(t.use),t.use&&t.system&&n.push(" "),t.system&&n.push(t.system),n.push("]")),_.createElement(_.Fragment,null,n.join("").trim())}function Xn(e){const t=e.value;return t?_.createElement(_.Fragment,null,t.name,t.name&&": ",t.telecom?.map(((e,t)=>_.createElement(Yn,{key:"telecom-"+t,value:e})))):null}function Zn(e){return _.createElement("div",null,e.value?.system,": ",e.value?.value)}function er(e){return _.createElement(_.Fragment,null,g(e.value))}function tr(e){return _.createElement(_.Fragment,null,f(e.value))}function nr(e){return _.createElement(_.Fragment,null,E(e.value))}function rr(e){const t=e.value;return t?_.createElement(_.Fragment,null,_.createElement(tr,{value:t.numerator})," / ",_.createElement(tr,{value:t.denominator})):null}function ar(e){if(!e.value)return null;const t=e.value.display||e.value.reference||v(e.value);return!1!==e.link&&e.value.reference?_.createElement(sn,{to:e.value},t):_.createElement(_.Fragment,null,t)}function lr(e){const t=e.property,n=e.values??[],r=t.type?.[0]?.code;return _.createElement(_.Fragment,null,n.map(((a,l)=>_.createElement("div",{key:`${l}-${n.length}`},_.createElement(or,{arrayElement:!0,property:t,propertyType:r,value:a,ignoreMissingValues:e.ignoreMissingValues,link:e.link})))))}function or(e){const{property:t,propertyType:n,value:r}=e;if("*"===t?.max&&!e.arrayElement)return"Attachment"===n?_.createElement(_n,{values:r,maxWidth:e.maxWidth}):_.createElement(lr,{property:t,values:r,ignoreMissingValues:e.ignoreMissingValues,link:e.link});switch(n){case C.boolean:return _.createElement(_.Fragment,null,void 0===r?"":Boolean(r).toString());case C.SystemString:case C.code:case C.date:case C.integer:case C.positiveInt:case C.string:case C.unsignedInt:case C.uri:case C.url:return _.createElement(_.Fragment,null,r);case C.canonical:return _.createElement(ar,{value:{reference:r},link:e.link});case C.dateTime:case C.instant:return _.createElement(_.Fragment,null,x(r));case C.markdown:return _.createElement("pre",null,r);case C.Address:return _.createElement(He,{value:r});case C.Annotation:return _.createElement(_.Fragment,null,r?.text);case C.Attachment:return _.createElement(Un,{value:r,maxWidth:e.maxWidth});case C.CodeableConcept:return _.createElement(Gn,{value:r});case C.Coding:return _.createElement(Jn,{value:r});case C.ContactDetail:return _.createElement(Xn,{value:r});case C.ContactPoint:return _.createElement(Yn,{value:r});case C.HumanName:return _.createElement(an,{value:r});case C.Identifier:return _.createElement(Zn,{value:r});case C.Money:return _.createElement(er,{value:r});case C.Period:return _.createElement(_.Fragment,null,b(r));case C.Quantity:case C.Duration:return _.createElement(tr,{value:r});case C.Range:return _.createElement(nr,{value:r});case C.Ratio:return _.createElement(rr,{value:r});case C.Reference:return _.createElement(ar,{value:r,link:e.link});case C.Timing:return _.createElement(_.Fragment,null,k(r));case C.Dosage:case C.UsageContext:return _.createElement(ir,{value:{type:n,value:r},compact:!0,ignoreMissingValues:e.ignoreMissingValues});default:if(!t?.path)throw Error(`Displaying property of type ${e.propertyType} requires element definition path`);return _.createElement(ir,{value:{type:y(t),value:r},compact:!0,ignoreMissingValues:e.ignoreMissingValues})}}function cr(e,t){const n=T(e,t);return n?Array.isArray(n)?[n.map((e=>e.value)),n[0].type]:[n.value,n.type]:[void 0,"undefined"]}function ir(e){const t=e.value,n=t.value;if(!n)return null;const r=t.type,a=w.types[r];return a?"object"==typeof n&&"name"in n&&1===Object.keys(n).length&&"string"==typeof n.name?_.createElement("div",null,n.name):_.createElement(Hn,{compact:e.compact},Object.entries(a.properties).map((n=>{const a=n[0];if(Bn.indexOf(a)>=0)return null;const l=n[1];l.path||(l.path=r+"."+a);const[o,c]=cr(t,a);return e.ignoreMissingValues&&(!o||Array.isArray(o)&&0===o.length)?null:_.createElement(Qn,{key:a,term:S(a)},_.createElement(or,{property:l,propertyType:c,value:o,ignoreMissingValues:e.ignoreMissingValues,link:e.link}))}))):_.createElement("div",null,r," not implemented")}function sr(e){return _.createElement(X,{noWrap:!0},_.createElement("div",null,e.children),_.createElement("div",null,_.createElement(ke.Wrapper,{id:e.htmlFor,label:e.title,description:e.description,withAsterisk:e.withAsterisk},null)))}function ur(e,t){return e?.issue?.filter((e=>dr(e.expression?.[0],t)))?.map((e=>e.details?.text))?.join("\n")}function mr(e,t){return e?.issue?.filter((e=>dr(e.expression?.[0],t)))}function dr(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=e.indexOf(".");if(n>=0&&e.substring(n+1)===t)return!0;const r=t.indexOf(".");return r>=0&&t.substring(r+1)===e}function pr(e){return _.createElement(ke.Wrapper,{id:e.htmlFor,label:e.title,description:e.description,withAsterisk:e.withAsterisk,error:ur(e.outcome,e.htmlFor)},e.children)}function hr(e){const t=et(),n=un(e.defaultValue),[r,a]=q(),[l,o]=q();return B((()=>{n&&(o(d(n)),t.requestSchema(n.resourceType).then(a).catch(console.log))}),[t,n]),r&&l?_.createElement("form",{noValidate:!0,autoComplete:"off",onSubmit:t=>{t.preventDefault(),e.onSubmit&&e.onSubmit(l)}},_.createElement(de,{mb:"xl"},_.createElement(pr,{title:"Resource Type",htmlFor:"resourceType",outcome:e.outcome},_.createElement(ee,{name:"resourceType",defaultValue:l.resourceType,disabled:!0})),_.createElement(pr,{title:"ID",htmlFor:"id",outcome:e.outcome},_.createElement(ee,{name:"id",defaultValue:l.id,disabled:!0}))),_.createElement(Kr,{typeName:l.resourceType,defaultValue:l,outcome:e.outcome,onChange:o}),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},"OK"),e.onDelete&&_.createElement(he,{variant:"outline",color:"red",type:"button",onClick:()=>{e.onDelete(l)}},"Delete"))):_.createElement("div",null,"Loading...")}function gr(e,t,n,r,a){const l=r.type;if(l.length>1)for(const n of l){const r=t.replace("[x]",A(n.code));r in e&&delete e[r]}return e[n]=a,e}function fr(e){const[t,n]=q(e.defaultValue);return _.createElement(Rn,{elementDefinition:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(r=t,r.coding?.map((e=>({system:e.system,code:e.code,display:e.display})))),onChange:function(t){const r=function(e){if(0===e.length)return;return{coding:e.map((e=>({system:e.system,code:e.code,display:e.display})))}}(t);n(r),e.onChange&&e.onChange(r)}});var r}function Er(e){const[t,n]=q(e.defaultValue);return _.createElement(Rn,{elementDefinition:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(r=t,{system:r.system,code:r.code,display:r.display}),onChange:function(t){const r=t[0],a=r&&{system:(l=r).system,code:l.code,display:l.display};var l;n(a),e.onChange&&e.onChange(a)}});var r}function vr(e){const[t,n]=q(e.defaultValue),r=j();function a(t){t&&0===Object.keys(t).length&&(t=void 0),n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{"data-testid":"system",defaultValue:t?.system,onChange:e=>function(e){const t={...r.current,system:e};e||delete t.system,a(t)}(e.currentTarget.value),data:["","email","phone","fax","pager","sms","other"]}),_.createElement(Z,{"data-testid":"use",defaultValue:t?.use,onChange:e=>function(e){const t={...r.current,use:e};e||delete t.use,a(t)}(e.currentTarget.value),data:["","home","work","temp","old","mobile"]}),_.createElement(ee,{placeholder:"Value",defaultValue:t?.value,onChange:e=>function(e){const t={...r.current,value:e};e||delete t.value,a(t)}(e.currentTarget.value)}))}function yr(e){const[t,n]=q(e.defaultValue),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(ee,{"data-testid":e.name+"-name",name:e.name+"-name",placeholder:"Name",style:{width:180},defaultValue:t?.name,onChange:e=>function(e){const t={...r.current,name:e};e||delete t.name,a(t)}(e.currentTarget.value)}),_.createElement(vr,{name:e.name+"-telecom",defaultValue:t?.telecom?.[0],onChange:function(e){const t={...r.current,telecom:e&&[e]};e||delete t.telecom,a(t)}}))}function Cr(e){return _.createElement(ee,{id:e.name,name:e.name,"data-testid":e.name,placeholder:e.placeholder,required:e.required,type:"datetime-local",defaultValue:kr(e.defaultValue),error:ur(e.outcome,e.name),onChange:t=>{if(e.onChange){const n=t.currentTarget.value;e.onChange(br(n))}}})}function kr(e){if(!e)return"";const t=new Date(e);return I(t)?t.toLocaleDateString("sv")+"T"+t.toLocaleTimeString("sv"):""}function br(e){if(!e)return"";const t=new Date(e);return I(t)?t.toISOString():""}function xr(e){return _.createElement(be,{id:e.name,name:e.name,"data-testid":"extension-input",defaultValue:v(e.defaultValue),deserialize:JSON.parse,onChange:t=>{e.onChange&&e.onChange(JSON.parse(t))}})}function Tr(e){const[t,n]=q(e.defaultValue),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{defaultValue:t?.use,name:e.name+"-use","data-testid":"use",onChange:e=>{return t=e.currentTarget.value,void a({...r.current,use:t||void 0});var t},data:["","temp","old","usual","official","nickname","anonymous","maiden"]}),_.createElement(ee,{placeholder:"Prefix",name:e.name+"-prefix",defaultValue:t?.prefix?.join(" "),onChange:e=>{return t=e.currentTarget.value,void a({...r.current,prefix:t?t.split(" "):void 0});var t}}),_.createElement(ee,{placeholder:"Given",name:e.name+"-given",defaultValue:t?.given?.join(" "),onChange:e=>{return t=e.currentTarget.value,void a({...r.current,given:t?t.split(" "):void 0});var t}}),_.createElement(ee,{name:e.name+"-family",placeholder:"Family",defaultValue:t?.family,onChange:e=>{return t=e.currentTarget.value,void a({...r.current,family:t||void 0});var t}}),_.createElement(ee,{placeholder:"Suffix",name:e.name+"-suffix",defaultValue:t?.suffix?.join(" "),onChange:e=>{return t=e.currentTarget.value,void a({...r.current,suffix:t?t.split(" "):void 0});var t}}))}function wr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(ee,{placeholder:"System",defaultValue:t?.system,onChange:e=>r({...t,system:e.currentTarget.value})}),_.createElement(ee,{placeholder:"Value",defaultValue:t?.value,onChange:e=>r({...t,value:e.currentTarget.value})}))}const Sr=["USD","EUR","CAD","GBP","AUD"];function Ar(e){const{onChange:t}=e,[n,r]=q(e.defaultValue),a=G((e=>{r(e),t&&t(e)}),[t]),l=G((e=>{a({...n,currency:e.currentTarget.value})}),[n,a]),o=G((e=>{a({...n,value:e.currentTarget.valueAsNumber})}),[n,a]),c=_.createElement(Z,{defaultValue:n?.currency,data:Sr,styles:{input:{fontWeight:500,borderTopLeftRadius:0,borderBottomLeftRadius:0,width:92}},onChange:l});return _.createElement(ee,{type:"number",label:e.label,placeholder:e.placeholder||"Value",defaultValue:n?.value?.toString()||"USD",icon:_.createElement(Vt,{size:14}),rightSection:c,rightSectionWidth:92,onChange:o})}function Ir(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Cr,{name:e.name+".start",placeholder:"Start",defaultValue:t?.start,onChange:e=>r({...t,start:e})}),_.createElement(Cr,{name:e.name+".end",placeholder:"End",defaultValue:t?.end,onChange:e=>r({...t,end:e})}))}function Mr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{style:{width:80},"data-testid":e.name+"-comparator",defaultValue:t?.comparator,data:["","<","<=",">=",">"],onChange:e=>r({...t,comparator:e.currentTarget.value})}),_.createElement(ee,{id:e.name,name:e.name,"data-testid":e.name+"-value",type:"number",placeholder:"Value",defaultValue:t?.value,step:"any",onWheel:t=>{e.disableWheel&&t.currentTarget.blur()},onChange:e=>{r({...t,value:Dr(e.currentTarget.value)})}}),_.createElement(ee,{placeholder:"Unit","data-testid":e.name+"-unit",defaultValue:t?.unit,onChange:e=>r({...t,unit:e.currentTarget.value})}))}function Dr(e){if(e)return parseFloat(e)}function Vr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Mr,{name:e.name+"-low",defaultValue:t?.low,onChange:e=>r({...t,low:e})}),_.createElement(Mr,{name:e.name+"-high",defaultValue:t?.high,onChange:e=>r({...t,high:e})}))}function Rr(e){const[t,n]=q(e.defaultValue);function r(t){n(t),e.onChange&&e.onChange(t)}return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Mr,{name:e.name+"-numerator",defaultValue:t?.numerator,onChange:e=>r({...t,numerator:e})}),_.createElement(Mr,{name:e.name+"-denominator",defaultValue:t?.denominator,onChange:e=>r({...t,denominator:e})}))}const Pr={Schedule:"_id",Task:"_id",Patient:"name",Practitioner:"name",Questionnaire:"name",ServiceRequest:"_id",DiagnosticReport:"_id",Specimen:"_id",Observation:"code",RequestGroup:"_id",ActivityDefinition:"name",User:"email:contains"};function Nr(e){const t=et(),n=un(e.defaultValue),[r,a]=q(n?i(n):""),[l,o]=q(!1),[c,s]=q([]);async function u(n){o(!0);const r=Pr[e.resourceType]||"name",a=new URLSearchParams({[r]:n,_count:"10"}),l=await t.searchResources(e.resourceType,a);s(l.map((e=>({value:i(e),resource:e})))),o(!1)}return B((()=>{n&&a(i(n))}),[n,a]),_.createElement(xe,{name:e.name,itemComponent:zr,value:r,data:c,placeholder:e.placeholder,onFocus:()=>u(r),onChange:async function(e){return a(e),u(e)},onItemSubmit:function(t){a(t.value),s([]),e.onChange&&e.onChange(t.resource)},rightSection:l?_.createElement(re,{size:16}):null})}const zr=H((({value:e,resource:t,...n},r)=>_.createElement("div",{ref:r,...n},_.createElement(X,{noWrap:!0},_.createElement(dn,{value:t}),_.createElement("div",null,_.createElement(ie,null,e),_.createElement(ie,{size:"xs",color:"dimmed"},t.birthDate))))));function Or(e){const n=function(e){if(!e||0===e.length||1===e.length&&"Resource"===e[0])return;return e}(e.targetTypes),r=function(e,t){const n=e?.reference?.split("/")[0];if(n)return n;if(t&&t.length>0)return t[0];return}(e.defaultValue,n),[a,l]=q(e.defaultValue),[o,c]=q(r);j().current=a;return j().current=o,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},n?_.createElement(Z,{"data-testid":"reference-input-resource-type-select",defaultValue:o,onChange:e=>c(e.currentTarget.value),data:n}):_.createElement(ee,{"data-testid":"reference-input-resource-type-input",defaultValue:o,onChange:e=>c(e.currentTarget.value)}),_.createElement(Nr,{resourceType:o,name:e.name+"-id",placeholder:e.placeholder,defaultValue:a,onChange:n=>{var r;r=n?t(n):void 0,l(r),e.onChange&&e.onChange(r)}}))}function $r(e){const[t,n]=q(e.defaultValue&&Array.isArray(e.defaultValue)?e.defaultValue:[]),r=j();function a(t){n(t),e.onChange&&e.onChange(t)}return r.current=t,_.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},_.createElement("colgroup",null,_.createElement("col",{width:"97%"}),_.createElement("col",{width:"3%"})),_.createElement("tbody",null,t.map(((n,l)=>_.createElement("tr",{key:`${l}-${t.length}`},_.createElement("td",null,_.createElement(qr,{arrayElement:!0,property:e.property,name:e.name+"."+l,defaultValue:n,onChange:e=>{const t=[...r.current];t[l]=e,a(t)}})),_.createElement("td",{style:{textAlign:"right"}},_.createElement(Ce,{title:"Remove",size:"sm",onClick:e=>{ln(e);const t=[...r.current];t.splice(l,1),a(t)}},_.createElement(At,null)))))),_.createElement("tr",null,_.createElement("td",null),_.createElement("td",{style:{textAlign:"right"}},_.createElement(Ce,{title:"Add",size:"sm",color:"green",onClick:e=>{ln(e);const t=[...r.current];t.push(void 0),a(t)}},_.createElement(It,null))))))}const Lr=["sun","mon","tue","wed","thu","fri","sat"];function Fr(e){const[t,n]=q(e.defaultValue),[r,a]=q(!1),l=j();return l.current=t,_.createElement(_.Fragment,null,_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement("span",null,k(l.current)||"No repeat"),_.createElement(he,{onClick:()=>a(!0)},"Edit")),_.createElement(_r,{visible:r,defaultValue:l.current,onOk:t=>{e.onChange&&e.onChange(t),n(t),a(!1)},onCancel:()=>a(!1)}))}const Ur={repeat:{period:1,periodUnit:"d"}};function _r(e){const[t,n]=q(e.defaultValue||Ur),r=j();function a(e){n({...r.current,repeat:e})}return r.current=t,_.createElement(pe,{title:"Timing",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:()=>e.onCancel()},_.createElement(de,null,_.createElement(pr,{title:"Starts on",htmlFor:"timing-dialog-start"},_.createElement(Cr,{name:"timing-dialog-start",onChange:e=>{return t=e,void n({...r.current,event:[t]});var t}})),_.createElement(Te,{label:"Repeat",checked:!!t.repeat,onChange:e=>a(e.currentTarget.checked?Ur.repeat:void 0)}),t.repeat&&_.createElement(_.Fragment,null,_.createElement(pr,{title:"Repeat every",htmlFor:"timing-dialog-period"},_.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(ee,{type:"number",step:1,id:"timing-dialog-period",name:"timing-dialog-period",defaultValue:t?.repeat?.period||1,onChange:e=>{return t=parseInt(e.currentTarget.value)||1,void a({...r.current?.repeat,period:t});var t}}),_.createElement(Z,{id:"timing-dialog-periodUnit",name:"timing-dialog-periodUnit",defaultValue:t?.repeat?.periodUnit,onChange:e=>{return t=e.currentTarget.value,void a({...r.current?.repeat,periodUnit:t});var t},data:[{label:"second",value:"s"},{label:"minute",value:"min"},{label:"hour",value:"h"},{label:"day",value:"d"},{label:"week",value:"wk"},{label:"month",value:"mo"},{label:"year",value:"a"}]}))),"wk"===t.repeat?.periodUnit&&_.createElement(pr,{title:"Repeat on"},_.createElement(we.Group,{multiple:!0,onChange:function(e){a({...r.current?.repeat,dayOfWeek:e})}},_.createElement(X,{position:"apart",mt:"md",spacing:"xs"},Lr.map((e=>_.createElement(we,{key:e,value:e,size:"xs",radius:"xl"},e.charAt(0).toUpperCase()))))))),_.createElement(X,{position:"right"},_.createElement(he,{onClick:()=>e.onOk(t)},"OK"))))}function qr(e){const t=e.property,n=e.defaultPropertyType??t.type?.[0]?.code,r=e.name,a=e.defaultValue;if("*"===t.max&&!e.arrayElement)return"Attachment"===n?_.createElement(jn,{name:r,defaultValue:a,onChange:e.onChange}):_.createElement($r,{property:t,name:r,defaultValue:a,onChange:e.onChange});const l=t.type;return l.length>1?_.createElement(jr,{elementDefinitionTypes:l,...e}):_.createElement(Wr,{elementDefinitionType:l[0],...e})}function jr(e){const t=e.elementDefinitionTypes;let n;e.defaultPropertyType&&(n=t.find((t=>t.code===e.defaultPropertyType))),n||(n=t[0]);const[r,a]=q(n);return _.createElement(X,{spacing:"xs",grow:!0,noWrap:!0},_.createElement(Z,{style:{width:"200px"},defaultValue:r?.code,onChange:e=>{a(t.find((t=>t.code===e.currentTarget.value)))},data:t.map((e=>({value:e.code,label:e.code})))}),_.createElement(Wr,{...e,elementDefinitionType:r,onChange:t=>{e.onChange&&e.onChange(t,e.name.replace("[x]",A(r.code)))}}))}function Wr(e){const t=e.property,n=e.elementDefinitionType.code,r=e.name,a=e.defaultValue,l=void 0!==t.min&&t.min>0;switch(n){case C.SystemString:case C.canonical:case C.string:case C.time:case C.uri:case C.url:return _.createElement(ee,{id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:ur(e.outcome,r)});case C.date:return _.createElement(ee,{type:"date",id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:ur(e.outcome,r)});case C.dateTime:case C.instant:return _.createElement(Cr,{name:r,defaultValue:a,onChange:e.onChange,outcome:e.outcome});case C.decimal:case C.integer:case C.positiveInt:case C.unsignedInt:return _.createElement(ee,{type:"number",step:n===C.decimal?"any":"1",id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.valueAsNumber)}});case C.code:return _.createElement(Pn,{property:t,name:r,defaultValue:a,onChange:e.onChange});case C.boolean:return _.createElement(Ae,{id:r,name:r,"data-testid":r,defaultChecked:!!a,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.checked)}});case C.markdown:return _.createElement(Se,{id:r,name:r,"data-testid":r,defaultValue:a,required:l,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)}});case C.Address:return _.createElement(Je,{name:r,defaultValue:a,onChange:e.onChange});case C.Annotation:return _.createElement(at,{name:r,defaultValue:a,onChange:e.onChange});case C.Attachment:return _.createElement(Wn,{name:r,defaultValue:a,onChange:e.onChange});case C.CodeableConcept:return _.createElement(fr,{property:t,name:r,defaultValue:a,onChange:e.onChange});case C.Coding:return _.createElement(Er,{property:t,name:r,defaultValue:a,onChange:e.onChange});case C.ContactDetail:return _.createElement(yr,{name:r,defaultValue:a,onChange:e.onChange});case C.ContactPoint:return _.createElement(vr,{name:r,defaultValue:a,onChange:e.onChange});case C.Extension:return _.createElement(xr,{name:r,defaultValue:a,onChange:e.onChange});case C.HumanName:return _.createElement(Tr,{name:r,defaultValue:a,onChange:e.onChange});case C.Identifier:return _.createElement(wr,{name:r,defaultValue:a,onChange:e.onChange});case C.Money:return _.createElement(Ar,{name:r,defaultValue:a,onChange:e.onChange});case C.Period:return _.createElement(Ir,{name:r,defaultValue:a,onChange:e.onChange});case C.Duration:case C.Quantity:return _.createElement(Mr,{name:r,defaultValue:a,onChange:e.onChange});case C.Range:return _.createElement(Vr,{name:r,defaultValue:a,onChange:e.onChange});case C.Ratio:return _.createElement(Rr,{name:r,defaultValue:a,onChange:e.onChange});case C.Reference:return _.createElement(Or,{name:r,defaultValue:a,targetTypes:Br(t),onChange:e.onChange});case C.Timing:return _.createElement(Fr,{name:r,defaultValue:a,onChange:e.onChange});case C.Dosage:case C.UsageContext:return _.createElement(Kr,{typeName:n,defaultValue:a,onChange:e.onChange,outcome:e.outcome});default:return _.createElement(Kr,{typeName:y(t),defaultValue:a,onChange:e.onChange,outcome:e.outcome})}}function Br(e){return e?.type?.[0]?.targetProfile?.map((e=>e.split("/").pop()))}function Kr(e){const[t,n]=q(e.defaultValue??{});function r(t){n(t),e.onChange&&e.onChange(t)}const a=e.typeName,l=w.types[a];if(!l)return _.createElement("div",null,a," not implemented");const o={type:a,value:t};return _.createElement(de,null,Object.entries(l.properties).map((n=>{const a=n[0];if("id"===a||Bn.indexOf(a)>=0)return null;const l=n[1];if(!l.type)return null;const[c,i]=cr(o,a),s=void 0!==l.min&&l.min>0;return 1===l.type.length&&"boolean"===l.type[0].code?_.createElement(sr,{key:a,title:S(a),description:l.definition,htmlFor:a},_.createElement(qr,{property:l,name:a,defaultValue:c,defaultPropertyType:i,outcome:e.outcome,onChange:(e,l)=>{r(gr(t,a,l??a,n[1],e))}})):_.createElement(pr,{key:a,title:S(a),description:l.definition,withAsterisk:s,htmlFor:a,outcome:e.outcome},_.createElement(qr,{property:l,name:a,defaultValue:c,defaultPropertyType:i,onChange:(e,l)=>{r(gr(t,a,l??a,n[1],e))}}))})))}const Hr=ce((e=>({table:{width:350,"& th":{fontWeight:"normal",fontSize:11,padding:8,textAlign:"center"},"& td":{padding:"2px 4px"},"& td button":{width:44,height:44,color:e.colors[e.primaryColor][5],fontSize:16,fontWeight:500,textAlign:"center",padding:0,backgroundColor:e.colors[e.primaryColor][0],border:0,borderRadius:"50%",cursor:"pointer"},"& td button:hover":{backgroundColor:e.colors[e.primaryColor][1]},"& td button:disabled":{backgroundColor:"transparent",cursor:"default",color:e.colors.gray[4],fontWeight:"normal"}}})));function Qr(e){return e.toLocaleString("default",{month:"long"})+" "+e.getFullYear()}function Gr(e){const{classes:t}=Hr(),{onChangeMonth:n,onClick:r}=e,[a,l]=q(Jr);function o(e){l((t=>{const r=new Date(t.getTime());return r.setMonth(t.getMonth()+e),n(r),r}))}const c=Y((()=>function(e,t){const n=new Date(e.getFullYear(),e.getMonth()),r=[];let a=[];for(let e=0;e<n.getDay();e++)a.push(void 0);for(;n.getMonth()===e.getMonth();)a.push({date:new Date(n.getTime()),available:Yr(n,t)}),6===n.getDay()&&(r.push(a),a=[]),n.setDate(n.getDate()+1);if(0!==n.getDay()){for(let e=n.getDay();e<7;e++)a.push(void 0);r.push(a)}return r}(a,e.slots)),[a,e.slots]);return _.createElement("div",null,_.createElement(X,{position:"apart",spacing:"xs",grow:!0,noWrap:!0},_.createElement("p",{style:{flex:1}},Qr(a)),_.createElement(X,{position:"right",spacing:"xs"},_.createElement(he,{variant:"outline","aria-label":"Previous month",onClick:()=>o(-1)},"<"),_.createElement(he,{variant:"outline","aria-label":"Next month",onClick:()=>o(1)},">"))),_.createElement("table",{className:t.table},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"SUN"),_.createElement("th",null,"MON"),_.createElement("th",null,"TUE"),_.createElement("th",null,"WED"),_.createElement("th",null,"THU"),_.createElement("th",null,"FRI"),_.createElement("th",null,"SAT"))),_.createElement("tbody",null,c.map(((e,t)=>_.createElement("tr",{key:"week-"+t},e.map(((e,t)=>_.createElement("td",{key:"day-"+t},e&&_.createElement(he,{disabled:!e.available,onClick:()=>r(e.date)},e.date.getDate()))))))))))}function Jr(){const e=new Date;return e.setDate(1),e.setHours(0,0,0,0),e}function Yr(e,t){for(const n of t){const t=new Date(n.start);if(t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate())return!0}return!1}const Xr=ce((()=>({root:{"@media (max-width: 800px)":{paddingLeft:4,paddingRight:4}}})));function Zr(e){const{children:t,...n}=e,{classes:r}=Xr();return _.createElement(Ie,{className:r.root,...n},t)}const ea=ce((e=>({noteBody:{fontSize:e.fontSizes.sm},noteCite:{fontSize:e.fontSizes.xs,marginBlockStart:3},noteRoot:{padding:5}})));function ta({value:e}){const{classes:t}=ea();return e?_.createElement(de,{justify:"flex-start",spacing:"xs"},e.map(((e,n)=>e.text&&_.createElement(Me,{key:`note-${n}`,classNames:{cite:t.noteCite,body:t.noteBody,root:t.noteRoot},cite:e.authorReference?.display||e.authorString,icon:null},e.text)))):null}function na(e){const{value:t,link:r,...a}=e,[l,o]=q(),c=un(t,o);let s;if(l&&!M(l))s=`[${n(l)}]`;else{if(!c)return null;s=i(c)}return r?_.createElement(sn,{to:t,...a},s):_.createElement(ie,{component:"span",...a},s)}function ra(e){return _.createElement(X,{spacing:"xs"},_.createElement(dn,{size:24,radius:12,value:e.value,link:e.link}),_.createElement(na,{value:e.value,link:e.link}))}const aa={draft:"blue",active:"blue","on-hold":"yellow",revoked:"red",completed:"green","entered-in-error":"red",unknown:"gray",retired:"gray",registered:"blue",preliminary:"blue",final:"green",amended:"yellow",corrected:"yellow",cancelled:"red",requested:"blue",received:"blue",accepted:"blue",rejected:"red",ready:"blue","in-progress":"blue",failed:"red",proposed:"blue",pending:"blue",booked:"blue",arrived:"blue",fulfilled:"green",noshow:"red","checked-in":"blue",waitlist:"gray",routine:"gray",urgent:"red",asap:"red",stat:"red"};function la(e){return _.createElement(De,{color:aa[e.status]},e.status)}const oa=ce((e=>({table:{border:`0.1px solid ${e.colors.gray[5]}`,borderCollapse:"collapse","& td, & th":{border:`0.1px solid ${e.colors.gray[5]}`,padding:4}},criticalRow:{background:"dark"===e.colorScheme?e.colors.red[7]:e.colors.red[1],border:`0.1px solid ${e.colors.red[5]}`,color:e.colors.red[5],fontWeight:500,"& td":{border:`0.1px solid ${e.colors.red[5]}`}},noteBody:{fontSize:e.fontSizes.sm},noteCite:{fontSize:e.fontSizes.xs,marginBlockStart:3},noteRoot:{padding:5}})));function ca(e){const t=et(),n=un(e.value),[r,a]=q();if(B((()=>{n?.specimen&&Promise.allSettled(n.specimen.map((e=>t.readReference(e)))).then((e=>e.filter((e=>"fulfilled"===e.status)).map((e=>e.value)))).then(a).catch(console.error)}),[t,n]),!n)return null;const l=r?.flatMap((e=>e.note||[]))||[];if(n.presentedForm&&n.presentedForm.length>0){const e=n.presentedForm[0];e.contentType?.startsWith("text/plain")&&e.data&&l.push({text:window.atob(e.data)})}return _.createElement(de,null,_.createElement(Ve,null,"Diagnostic Report"),_.createElement(ia,{value:n}),!e.hideSpecimenInfo&&function(e){return _.createElement(de,{spacing:"xs"},_.createElement(Ve,{order:2,size:"h6"},"Specimens"),_.createElement(Re,{type:"ordered"},e?.map(((e,t)=>_.createElement(Re.Item,{ml:"sm",key:`specimen-${e.id}-${t}`},_.createElement(X,{spacing:20},_.createElement(X,{spacing:5},_.createElement(ie,{fw:500},"Collected:")," ",x(e.collection?.collectedDateTime)),_.createElement(X,{spacing:5},_.createElement(ie,{fw:500},"Received:")," ",x(e.receivedTime))))))))}(r),n.result&&_.createElement(sa,{hideObservationNotes:e.hideObservationNotes,value:n.result}),l.length>0&&_.createElement(ta,{value:l}))}function ia({value:e}){return _.createElement(X,{mt:"md",spacing:30},e.subject&&_.createElement("div",null,_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Subject"),_.createElement(ie,null,_.createElement(ra,{value:e.subject,link:!0}))),e.resultsInterpreter&&e.resultsInterpreter.map((e=>_.createElement("div",{key:e.reference},_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Interpreter"),_.createElement(ie,null,_.createElement(ra,{value:e,link:!0}))))),e.performer&&e.performer.map((e=>_.createElement("div",{key:e.reference},_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Performer"),_.createElement(ie,null,_.createElement(ra,{value:e,link:!0}))))),e.issued&&_.createElement("div",null,_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Issued"),_.createElement(ie,null,x(e.issued))),e.status&&_.createElement("div",null,_.createElement(ie,{size:"xs",transform:"uppercase",color:"dimmed"},"Status"),_.createElement(ie,null,A(e.status))))}function sa(e){const{classes:t}=oa();return _.createElement("table",{className:t.table},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Test"),_.createElement("th",null,"Value"),_.createElement("th",null,"Reference Range"),_.createElement("th",null,"Interpretation"),_.createElement("th",null,"Category"),_.createElement("th",null,"Performer"),_.createElement("th",null,"Status"))),_.createElement("tbody",null,e.value?.map(((t,n)=>_.createElement(ua,{key:`obs-${t.id}-${n}`,hideObservationNotes:e.hideObservationNotes,value:t})))))}function ua(e){const{classes:t,cx:n}=oa(),r=un(e.value);if(!r)return null;const a=!e.hideObservationNotes&&r?.note,l=function(e){const t=e.interpretation?.[0]?.coding?.[0]?.code;return"AA"===t||"LL"===t||"HH"===t||"A"===t}(r);return _.createElement(_.Fragment,null,_.createElement("tr",{className:n({[t.criticalRow]:l})},_.createElement("td",{rowSpan:a?2:1},_.createElement(sn,{to:r},_.createElement(Gn,{value:r.code}))),_.createElement("td",null,_.createElement(ma,{value:r})),_.createElement("td",null,_.createElement(da,{value:r.referenceRange})),_.createElement("td",null,r.interpretation&&r.interpretation.length>0&&_.createElement(Gn,{value:r.interpretation[0]})),_.createElement("td",null,r.category&&r.category.length>0&&_.createElement("ul",null,r.category.map(((e,t)=>_.createElement("li",{key:`category-${t}`},_.createElement(Gn,{value:e})))))),_.createElement("td",null,r.performer?.map((e=>_.createElement(ar,{key:e?.reference,value:e})))),_.createElement("td",null,r.status&&_.createElement(la,{status:r.status}))),a&&_.createElement("tr",null,_.createElement("td",{colSpan:6},_.createElement(ta,{value:r.note}))))}function ma(e){const t=e.value;return _.createElement(_.Fragment,null,D(t))}function da(e){const t=e.value&&e.value.length>0&&e.value[0];return t?t.text?_.createElement(_.Fragment,null,t.text):_.createElement(nr,{value:t}):null}ca.defaultProps={hideObservationNotes:!1,hideSpecimenInfo:!1};const pa=ce(((e,{width:t,fill:n})=>({paper:{maxWidth:t,margin:`${e.spacing.xl} auto`,padding:n?0:e.spacing.md,"@media (max-width: 800px)":{padding:n?0:8},"& img":{width:"100%",maxWidth:"100%"},"& video":{width:"100%",maxWidth:"100%"}}}))),ha={shadow:"xs",radius:"md",withBorder:!0};function ga(e){const{className:t,children:n,width:r,fill:a,unstyled:l,...o}=Pe("Panel",ha,e),{classes:c,cx:i}=pa({width:r,fill:a},{name:"Panel",unstyled:l});return _.createElement(Ne,{className:i(c.paper,t),...o},n)}const fa=ce((e=>({root:{borderCollapse:"collapse",width:"100%","& tr":{borderTop:`0.1px solid ${e.colors.gray[3]}`},"& th, & td":{padding:`${e.spacing.sm} ${e.spacing.sm}`,verticalAlign:"top"}},removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function Ea(e){const{classes:t}=fa(),n=et(),[r,a]=q();if(B((()=>{n.requestSchema(e.original.resourceType).then(a).catch(console.log)}),[n,e.original.resourceType]),!r)return null;const l=r.types[e.original.resourceType];return l?_.createElement("table",{className:t.root},_.createElement("colgroup",null,_.createElement("col",{style:{width:"30%"}}),_.createElement("col",{style:{width:"35%"}}),_.createElement("col",{style:{width:"35%"}})),_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Property"),_.createElement("th",null,"Before"),_.createElement("th",null,"After"))),_.createElement("tbody",null,Object.entries(l.properties).map((n=>{const r=n[0];if("id"===r||"meta"===r)return null;const a=n[1],[l,o]=cr(V(e.original),r),[c,i]=cr(V(e.revised),r);return va(l)&&va(c)||v(l)===v(c)?null:_.createElement("tr",{key:r},_.createElement("td",null,S(r)),_.createElement("td",{className:t.removed},_.createElement(or,{property:a,propertyType:o,value:l,ignoreMissingValues:!0})),_.createElement("td",{className:t.added},_.createElement(or,{property:a,propertyType:i,value:c,ignoreMissingValues:!0})))})))):null}function va(e){return!e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length}function ya(e){const t=et(),n=un(e.value),[r,a]=q();return B((()=>{n&&t.requestSchema(n.resourceType).then(a).catch(console.log)}),[t,n]),r&&n?_.createElement(ir,{value:{type:n.resourceType,value:e.forceUseInput?e.value:n},ignoreMissingValues:e.ignoreMissingValues}):null}function Ca(e){return _.createElement(Zr,null,e.children)}function ka(e){const{resource:t,profile:n,padding:r,popupMenuItems:a,...l}=e,o=n??t.meta?.author;return _.createElement(ga,{"data-testid":"timeline-item",fill:!0,...l},_.createElement(X,{position:"apart",spacing:8,mx:"xs",my:"sm"},_.createElement(dn,{value:o,link:!0,size:"md"}),_.createElement("div",{style:{flex:1}},_.createElement(ie,{size:"sm"},_.createElement(na,{color:"dark",weight:500,value:o,link:!0})),_.createElement(ie,{size:"xs"},_.createElement(sn,{color:"dimmed",to:e.resource},x(e.resource.meta?.lastUpdated)),_.createElement(ie,{component:"span",color:"dimmed",mx:8},"·"),_.createElement(sn,{color:"dimmed",to:e.resource},e.resource.resourceType))),a&&_.createElement(me,{position:"bottom-end",shadow:"md",width:200},_.createElement(me.Target,null,_.createElement(Ce,{radius:"xl","aria-label":`Actions for ${u(e.resource)}`},_.createElement(Rt,null))),a)),_.createElement(nn,null,r&&_.createElement("div",{style:{padding:"0 16px 16px 16px"}},e.children),!r&&_.createElement(_.Fragment,null,e.children)))}function ba(e,t){e.sort(((e,n)=>{const r=xa(e),a=xa(n);return r>a?1:r<a?-1:Ta(e,t)-Ta(n,t)}))}function xa(e){const t=e.priority;return"string"==typeof t&&{stat:4,asap:3,urgent:2}[t]||0}function Ta(e,t){if(n=e,!(r=t)||n.resourceType!==r.resourceType||n.id!==r.id){if("Communication"===e.resourceType&&e.sent)return new Date(e.sent).getTime();if(("DiagnosticReport"===e.resourceType||"Media"===e.resourceType||"Observation"===e.resourceType)&&e.issued)return new Date(e.issued).getTime();if("DocumentReference"===e.resourceType&&e.date)return new Date(e.date).getTime()}var n,r;const a=e.meta?.lastUpdated;return a?new Date(a).getTime():0}const wa=ce((e=>({pinnedComment:{backgroundColor:e.colors.blue[0]}})));function Sa(e){const t=et(),r=tt(),a=t.getProfile(),l=j(null),o=un(e.value),[c,i]=q(),[s,u]=q([]),m=e.loadTimelineResources,d=j(s);d.current=s;const p=G((e=>{ba(e,o),e.reverse(),u(e)}),[o]),h=G((e=>{const t=[];for(const n of e){if("fulfilled"!==n.status)continue;const e=n.value;if("history"===e.type&&i(e),e.entry)for(const n of e.entry)t.push(n.resource)}p(t)}),[p]),g=G((e=>p([...d.current,e])),[p]),f=G((()=>{let n,r;"resourceType"in e.value?(n=e.value.resourceType,r=e.value.id):[n,r]=e.value.reference?.split("/"),m(t,n,r).then(h).catch(console.log)}),[t,e.value,m,h]);function E(e,n){return t.updateResource({...e,priority:n})}function v(e){E(e,"stat").then(f).catch(console.log)}function y(e){E(e,"routine").then(f).catch(console.log)}function C(e){r(`/${e.resourceType}/${e.id}`)}function k(e){r(`/${e.resourceType}/${e.id}/edit`)}function b(e){r(`/${e.resourceType}/${e.id}/delete`)}function x(e){r(`/${e.resourceType}/${e.id}/_history/${e.meta?.versionId}`)}return B((()=>f()),[f]),o?_.createElement(Ca,null,e.createCommunication&&_.createElement(ga,null,_.createElement(Sn,{testid:"timeline-form",onSubmit:n=>{var r;r=n.text,o&&e.createCommunication&&t.createResource(e.createCommunication(o,a,r)).then((e=>g(e))).catch(console.log);const c=l.current;c&&(c.value="",c.focus())}},_.createElement(X,{spacing:"xs",noWrap:!0,style:{width:"100%"}},_.createElement(dn,{value:a}),_.createElement(ee,{name:"text",ref:l,placeholder:"Add comment",style:{width:"100%",maxWidth:300}}),_.createElement(Ce,{type:"submit",radius:"xl",color:"blue",variant:"filled"},_.createElement(jt,{size:16})),_.createElement(qn,{onUpload:function(r){o&&e.createMedia&&t.createResource(e.createMedia(o,a,r)).then((e=>g(e))).then((()=>Ke({id:"upload-notification",color:"teal",title:"Upload complete",message:"",icon:_.createElement(Tt,{size:16}),autoClose:2e3}))).catch((e=>Ke({id:"upload-notification",color:"red",title:"Upload error",message:n(e),icon:_.createElement(Ot,{size:16}),autoClose:2e3})))},onUploadStart:function(){Be({id:"upload-notification",loading:!0,title:"Initializing upload...",message:"Please wait...",autoClose:!1,withCloseButton:!1})},onUploadProgress:function(e){Ke({id:"upload-notification",loading:!0,title:"Uploading...",message:Pa(e),autoClose:!1,withCloseButton:!1})}},(e=>_.createElement(Ce,{...e,radius:"xl",color:"blue",variant:"filled"},_.createElement(Mt,{size:16}))))))),s.map((e=>{if(!e)return null;const t=`${e.resourceType}/${e.id}/${e.meta?.versionId}`;if(e.resourceType===o.resourceType&&e.id===o.id)return _.createElement(Ia,{key:t,history:c,resource:e,onDetails:x});switch(e.resourceType){case"AuditEvent":return _.createElement(Va,{key:t,resource:e,onDetails:C});case"Communication":return _.createElement(Ma,{key:t,resource:e,onPin:"stat"!==e.priority?v:void 0,onUnpin:"stat"===e.priority?y:void 0,onDetails:C,onEdit:k,onDelete:b});case"DiagnosticReport":return _.createElement(Ra,{key:t,resource:e,onDetails:C,onEdit:k,onDelete:b});case"Media":return _.createElement(Da,{key:t,resource:e,onDetails:C,onEdit:k,onDelete:b});default:return _.createElement(ka,{key:t,resource:e,padding:!0},_.createElement(ya,{value:e,ignoreMissingValues:!0}))}}))):_.createElement(ne,{style:{width:"100%",height:"100%"}},_.createElement(re,null))}function Aa(e){return _.createElement(me.Dropdown,null,_.createElement(me.Label,null,"Resource"),e.onPin&&_.createElement(me.Item,{icon:_.createElement(Wt,{size:14}),onClick:()=>e.onPin(e.resource),"aria-label":`Pin ${u(e.resource)}`},"Pin"),e.onUnpin&&_.createElement(me.Item,{icon:_.createElement(Bt,{size:14}),onClick:()=>e.onUnpin(e.resource),"aria-label":`Unpin ${u(e.resource)}`},"Unpin"),e.onDetails&&_.createElement(me.Item,{icon:_.createElement(Ft,{size:14}),onClick:()=>e.onDetails(e.resource),"aria-label":`Details ${u(e.resource)}`},"Details"),e.onEdit&&_.createElement(me.Item,{icon:_.createElement(Pt,{size:14}),onClick:()=>e.onEdit(e.resource),"aria-label":`Edit ${u(e.resource)}`},"Edit"),e.onDelete&&_.createElement(_.Fragment,null,_.createElement(me.Divider,null),_.createElement(me.Label,null,"Danger zone"),_.createElement(me.Item,{color:"red",icon:_.createElement(en,{size:14}),onClick:()=>e.onDelete(e.resource),"aria-label":`Delete ${u(e.resource)}`},"Delete")))}function Ia(e){const t=function(e,t){const n=e.entry,r=n.findIndex((e=>e.resource?.meta?.versionId===t.meta?.versionId));if(r>=n.length-1)return;return n[r+1].resource}(e.history,e.resource);return t?_.createElement(ka,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Aa,{...e})},_.createElement(Ea,{original:t,revised:e.resource})):_.createElement(ka,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Aa,{...e})},_.createElement("h3",null,"Created"),_.createElement(ya,{value:e.resource,ignoreMissingValues:!0,forceUseInput:!0}))}function Ma(e){const{classes:t}=wa(),n=!e.resource.priority||"routine"===e.resource.priority?void 0:t.pinnedComment;return _.createElement(ka,{resource:e.resource,profile:e.resource.sender,padding:!0,className:n,popupMenuItems:_.createElement(Aa,{...e})},_.createElement("p",null,e.resource.payload?.[0]?.contentString))}function Da(e){const t=e.resource.content?.contentType,n=t&&!t.startsWith("image/")&&!t.startsWith("video/")&&"application/pdf"!==t;return _.createElement(ka,{resource:e.resource,padding:!!n,popupMenuItems:_.createElement(Aa,{...e})},_.createElement(Un,{value:e.resource.content}))}function Va(e){return _.createElement(ka,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Aa,{...e})},_.createElement(fe,null,_.createElement("pre",null,e.resource.outcomeDesc)))}function Ra(e){return _.createElement(ka,{resource:e.resource,padding:!0,popupMenuItems:_.createElement(Aa,{...e})},_.createElement(ca,{value:e.resource}))}function Pa(e){if(e.lengthComputable){const t=100*e.loaded/e.total;return`Uploaded: ${Na(e.loaded)} / ${Na(e.total)} ${t.toFixed(2)}%`}return`Uploaded: ${Na(e.loaded)}`}function Na(e){if(0===e)return"0.00 B";const t=Math.floor(Math.log(e)/Math.log(1024));return(e/Math.pow(1024,t)).toFixed(2)+" "+" KMGTP".charAt(t)+"B"}function za(e){return _.createElement(Sa,{value:e.resource,loadTimelineResources:async(e,t,n)=>{const r=`${t}/${n}`;return Promise.allSettled([e.readHistory(t,n),e.search("Task",{_filter:`based-on eq ${r} or focus eq ${r} or subject eq ${r}`,_count:100})])}})}function Oa(e){const{children:t,...n}=e;return _.createElement(Zr,null,_.createElement(ga,{...n},t))}function $a(e){return _.createElement(Sa,{value:e.encounter,loadTimelineResources:async(e,t,n)=>Promise.allSettled([e.readHistory("Encounter",n),e.search("Communication","encounter=Encounter/"+n),e.search("Media","encounter=Encounter/"+n)]),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",encounter:t(e),subject:e.subject,sender:t(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",encounter:t(e),subject:e.subject,operator:t(n),issued:(new Date).toISOString(),content:r})})}function La(e){let t;try{t=R(e.path,e.resource)}catch(e){return console.warn("FhirPathDisplay:",e),null}if(t.length>1)throw new Error(`Component "path" for "FhirPathDisplay" must resolve to a single element. Received ${t.length} elements [${JSON.stringify(t,null,2)}]`);return _.createElement(or,{value:t[0]||"",propertyType:e.propertyType})}const Fa={string:[P.EQUALS,P.NOT,P.CONTAINS,P.EXACT],fulltext:[P.EQUALS,P.NOT,P.CONTAINS,P.EXACT],token:[P.EQUALS,P.NOT],reference:[P.EQUALS,P.NOT],numeric:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS],quantity:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS],date:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS,P.STARTS_AFTER,P.ENDS_BEFORE,P.APPROXIMATELY],datetime:[P.EQUALS,P.NOT_EQUALS,P.GREATER_THAN,P.LESS_THAN,P.GREATER_THAN_OR_EQUALS,P.LESS_THAN_OR_EQUALS,P.STARTS_AFTER,P.ENDS_BEFORE,P.APPROXIMATELY]},Ua={eq:"equals",ne:"not equals",gt:"greater than",lt:"less than",ge:"greater than or equals",le:"less than or equals",sa:"starts after",eb:"ends before",ap:"approximately",contains:"contains",exact:"exact",text:"text",not:"not",above:"above",below:"below",in:"in","not-in":"not in","of-type":"of type",missing:"missing",identifier:"identifier",iterate:"iterate"};function _a(e,t){return{...e,filters:t,offset:0,name:void 0}}function qa(e){return _a(e,[])}function ja(e,t){return _a(e,(e.filters||[]).filter((e=>e.code!==t)))}function Wa(e,t,n,r,a){a&&(e=ja(e,t));const l=[];return e.filters&&l.push(...e.filters),l.push({code:t,operator:n,value:r||""}),_a(e,l)}function Ba(e,t){if(e.fields&&e.fields.includes(t))return e;const n=[];return e.fields&&n.push(...e.fields),n.push(t),{...e,fields:n,name:void 0}}function Ka(e,t){if(!e.filters)return e;const n=[...e.filters];return n.splice(t,1),{...e,filters:n,name:void 0}}function Ha(e,t){return Ja(e,t,-1)}function Qa(e,t){return Ja(e,t,0)}function Ga(e,t){return Ja(e,t,1)}function Ja(e,t,n){const r=new Date;r.setDate(r.getDate()+n),r.setHours(0,0,0,0);const a=new Date(r.getTime());return a.setDate(a.getDate()+1),a.setTime(a.getTime()-1),nl(e,t,r,a)}function Ya(e,t){return el(e,t,-1)}function Xa(e,t){return el(e,t,0)}function Za(e,t){return el(e,t,1)}function el(e,t,n){const r=new Date;r.setMonth(r.getMonth()+n),r.setDate(1),r.setHours(0,0,0,0);const a=new Date(r.getTime());return a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0,0,0,0),a.setTime(a.getTime()-1),nl(e,t,r,a)}function tl(e,t){const n=new Date;n.setMonth(0),n.setDate(1),n.setHours(0,0,0,0);return nl(e,t,n,new Date)}function nl(e,t,n,r){return e=rl(e=ja(e,t),t,P.GREATER_THAN_OR_EQUALS,n),e=rl(e,t,P.LESS_THAN_OR_EQUALS,r)}function rl(e,t,n,r){return Wa(e,t,n,r.toISOString())}function al(e,t,n=!0){return Wa(e,t,P.MISSING,n.toString())}function ll(e,t){return e.offset===t?e:{...e,offset:t,name:void 0}}function ol(e,t){return ll(e,(t-1)*(e.count??N))}function cl(e,t,n){return t===sl(e)&&void 0!==n&&n===ul(e)?e:{...e,sortRules:[{code:t,descending:!!n}],name:void 0}}function il(e,t){let n=!1;return sl(e)===t&&(n=!ul(e)),cl(e,t,n)}function sl(e){const t=e.sortRules;if(!t||0===t.length)return;const n=t[0].code;return n.startsWith("-")?n.substr(1):n}function ul(e){const t=e.sortRules;return!(!t||0===t.length)&&!!t[0].descending}function ml(e){return Fa[e.type]}function dl(e){return Ua[e]??""}function pl(e){let t=e;return t.includes(".")&&(t=t.split(".").pop()),"id"===t?"ID":"versionId"===t?"Version ID":(t=t.replace("[x]",""),t=t.replace(/([A-Z])/g," $1"),t=t.replace(/[-_]/g," "),t=t.replace(/\s+/g," "),t=t.trim(),t.split(/\s/).map(A).join(" "))}function hl(e,t){const n=t.name;return"id"===n?e.id:"meta.versionId"===n?e.meta?.versionId:"_lastUpdated"===n?x(e.meta?.lastUpdated):t.elementDefinition&&`${e.resourceType}.${t.name}`===t.elementDefinition.path?function(e,t){const n=t.path?.split(".")?.pop()?.replaceAll("[x]","")||"",[r,a]=cr({type:e.resourceType,value:e},n);if(!r)return null;return _.createElement(or,{property:t,propertyType:a,value:r,maxWidth:200,ignoreMissingValues:!0,link:!1})}(e,t.elementDefinition):t.searchParams&&1===t.searchParams.length&&t.name===t.searchParams[0].code?function(e,t,n){const r=z(t.expression,[{type:e.resourceType,value:e}]);if(!r||0===r.length)return null;if(n)return _.createElement(or,{propertyType:r[0].type,value:r[0].value,maxWidth:200,ignoreMissingValues:!0,link:!1});return _.createElement(_.Fragment,null,r.map(((e,t)=>_.createElement("span",{key:`${t}-${r.length}`},"object"==typeof e?JSON.stringify(e):e))))}(e,t.searchParams[0],t.elementDefinition):null}function gl(e){const[t,n]=q({search:JSON.parse(v(e.search))}),r=j(null),a=j(null);function l(){const e=t.search.fields??[],a=r.current?.value;if(a){const r=[...e,a];n({search:{...t.search,fields:r}})}}function o(){const e=t.search.fields??[],r=a.current?.value;if(r){const a=[...e];a.splice(a.indexOf(r),1),n({search:{...t.search,fields:a}})}}function c(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}if(B((()=>{n({search:e.search})}),[e.search]),!e.visible)return null;const i=e.search.resourceType,s=w.types[i],u=t.search.fields??[],m=function(e){const t=[],n=new Set,r=new Set;for(const a of Object.keys(e.properties))t.push(a),n.add(a.toLowerCase()),r.add(pl(a));if(e.searchParams)for(const a of Object.keys(e.searchParams)){const e=pl(a);n.has(a)||r.has(e)||(t.push(a),n.add(a),r.add(pl(a)))}return t}(s).filter((e=>!u?.includes(e))).sort();return _.createElement(pe,{title:"Fields",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:e.onCancel},_.createElement("div",null,_.createElement("table",{style:{margin:"auto"}},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",{colSpan:2,align:"center"},"Available"),_.createElement("th",{colSpan:2,align:"center"},"Selected"))),_.createElement("tbody",null,_.createElement("tr",null,_.createElement("td",{colSpan:2,align:"center"},_.createElement("select",{ref:r,size:15,tabIndex:1,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&l()}(e),onDoubleClick:()=>{l()},"data-testid":"available"},m.map((e=>_.createElement("option",{key:e,value:e},pl(e)))))),_.createElement("td",{colSpan:2,align:"center"},_.createElement("select",{ref:a,size:15,tabIndex:4,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&o()}(e),onDoubleClick:()=>{o()},"data-testid":"selected"},u.map((e=>_.createElement("option",{key:e,value:e},pl(e)))))))),_.createElement("tfoot",null,_.createElement("tr",null,_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:l},"Add")),_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:o},"Remove")),_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:function(){const e=t.search.fields??[],r=a.current?.value;if(!r)return;const l=[...e],o=l.indexOf(r);o<=0||(c(l,o,o-1),n({search:{...t.search,fields:l}}))}},"Up")),_.createElement("td",{align:"center"},_.createElement(he,{compact:!0,variant:"outline",onClick:function(){const e=t.search.fields??[],r=a.current?.value;if(!r)return;const l=[...e],o=l.indexOf(r);o>=l.length-1||(c(l,o,o+1),n({search:{...t.search,fields:l}}))}},"Down")))))),_.createElement(he,{onClick:()=>e.onOk(t.search)},"OK"))}function fl(e){const{resourceType:t,filter:n}=e,r=w.types[t]?.searchParams?.[n.code];if(r){if("reference"===r.type&&(n.operator===P.EQUALS||n.operator===P.NOT_EQUALS))return _.createElement(na,{value:{reference:n.value}});const e=O(t,r);if("_lastUpdated"===n.code||e.type===$.DATETIME)return _.createElement(_.Fragment,null,x(n.value))}return _.createElement(_.Fragment,null,n.value)}function El(e){const t="filter-value";switch(O(e.resourceType,e.searchParam).type){case $.REFERENCE:return _.createElement(Or,{name:t,defaultValue:{reference:e.defaultValue},targetTypes:e.searchParam?.target,onChange:t=>{t?e.onChange(t.reference):e.onChange("")}});case $.BOOLEAN:return _.createElement(Ae,{name:t,"data-testid":t,defaultChecked:"true"===e.defaultValue,onChange:t=>e.onChange(t.currentTarget.checked.toString())});case $.DATE:return _.createElement(ee,{type:"date",name:t,"data-testid":t,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case $.DATETIME:return _.createElement(Cr,{name:t,defaultValue:e.defaultValue,onChange:e.onChange});case $.NUMBER:return _.createElement(ee,{type:"number",name:t,"data-testid":t,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case $.QUANTITY:return _.createElement(Mr,{name:t,defaultValue:vl(e.defaultValue),onChange:t=>{t?e.onChange(`${t.value}`):e.onChange("")}});default:return _.createElement(ee,{name:t,"data-testid":t,defaultValue:e.defaultValue,autoFocus:e.autoFocus,onChange:t=>e.onChange(t.currentTarget.value),placeholder:"Search value"})}}function vl(e){if(e){const[t,n,r]=e.split("|");if(t)return{value:parseFloat(t),system:n,unit:r}}}function yl(e){const[t,n]=q(JSON.parse(v(e.search))),[r,a]=q(-1),l=j(t);if(l.current=t,B((()=>{n(JSON.parse(v(e.search)))}),[e.search]),!e.visible)return null;const o=e.search.resourceType,c=w.types[o].searchParams??{},i=t.filters||[];return _.createElement(pe,{title:"Filters",closeButtonProps:{"aria-label":"Close"},size:900,opened:e.visible,onClose:e.onCancel},_.createElement("div",null,_.createElement("table",null,_.createElement("colgroup",null,_.createElement("col",{style:{width:200}}),_.createElement("col",{style:{width:200}}),_.createElement("col",{style:{width:380}}),_.createElement("col",{style:{width:120}})),_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Field"),_.createElement("th",null,"Operation"),_.createElement("th",null,"Value"),_.createElement("th",null,"Actions"))),_.createElement("tbody",null,i.map(((e,t)=>t===r?_.createElement(kl,{key:`filter-${t}-${i.length}-input`,resourceType:o,searchParams:c,defaultValue:e,okText:"Save",onOk:e=>{const r=[...i];r[t]=e,n(_a(l.current,r)),a(-1)},onCancel:()=>a(-1)}):_.createElement(Cl,{key:`filter-${t}-${i.length}-display`,resourceType:o,searchParams:c,filter:e,onEdit:()=>a(t),onDelete:()=>n(Ka(l.current,t))}))),_.createElement(kl,{resourceType:o,searchParams:c,okText:"Add",onOk:function(e){n(Wa(l.current,e.code,e.operator,e.value))}})))),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{onClick:()=>e.onOk(l.current)},"OK")))}function Cl(e){const{filter:t}=e;return _.createElement("tr",null,_.createElement("td",null,pl(t.code)),_.createElement("td",null,dl(t.operator)),_.createElement("td",null,_.createElement(fl,{resourceType:e.resourceType,filter:t})),_.createElement("td",null,_.createElement(he,{compact:!0,variant:"outline",onClick:e.onEdit},"Edit"),_.createElement(he,{compact:!0,variant:"outline",onClick:e.onDelete},"Delete")))}function kl(e){const[t,n]=q(e.defaultValue??{}),r=j(t);r.current=t;const a=e.searchParams[t.code],l=a&&ml(a);return _.createElement("tr",null,_.createElement("td",null,_.createElement(Z,{"data-testid":"filter-field",defaultValue:r.current.code,onChange:e=>{return t=e.currentTarget.value,void n({...r.current,code:t});var t},data:Object.keys(e.searchParams).map((e=>({value:e,label:pl(e)})))})),_.createElement("td",null,l&&_.createElement(Z,{"data-testid":"filter-operation",defaultValue:t.operator,onChange:e=>{return t=e.currentTarget.value,void n({...r.current,operator:t});var t},data:["",...l.map((e=>({value:e,label:dl(e)})))]})),_.createElement("td",null,a&&t.operator&&_.createElement(El,{resourceType:e.resourceType,searchParam:a,defaultValue:t.value,onChange:function(e){n({...r.current,value:e})}})),_.createElement("td",null,t.code&&t.operator&&t.value&&_.createElement(he,{compact:!0,variant:"outline",onClick:()=>{e.onOk(r.current),n({})}},e.okText),e.onCancel&&_.createElement(he,{compact:!0,variant:"outline",onClick:e.onCancel},"Cancel")))}function bl(e){const[t,n]=q(e.defaultValue??"");if(!e.visible||!e.searchParam||!e.filter)return null;function r(){e.onOk({...e.filter,value:t})}return _.createElement(pe,{title:e.title,size:"xl",opened:e.visible,onClose:e.onCancel},_.createElement("div",{style:{width:500}},_.createElement(Sn,{onSubmit:r},_.createElement(El,{resourceType:e.resourceType,searchParam:e.searchParam,defaultValue:t,autoFocus:!0,onChange:n}))),_.createElement(he,{onClick:r},"OK"))}function xl(e){if(!e.searchParams)return null;function t(t){e.onChange(t)}return 1===e.searchParams.length?_.createElement(Tl,{search:e.search,searchParam:e.searchParams[0],onSort:function(n,r){t(cl(e.search,n.code,r))},onPrompt:function(t,n){e.onPrompt(t,{code:t.code,operator:n,value:""})},onChange:t,onClear:function(n){t(ja(e.search,n.code))}}):_.createElement(me.Dropdown,null,e.searchParams.map((e=>_.createElement(me.Item,{key:e.code},pl(e.code)))))}function Tl(e){switch(e.searchParam.type){case"date":return _.createElement(wl,{...e});case"number":case"quantity":return _.createElement(Sl,{...e});case"reference":return _.createElement(Al,{...e});case"string":case"token":case"uri":return _.createElement(Il,{...e});default:return _.createElement(_.Fragment,null,"Unknown search param type: ",e.searchParam.type)}}function wl(e){const{searchParam:t}=e,n=t.code;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(Gt,{size:14}),onClick:()=>e.onSort(t,!1)},"Sort Oldest to Newest"),_.createElement(me.Item,{icon:_.createElement(Jt,{size:14}),onClick:()=>e.onSort(t,!0)},"Sort Newest to Oldest"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT_EQUALS)},"Does not equal..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(qt,{size:14}),onClick:()=>e.onPrompt(t,P.ENDS_BEFORE)},"Before..."),_.createElement(me.Item,{icon:_.createElement(_t,{size:14}),onClick:()=>e.onPrompt(t,P.STARTS_AFTER)},"After..."),_.createElement(me.Item,{icon:_.createElement(Ct,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Between..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Ga(e.search,n))},"Tomorrow"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Qa(e.search,n))},"Today"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Ha(e.search,n))},"Yesterday"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Za(e.search,n))},"Next Month"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Xa(e.search,n))},"This Month"),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(Ya(e.search,n))},"Last Month"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(xt,{size:14}),onClick:()=>e.onChange(tl(e.search,n))},"Year to date"),_.createElement(Ml,{...e}))}function Sl(e){const{searchParam:t}=e;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(Gt,{size:14}),onClick:()=>e.onSort(t,!1)},"Sort Smallest to Largest"),_.createElement(me.Item,{icon:_.createElement(Jt,{size:14}),onClick:()=>e.onSort(t,!0)},"Sort Largest to Smallest"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT_EQUALS)},"Does not equal..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(_t,{size:14}),onClick:()=>e.onPrompt(t,P.GREATER_THAN)},"Greater than..."),_.createElement(me.Item,{icon:_.createElement(Qt,{size:14}),onClick:()=>e.onPrompt(t,P.GREATER_THAN_OR_EQUALS)},"Greater than or equal to..."),_.createElement(me.Item,{icon:_.createElement(qt,{size:14}),onClick:()=>e.onPrompt(t,P.LESS_THAN)},"Less than..."),_.createElement(me.Item,{icon:_.createElement(Qt,{size:14}),onClick:()=>e.onPrompt(t,P.LESS_THAN_OR_EQUALS)},"Less than or equal to..."),_.createElement(Ml,{...e}))}function Al(e){const{searchParam:t}=e;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT)},"Does not equal..."),_.createElement(Ml,{...e}))}function Il(e){const{searchParam:t}=e;return _.createElement(me.Dropdown,null,_.createElement(me.Item,{icon:_.createElement(Gt,{size:14}),onClick:()=>e.onSort(t,!1)},"Sort A to Z"),_.createElement(me.Item,{icon:_.createElement(Jt,{size:14}),onClick:()=>e.onSort(t,!0)},"Sort Z to A"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(zt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Equals..."),_.createElement(me.Item,{icon:_.createElement(Nt,{size:14}),onClick:()=>e.onPrompt(t,P.NOT)},"Does not equal..."),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(bt,{size:14}),onClick:()=>e.onPrompt(t,P.CONTAINS)},"Contains..."),_.createElement(me.Item,{icon:_.createElement(kt,{size:14}),onClick:()=>e.onPrompt(t,P.EQUALS)},"Does not contain..."),_.createElement(Ml,{...e}))}function Ml(e){const{searchParam:t}=e,n=t.code;return _.createElement(_.Fragment,null,_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(vt,{size:14}),onClick:()=>e.onChange(al(e.search,n))},"Missing"),_.createElement(me.Item,{icon:_.createElement(Et,{size:14}),onClick:()=>e.onChange(al(e.search,n,!1))},"Not missing"),_.createElement(me.Divider,null),_.createElement(me.Item,{icon:_.createElement(tn,{size:14}),onClick:()=>e.onClear(t)},"Clear filters"))}function Dl(e,t){if("_lastUpdated"===t)return{name:"_lastUpdated",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_lastUpdated",name:"_lastUpdated",type:"date",expression:"Resource.meta.lastUpdated"}]};if("meta.versionId"===t)return{name:"meta.versionId",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_versionId",name:"_versionId",type:"token",expression:"Resource.meta.versionId"}]};const n=w.types[e],r=n.properties[t],a=n.searchParams?.[t.toLowerCase()];if(r&&a)return{name:t,elementDefinition:r,searchParams:[a]};if(r){let a;if(n.searchParams){const r=`${e}.${t.replaceAll("[x]","")}`;a=Object.values(n.searchParams).filter((e=>e.expression?.includes(r))),0===a.length&&(a=void 0)}return{name:t,elementDefinition:r,searchParams:a}}if(a){return{name:t,elementDefinition:O(e,a).elementDefinition,searchParams:[a]}}return{name:t}}function Vl(e){return _.createElement(pe,{title:"Export",closeButtonProps:{"aria-label":"Close"},opened:e.visible,onClose:e.onCancel},_.createElement(ze,{display:"flex",sx:{justifyContent:"space-between"}},e.exportCsv&&_.createElement(Rl,{text:"CSV",exportLogic:e.exportCsv,onCancel:e.onCancel}),e.exportTransactionBundle&&_.createElement(Rl,{text:"Transaction Bundle",exportLogic:e.exportTransactionBundle,onCancel:e.onCancel})),_.createElement(ie,{sx:{marginTop:"10px",marginLeft:"2px"}},"Limited to 1000 records"))}function Rl(e){return _.createElement(he,{onClick:()=>{e.exportLogic(),e.onCancel()}},`Export as ${e.text}`)}class Pl extends Event{constructor(e){super("change"),this.definition=e}}class Nl extends Event{constructor(e){super("load"),this.response=e}}class zl extends Event{constructor(e,t){super("click"),this.resource=e,this.browserEvent=t}}const Ol=ce((e=>({root:{maxWidth:"100%",overflow:"auto",textAlign:"left",marginBottom:"20px"},table:{cursor:"pointer"},tr:{"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[7]:e.colors.gray[0]}},th:{padding:"0 !important"},control:{width:"100%",padding:`${e.spacing.xs} ${e.spacing.md}`,"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[6]:e.colors.gray[0]}},icon:{width:21,height:21,borderRadius:21}})));function $l(e){const{classes:t}=Ol(),n=et(),[r,a]=q(!1),[l,o]=q(),{search:c,onLoad:i}=e,[s,u]=q({selected:{},fieldEditorVisible:!1,filterEditorVisible:!1,exportDialogVisible:!1,filterDialogVisible:!1}),m=j(s);function d(t){e.onChange&&e.onChange(new Pl(t))}function p(t,n){on(t.target)||2!==t.button&&(ln(t),1!==t.button&&e.onClick&&e.onClick(new zl(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new zl(n,t)))}m.current=s,B((()=>{o(void 0),n.search(c.resourceType,L({...c,total:"accurate",fields:void 0})).then((e=>{u({...m.current,searchResponse:e}),i&&i(new Nl(e))})).catch((e=>{u({...m.current,searchResponse:void 0}),o(e)}))}),[n,c,i]),B((()=>{a(!1),n.requestSchema(e.search.resourceType).then((()=>a(!0))).catch(console.log)}),[n,e.search.resourceType]);if(!(r&&w?.types?.[e.search.resourceType]))return _.createElement(ne,{style:{width:"100%",height:"100%"}},_.createElement(re,null));const h=e.checkboxesEnabled,g=function(e){const t=e.resourceType,n=[];for(const r of e.fields||["id","_lastUpdated"])n.push(Dl(t,r));return n}(c),f=c.resourceType,E=s.searchResponse,v=E?.entry,y=v?.map((e=>e.resource)),C="subtle",k="gray",b=16,x=window.innerWidth<768;return _.createElement("div",{className:t.root,"data-testid":"search-control"},!e.hideToolbar&&_.createElement(X,{position:"apart",mb:"xl"},_.createElement(X,{spacing:2},_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(Dt,{size:b}),onClick:()=>u({...m.current,fieldEditorVisible:!0})},"Fields"),_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(Lt,{size:b}),onClick:()=>u({...m.current,filterEditorVisible:!0})},"Filters"),e.onNew&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement($t,{size:b}),onClick:e.onNew},"New..."),!x&&!!(e.onExport||e.onExportCsv||e.onExportTransactionBundle)&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(Zt,{size:b}),onClick:e.onExport?e.onExport:()=>u({...m.current,exportDialogVisible:!0})},"Export..."),!x&&e.onDelete&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(en,{size:b}),onClick:()=>e.onDelete(Object.keys(s.selected))},"Delete..."),!x&&e.onBulk&&_.createElement(he,{compact:!0,variant:C,color:k,leftIcon:_.createElement(yt,{size:b}),onClick:()=>e.onBulk(Object.keys(s.selected))},"Bulk...")),E&&_.createElement(ie,{size:"xs",color:"dimmed"},function(e,t){return Math.min(t,(e.offset??0)+1)}(c,E.total),"-",function(e,t){return Math.min(t,((e.offset??0)+1)*(e.count??N))}(c,E.total)," of"," ",E.total?.toLocaleString())),_.createElement(Oe,{className:t.table},_.createElement("thead",null,_.createElement("tr",null,h&&_.createElement("th",null,_.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){const e=m.current;if(!e.searchResponse?.entry||0===e.searchResponse.entry.length)return!1;for(const t of e.searchResponse.entry)if(t.resource?.id&&!e.selected[t.resource.id])return!1;return!0}(),onChange:e=>function(e){e.stopPropagation();const t=e.target.checked,n={},r=m.current?.searchResponse;t&&r?.entry&&r.entry.forEach((e=>{e.resource?.id&&(n[e.resource.id]=!0)})),u({...m.current,selected:n})}(e)})),g.map((n=>_.createElement("th",{key:n.name},_.createElement(me,{shadow:"md",width:240,position:"bottom-end"},_.createElement(me.Target,null,_.createElement(ue,{className:t.control},_.createElement(X,{position:"apart",noWrap:!0},_.createElement(ie,{weight:500,size:"sm"},pl(n.name)),_.createElement(ne,{className:t.icon},_.createElement(gt,{size:14,stroke:1.5}))))),_.createElement(xl,{search:e.search,searchParams:n.searchParams,onPrompt:(e,t)=>{u({...m.current,filterDialogVisible:!0,filterDialogSearchParam:e,filterDialogFilter:t})},onChange:e=>{d(e)}})))))),!e.hideFilters&&_.createElement("tr",null,h&&_.createElement("th",null),g.map((t=>_.createElement("th",{key:t.name},t.searchParams&&_.createElement(Fl,{resourceType:f,searchParams:t.searchParams,filters:e.search.filters})))))),_.createElement("tbody",null,y?.map((e=>e&&_.createElement("tr",{key:e.id,className:t.tr,"data-testid":"search-control-row",onClick:t=>p(t,e),onAuxClick:t=>p(t,e)},h&&_.createElement("td",null,_.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!s.selected[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r={...m.current.selected};n?r[t]=!0:delete r[t],u({...m.current,selected:r})}(t,e.id)})),g.map((t=>_.createElement("td",{key:t.name},hl(e,t))))))))),0===y?.length&&_.createElement(Zr,null,_.createElement(ne,{style:{height:150}},_.createElement(ie,{size:"xl",color:"dimmed"},"No results"))),void 0!==E?.total&&E.total>0&&_.createElement(ne,{m:"md",p:"md"},_.createElement($e,{value:Ul(c),total:_l(c,E.total),onChange:e=>d(ol(c,e)),getControlProps:e=>{switch(e){case"previous":return{"aria-label":"Previous page"};case"next":return{"aria-label":"Next page"};default:return{}}}})),l&&_.createElement("div",{"data-testid":"search-error"},_.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(l,void 0,2))),_.createElement(gl,{search:e.search,visible:m.current.fieldEditorVisible,onOk:e=>{d(e),u({...m.current,fieldEditorVisible:!1})},onCancel:()=>{u({...m.current,fieldEditorVisible:!1})}}),_.createElement(yl,{search:e.search,visible:m.current.filterEditorVisible,onOk:e=>{d(e),u({...m.current,filterEditorVisible:!1})},onCancel:()=>{u({...m.current,filterEditorVisible:!1})}}),_.createElement(Vl,{visible:m.current.exportDialogVisible,exportCsv:e.onExportCsv,exportTransactionBundle:e.onExportTransactionBundle,onCancel:()=>{u({...m.current,exportDialogVisible:!1})}}),_.createElement(bl,{key:s.filterDialogSearchParam?.code,visible:m.current.filterDialogVisible,title:"Input",resourceType:f,searchParam:s.filterDialogSearchParam,filter:s.filterDialogFilter,defaultValue:"",onOk:t=>{d(Wa(e.search,t.code,t.operator,t.value)),u({...m.current,filterDialogVisible:!1})},onCancel:()=>{u({...m.current,filterDialogVisible:!1})}}))}const Ll=_.memo($l);function Fl(e){const t=(e.filters??[]).filter((t=>e.searchParams.find((e=>e.code===t.code))));return 0===t.length?_.createElement("span",null,"no filters"):_.createElement(_.Fragment,null,t.map(((n,r)=>_.createElement("div",{key:`filter-${r}-${t.length}`},dl(n.operator)," ",_.createElement(fl,{resourceType:e.resourceType,filter:n})))))}function Ul(e){return Math.floor((e.offset||0)/(e.count||N))+1}function _l(e,t){const n=e.count||N;return Math.ceil(t/n)}function ql(e){const t=et(),[n,r]=q(),[a,l]=q(),{query:o,fields:i}=e,[s,u]=q(),[m,d]=q({}),p=j();p.current=s;const h=j({});function g(t,n){on(t.target)||(ln(t),1!==t.button&&e.onClick&&e.onClick(new zl(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new zl(n,t)))}h.current=m,B((()=>{l(void 0),t.graphql(o).then(u).catch((e=>l(c(e))))}),[t,o]),B((()=>{t.requestSchema(e.resourceType).then((e=>{r({...e})})).catch(console.log)}),[t,e.resourceType]);const f=n?.types?.[e.resourceType];if(!f)return _.createElement(re,null);const E=e.checkboxesEnabled;return _.createElement("div",{onContextMenu:e=>ln(e),"data-testid":"search-control"},_.createElement(Oe,null,_.createElement("thead",null,_.createElement("tr",null,E&&_.createElement("th",null,_.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){const e=p.current?.data?.ResourceList;if(!e||0===e.length)return!1;for(const t of e)if(t?.id&&!h.current[t.id])return!1;return!0}(),onChange:e=>function(e){e.stopPropagation();const t=e.target.checked,n={},r=p.current?.data?.ResourceList;t&&r&&r.forEach((e=>{e?.id&&(n[e.id]=!0)})),d(n)}(e)})),i.map((e=>_.createElement("th",{key:e.name},e.name))))),_.createElement("tbody",null,s?.data?.ResourceList?.map((e=>e&&_.createElement("tr",{key:e.id,"data-testid":"search-control-row",onClick:t=>g(t,e),onAuxClick:t=>g(t,e)},E&&_.createElement("td",null,_.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!m[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r={...h.current};n?r[t]=!0:delete r[t],d(r)}(t,e.id)})),i.map((t=>_.createElement("td",{key:t.name},_.createElement(La,{propertyType:t.propertyType,path:t.fhirPath,resource:e}))))))))),0===s?.data?.ResourceList?.length&&_.createElement("div",{"data-testid":"empty-search"},"No results"),a&&_.createElement("div",{"data-testid":"search-error"},_.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(a,void 0,2))),e.onBulk&&_.createElement(he,{onClick:()=>e.onBulk(Object.keys(h.current))},"Bulk..."))}const jl=_.memo(ql);function Wl(e){return _.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 491 491",style:{width:e.size,height:e.size}},_.createElement("title",null,"Medplum Logo"),_.createElement("path",{fill:e.fill||"#ad7136",d:"M282 67c6-16 16-29 29-40L289 0c-22 17-37 41-43 68l17 23 19-24z"}),_.createElement("path",{fill:e.fill||"#946af9",d:"M311 63c-17 0-33 4-48 11-16-7-32-11-49-11-87 0-158 96-158 214s71 214 158 214c17 0 33-4 49-11 15 7 31 11 48 11 87 0 158-96 158-214S398 63 311 63z"}),_.createElement("path",{fill:e.fill||"#7857c5",d:"M231 489l-17 2c-87 0-158-96-158-214S127 63 214 63l17 1c-39 12-70 102-70 213s31 201 70 212z"}),_.createElement("path",{fill:e.fill||"#40bc26",d:"M207 220a176 176 0 01-177 43A176 176 0 01251 43l1 5c17 59 2 125-45 172z"}),_.createElement("path",{fill:e.fill||"#33961e",d:"M252 48A421 421 0 0057 270l-27-7A176 176 0 01251 43l1 5z"}))}function Bl(e){const t=e.outcome?.issue||e.issues;return t?_.createElement(te,{icon:_.createElement(ft,{size:16}),color:"red"},t.map((e=>_.createElement("div",{"data-testid":"text-field-error",key:e.details?.text},e.details?.text)))):null}function Kl(e){const n=G(((e,t,n)=>{const r=`${t}/${n}`,a=100;return Promise.allSettled([e.readHistory("Patient",n),e.search("Communication",{subject:r,_count:a}),e.search("Device",{patient:r,_count:a}),e.search("DeviceRequest",{patient:r,_count:a}),e.search("DiagnosticReport",{subject:r,_count:a}),e.search("Media",{subject:r,_count:a}),e.search("ServiceRequest",{subject:r,_count:a}),e.search("Task",{subject:r,_count:a})])}),[]);return _.createElement(Sa,{value:e.patient,loadTimelineResources:n,createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",subject:t(e),sender:t(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",subject:t(e),operator:t(n),issued:(new Date).toISOString(),content:r})})}const Hl=ce((e=>({section:{position:"relative",margin:"4px 4px 8px 0",padding:"6px 12px 16px 6px",border:`1.5px solid ${e.colors.gray[1]}`,borderRadius:e.radius.sm,transition:"all 0.1s"},hovering:{border:`1.5px solid ${e.colors.blue[5]}`},editing:{border:`1.5px solid ${e.colors.gray[1]}`,borderLeft:`4px solid ${e.colors.blue[5]}`},bottomActions:{position:"absolute",right:4,bottom:0,fontSize:e.fontSizes.xs,"& a":{marginLeft:8}}})));function Ql(e){const t=et(),n=un(e.value),[r,a]=q(void 0),[l,o]=q(),[c,i]=q(),[s,u]=q();function m(){i(void 0)}function d(){o(void 0)}const p=j();if(p.current=s,B((()=>{t.requestSchema("PlanDefinition").then(a).catch(console.log)}),[t]),B((()=>{var e;return u((e=n??{resourceType:"PlanDefinition"},{...e,action:lo(e.action)})),document.addEventListener("mouseover",m),document.addEventListener("click",d),()=>{document.removeEventListener("mouseover",m),document.removeEventListener("click",d)}}),[n]),!r||!s)return null;function h(e,t){u({...p.current,[e]:t})}return _.createElement("div",null,_.createElement(Sn,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(s)},_.createElement(ee,{label:"Plan Title",defaultValue:s.title,onChange:e=>h("title",e.currentTarget.value)}),_.createElement(Gl,{actions:s.action||[],selectedKey:l,setSelectedKey:o,hoverKey:c,setHoverKey:i,onChange:e=>h("action",e)}),_.createElement(he,{type:"submit"},"Save")))}function Gl(e){const{classes:t}=Hl(),n=j();function r(t){e.onChange(n.current.map((e=>e.id===t.id?t:e)))}return n.current=e.actions,_.createElement("div",{className:t.section},e.actions.map((t=>_.createElement("div",{key:t.id},_.createElement(Jl,{action:t,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:r,onRemove:()=>{return r=t,void e.onChange(n.current.filter((e=>e!==r)));var r}})))),_.createElement("div",{className:t.bottomActions},_.createElement(ae,{href:"#",onClick:t=>{var r;ln(t),r={id:ao()},e.onChange([...n.current,r]),e.setSelectedKey(r.id)}},"Add action")))}function Jl(e){const{classes:t,cx:n}=Hl(),{action:r}=e,a=function(e){if(e.definitionCanonical?.startsWith("Schedule"))return"appointment";if(e.definitionCanonical?.startsWith("Questionnaire/"))return"questionnaire";if(e.definitionCanonical?.startsWith("ActivityDefinition/"))return"task";return}(r),l=e.selectedKey===e.action.id,o=e.hoverKey===e.action.id;const c=n(t.section,{[t.editing]:l,[t.hovering]:o&&!l});return _.createElement("div",{"data-testid":r.id,className:c,onClick:function(t){t.stopPropagation(),e.setSelectedKey(e.action.id)},onMouseOver:function(t){ln(t),e.setHoverKey(e.action.id)}},l?_.createElement(Zl,{action:r,actionType:a,onChange:e.onChange,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onRemove:e.onRemove}):_.createElement(Xl,{action:r,actionType:a}),_.createElement("div",{className:t.bottomActions},_.createElement(ae,{href:"#",onClick:t=>{t.preventDefault(),e.onRemove()}},"Remove")))}const Yl={path:"PlanDefinition.action.timing[x]",min:0,max:"1",type:[{code:"dateTime"},{code:"Period"},{code:"Range"},{code:"Timing"}]};function Xl(e){const{action:t,actionType:n}=e,[r,a]=no(t);return _.createElement("div",null,_.createElement("div",null,t.title||"Untitled"," ",n&&`(${n})`),t.definitionCanonical&&_.createElement("div",null,_.createElement(ar,{value:{reference:t.definitionCanonical}})),r&&_.createElement("div",null,_.createElement(or,{property:Yl,propertyType:a,value:r})))}function Zl(e){const{action:t}=e,[n,r]=q(e.actionType);function a(n,r){e.onChange({...t,[n]:r})}return _.createElement(de,{spacing:"xl"},_.createElement(ee,{name:`actionTitle-${t.id}`,label:"Title",defaultValue:t.title,onChange:e=>a("title",e.currentTarget.value)}),_.createElement(ee,{name:`actionDescription-${t.id}`,label:"Description",defaultValue:t.description,onChange:e=>a("description",e.currentTarget.value)}),_.createElement(Z,{label:"Type of Action",description:"The type of the action to be performed.",name:`actionType-${t.id}`,defaultValue:n,onChange:e=>r(e.currentTarget.value),data:["","appointment","lab","questionnaire","task"]}),t.action&&t.action.length>0&&_.createElement(Gl,{actions:t.action,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:e=>a("action",e)}),(()=>{switch(n){case"appointment":return _.createElement(eo,{title:"Appointment",description:"The subject must schedule an appointment from the schedule.",resourceType:"Schedule",action:t,onChange:e.onChange});case"lab":return _.createElement(eo,{title:"Lab",description:"The subject must complete the following lab panel.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});case"questionnaire":return _.createElement(eo,{title:"Questionnaire",description:"The subject must complete the selected questionnaire.",resourceType:"Questionnaire",action:t,onChange:e.onChange});case"task":return _.createElement(eo,{title:"Task",description:"The subject must complete the following task.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});default:return null}})(),_.createElement(pr,{title:"Timing",description:"When the action should take place."},_.createElement(to,{name:"timing-"+t.id,action:t,onChange:e.onChange})))}function eo(e){const{id:t,definitionCanonical:n}=e.action,r=n?.startsWith(e.resourceType+"/")?{reference:n}:void 0;return _.createElement(Nr,{name:t,resourceType:e.resourceType,defaultValue:r,loadOnFocus:!0,onChange:t=>{t?e.onChange({...e.action,definitionCanonical:u(t)}):e.onChange({...e.action,definitionCanonical:void 0})}})}function to(e){const t=e.action,n="timing",[r,a]=no(t);return _.createElement(qr,{property:Yl,name:"timing[x]",defaultValue:r,defaultPropertyType:a,onChange:(r,a)=>{e.onChange(gr(t,n,a??n,Yl,r))}})}function no(e){return cr({type:"PlanDefinitionAction",value:e},"timing")}let ro=1;function ao(e){if(e){if(e.startsWith("id-")){const t=parseInt(e.substring(3));isNaN(t)||(ro=Math.max(ro,t+1))}return e}return"id-"+ro++}function lo(e){if(e)return e.map((e=>({...e,id:ao(e.id),action:lo(e.action)})))}var oo;function co(e){return"choice"===e.type||"open-choice"===e.type}function io(e){const n=et(),r=n.getProfile(),[a,l]=q(),o=un(e.questionnaire),[c,i]=q(),[s,m]=q({});return B((()=>{n.requestSchema("Questionnaire").then((()=>n.requestSchema("QuestionnaireResponse"))).then(l).catch(console.log)}),[n]),B((()=>{i(o?function(e){const t={resourceType:"QuestionnaireResponse",questionnaire:u(e),item:go(e.item)};return t}(o):void 0)}),[o]),a&&o?_.createElement(Sn,{testid:"questionnaire-form",onSubmit:()=>{e.onSubmit&&c&&e.onSubmit({...c,questionnaire:u(o),subject:e.subject,source:t(r),authored:(new Date).toISOString(),status:"completed"})}},o.title&&_.createElement(Ve,null,o.title),o.item&&_.createElement(so,{items:o.item,answers:s,onChange:function(e){const t={resourceType:"QuestionnaireResponse",item:e};i(t),m(F(t))}}),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},e.submitButtonText||"OK"))):null}function so(e){const[t,n]=q(go(e.items));function r(r,a){const l=t.slice();l[r]=a,n(l),e.onChange(l)}return _.createElement(de,null,e.items.map(((t,n)=>{if(!vo(t,e.answers))return null;if(t.type===oo.display)return _.createElement("p",{key:t.linkId},t.text);if(t.type===oo.group)return _.createElement(uo,{key:t.linkId,item:t,answers:e.answers,onChange:e=>r(n,e)});if(t.type===oo.boolean){const e=t.initial&&t.initial.length>0?t.initial[0]:void 0;return _.createElement(sr,{key:t.linkId,title:t.text,htmlFor:t.linkId},_.createElement(Ae,{id:t.linkId,name:t.linkId,defaultChecked:e?.valueBoolean,onChange:e=>r(n,{linkId:t.linkId,text:t.text,answer:[{valueBoolean:e.currentTarget.checked}]})}))}return _.createElement(pr,{key:t.linkId,htmlFor:t.linkId,title:t.text||""},_.createElement(uo,{item:t,answers:e.answers,onChange:e=>r(n,e)}))})))}function uo(e){const t=e.item,n=t.type;if(!n)return null;const r=t.linkId;if(!r)return null;const a=t.initial&&t.initial.length>0?t.initial[0]:void 0;function l(n){e.onChange({linkId:t.linkId,text:t.text,answer:[n]})}switch(n){case oo.group:return _.createElement("div",null,_.createElement("h3",null,t.text),t.item&&_.createElement(so,{items:t.item,answers:e.answers,onChange:function(n){e.onChange({linkId:t.linkId,text:t.text,item:n})}}));case oo.boolean:return _.createElement(Ae,{id:r,name:r,defaultChecked:a?.valueBoolean,onChange:e=>l({valueBoolean:e.currentTarget.checked})});case oo.decimal:return _.createElement(ee,{type:"number",step:"any",id:r,name:r,defaultValue:a?.valueDecimal,onChange:e=>l({valueDecimal:e.currentTarget.valueAsNumber})});case oo.integer:return _.createElement(ee,{type:"number",step:1,id:r,name:r,defaultValue:a?.valueInteger,onChange:e=>l({valueInteger:e.currentTarget.valueAsNumber})});case oo.date:return _.createElement(ee,{type:"date",id:r,name:r,defaultValue:a?.valueDate,onChange:e=>l({valueDate:e.currentTarget.value})});case oo.dateTime:return _.createElement(Cr,{name:r,defaultValue:a?.valueDateTime,onChange:e=>l({valueDateTime:e})});case oo.time:return _.createElement(ee,{type:"time",id:r,name:r,defaultValue:a?.valueTime,onChange:e=>l({valueTime:e.currentTarget.value})});case oo.string:case oo.url:return _.createElement(ee,{id:r,name:r,defaultValue:a?.valueString,onChange:e=>l({valueString:e.currentTarget.value})});case oo.text:return _.createElement(Se,{id:r,name:r,defaultValue:a?.valueString,onChange:e=>l({valueString:e.currentTarget.value})});case oo.attachment:return _.createElement(Wn,{name:r,defaultValue:a?.valueAttachment,onChange:e=>l({valueAttachment:e})});case oo.reference:return _.createElement(Or,{name:r,defaultValue:a?.valueReference,onChange:e=>l({valueReference:e})});case oo.quantity:return _.createElement(Mr,{name:r,defaultValue:a?.valueQuantity,onChange:e=>l({valueQuantity:e}),disableWheel:!0});case oo.choice:case oo.openChoice:return function(e){return!!e.extension?.some((e=>"http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"===e.url&&"drop-down"===e.valueCodeableConcept?.coding?.[0]?.code))}(t)?_.createElement(mo,{name:r,item:t,initial:a,onChangeAnswer:l}):_.createElement(ho,{name:r,item:t,initial:a,onChangeAnswer:l})}return null}function mo(e){const{name:t,item:n,initial:r}=e,a=T({type:"QuestionnaireItemInitial",value:r},"value"),l=[""];if(n.answerOption)for(const e of n.answerOption){const t=T({type:"QuestionnaireItemAnswerOption",value:e},"value");l.push(po(t))}return _.createElement(Z,{id:t,name:t,onChange:t=>{const r=t.currentTarget.selectedIndex;if(0===r)return void e.onChangeAnswer({});const a=n.answerOption[r-1],l=T({type:"QuestionnaireItemAnswerOption",value:a},"value"),o="value"+A(l.type);e.onChangeAnswer({[o]:l.value})},defaultValue:po(a),data:l})}function po(e){if(e)return"CodeableConcept"===e.type?e.value.coding[0].display:"Coding"===e.type?e.value.display:e.value.toString()}function ho(e){const{name:t,item:n,initial:r,onChangeAnswer:a}=e,l=w.types.QuestionnaireItemAnswerOption.properties["value[x]"],o=T({type:"QuestionnaireItemInitial",value:r},"value"),c=[];let i;if(n.answerOption)for(let e=0;e<n.answerOption.length;e++){const r=n.answerOption[e],a=`${t}-option-${e}`,l=T({type:"QuestionnaireItemAnswerOption",value:r},"value");o&&v(l)===v(o)&&(i=a),c.push([a,l])}return _.createElement(Le.Group,{name:t,defaultValue:i,onChange:e=>{const t=c.find((t=>t[0]===e));if(t){const e=t[1],n="value"+A(e.type);a({[n]:e.value})}}},c.map((([e,t])=>_.createElement(Le,{key:e,id:e,value:e,label:_.createElement(or,{property:l,propertyType:t.type,value:t.value})}))))}function go(e){return e?.map(fo)??[]}function fo(e){return{linkId:e.linkId,text:e.text,item:go(e.item),answer:e.initial?.map(Eo)??[]}}function Eo(e){return{...e}}function vo(e,t){if(!e.enableWhen)return!0;const n=e.enableBehavior||"any";for(const r of e.enableWhen){const e=T({type:"QuestionnaireItemEnableWhen",value:r},"answer[x]"),a=T({type:"QuestionnaireResponseItemAnswer",value:t[r.question]},"value[x]"),l=o(e,a);if("any"===n&&l)return!0;if("all"===n&&!l)return!1}return"any"!==n}!function(e){e.group="group",e.display="display",e.question="question",e.boolean="boolean",e.decimal="decimal",e.integer="integer",e.date="date",e.dateTime="dateTime",e.time="time",e.string="string",e.text="text",e.url="url",e.choice="choice",e.openChoice="open-choice",e.attachment="attachment",e.reference="reference",e.quantity="quantity"}(oo||(oo={}));const yo=ce((e=>({section:{position:"relative",margin:"4px 4px 8px 0",padding:"6px 12px 16px 6px",border:`1.5px solid ${e.colors.gray[1]}`,borderRadius:e.radius.sm,transition:"all 0.1s"},hovering:{border:`1.5px solid ${e.colors.blue[5]}`},editing:{border:`1.5px solid ${e.colors.gray[1]}`,borderLeft:`4px solid ${e.colors.blue[5]}`},questionBody:{maxWidth:600},topActions:{position:"absolute",right:4,top:1,padding:4,color:e.colors.gray[5],fontSize:e.fontSizes.xs},bottomActions:{position:"absolute",right:4,bottom:0,fontSize:e.fontSizes.xs,"& a":{marginLeft:8}},linkIdInput:{width:100,marginBottom:4},typeSelect:{width:100}})));function Co(e){const t=et(),n=un(e.questionnaire),[r,a]=q(),[l,o]=q(),[c,i]=q(),[s,u]=q();function m(){u(void 0)}function d(){i(void 0)}return B((()=>{t.requestSchema("Questionnaire").then(a).catch(console.log)}),[t]),B((()=>{var e;return o((e=n??{resourceType:"Questionnaire"},{...e,id:e.id||So(),item:Ao(e.item)})),document.addEventListener("mouseover",m),document.addEventListener("click",d),()=>{document.removeEventListener("mouseover",m),document.removeEventListener("click",d)}}),[n]),r&&l?_.createElement("div",null,_.createElement(Sn,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(l)},_.createElement(ko,{item:l,selectedKey:c,setSelectedKey:i,hoverKey:s,setHoverKey:u,onChange:o}),_.createElement(he,{type:"submit"},"Save"))):null}function ko(e){const{classes:t,cx:n}=yo(),r=e.item,l=e.item,o=a(e.item),c=o||l.type===oo.group,i=l.linkId??"[untitled]",s=e.selectedKey===e.item.id,u=e.hoverKey===e.item.id,m=j();function d(t){const n=m.current;e.onChange({...n,item:n.item?.map((e=>e.id===t.id?t:e))})}function p(t){e.onChange({...e.item,item:[...e.item?.item??[],t]})}function h(t,n){e.onChange({...m.current,[t]:n})}m.current=e.item;const g=n(t.section,{[t.editing]:s,[t.hovering]:u&&!s});return _.createElement("div",{"data-testid":l.linkId,className:g,onClick:function(t){ln(t),e.setSelectedKey(e.item.id)},onMouseOver:function(t){ln(t),e.setHoverKey(e.item.id)}},_.createElement("div",{className:t.questionBody},s?_.createElement(_.Fragment,null,o&&_.createElement(ee,{size:"xl",defaultValue:r.title,onChange:e=>h("title",e.currentTarget.value)}),!o&&_.createElement(Se,{autosize:!0,minRows:2,defaultValue:l.text,onChange:e=>h("text",e.currentTarget.value)}),co(l)&&_.createElement(bo,{options:l.answerOption,onChange:e=>h("answerOption",e)})):_.createElement(_.Fragment,null,r.title&&_.createElement(Ve,null,r.title),l.text&&_.createElement("div",null,l.text),!c&&_.createElement(uo,{item:l,answers:{},onChange:()=>{}}))),l.item&&l.item.map((t=>_.createElement("div",{key:t.id},_.createElement(ko,{item:t,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:d,onRemove:()=>{return n=t,void e.onChange({...e.item,item:e.item?.item?.filter((e=>e!==n))});var n}})))),!c&&_.createElement("div",{className:t.topActions},s?_.createElement(_.Fragment,null,_.createElement(ee,{size:"xs",className:t.linkIdInput,defaultValue:l.linkId,onChange:e=>h("linkId",e.currentTarget.value)}),!c&&_.createElement(Z,{size:"xs",className:t.typeSelect,defaultValue:l.type,onChange:e=>h("type",e.currentTarget.value),data:[{value:"display",label:"Display"},{value:"boolean",label:"Boolean"},{value:"decimal",label:"Decimal"},{value:"integer",label:"Integer"},{value:"date",label:"Date"},{value:"dateTime",label:"Date/Time"},{value:"time",label:"Time"},{value:"string",label:"String"},{value:"text",label:"Text"},{value:"url",label:"URL"},{value:"choice",label:"Choice"},{value:"open-choice",label:"Open Choice"},{value:"attachment",label:"Attachment"},{value:"reference",label:"Reference"},{value:"quantity",label:"Quantity"}]})):_.createElement("div",null,i)),_.createElement("div",{className:t.bottomActions},c&&_.createElement(_.Fragment,null,_.createElement(ae,{href:"#",onClick:e=>{e.preventDefault(),p({id:So(),linkId:wo("q"),type:"string",text:"Question"})}},"Add item"),_.createElement(ae,{href:"#",onClick:e=>{e.preventDefault(),p({id:So(),linkId:wo("g"),type:"group",text:"Group"})}},"Add group")),s&&!o&&_.createElement(ae,{href:"#",onClick:t=>{t.preventDefault(),e.onRemove&&e.onRemove()}},"Remove")))}function bo(e){const t=w.types.QuestionnaireItemAnswerOption.properties["value[x]"],n=e.options??[];return _.createElement("div",null,n.map((r=>{const[a,l]=cr({type:"QuestionnaireItemAnswerOption",value:r},"value");return _.createElement("div",{key:r.id,style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"80%"}},_.createElement("div",null,_.createElement(qr,{key:r.id,name:"value[x]",property:t,defaultPropertyType:l,defaultValue:a,onChange:(t,a)=>{const l=[...n],o=l.findIndex((e=>e.id===r.id));l[o]={id:r.id,[a]:t},e.onChange(l)}})),_.createElement("div",null,_.createElement(ae,{href:"#",onClick:t=>{ln(t),e.onChange(n.filter((e=>e.id!==r.id)))}},"Remove")))})),_.createElement(ae,{href:"#",onClick:t=>{ln(t),e.onChange([...n,{id:So()}])}},"Add choice"))}let xo=1,To=1;function wo(e){return e+xo++}function So(){return"id-"+To++}function Ao(e){if(e)return e.forEach((e=>{e.id?.match(/^id-\d+$/)&&(To=Math.max(To,parseInt(e.id.substring(3))+1)),e.linkId?.match(/^q\d+$/)&&(xo=Math.max(xo,parseInt(e.linkId.substring(1))+1))})),e.map((e=>({...e,id:e.id||So(),item:Ao(e.item),answerOption:Io(e.answerOption)})))}function Io(e){if(e)return e.map((e=>({...e,id:e.id||So()})))}const Mo=ce((e=>({section:{position:"relative",margin:"4px 4px 8px 0",padding:"6px 12px 16px 6px",border:`1.5px solid ${e.colors.gray[3]}`,borderRadius:e.radius.sm,transition:"all 0.1s"}}))),Do=["gender","age","gestationalAge","context","appliesTo"],Vo={definition:{resourceType:"ObservationDefinition"},onSubmit:()=>{}};function Ro(e){const t=(e=Object.assign(Vo,e)).definition,[n,r]=q([]),[a,l]=q(1),[o,c]=q(1);return B((()=>{const e=function(e,t){const n=e.qualifiedInterval||[];let r=Math.max(...n.map((e=>{const t=parseInt(e.id?.substring(3)||"");return isNaN(t)?Number.NEGATIVE_INFINITY:t})))+1;Number.isFinite(r)||(r=1);return e={...e,qualifiedInterval:n.map((e=>({...e,id:e.id||"id-"+r++})))},t(r),e}(t,c);r(function(e,t){let n=1;const r={};for(const t of e){const e=zo(t);e in r||(r[e]={id:"group-id-"+n++,filters:Object.fromEntries(Do.map((e=>[e,t[e]]))),intervals:[]}),r[e].intervals.push(t)}return t(n),Object.values(r)}(e.qualifiedInterval||[],l))}),[t]),_.createElement(Sn,{testid:"reference-range-editor",onSubmit:function(){const r=n.flatMap((e=>e.intervals)).filter((e=>!function(e){return void 0===e.range?.low?.value&&void 0===e.range?.high?.value}(e)));e.onSubmit({...t,qualifiedInterval:r})}},_.createElement(de,null,n.map((e=>{return _.createElement(Po,{unit:(n=t.quantitativeDetails?.unit,n&&(U(n,"http://unitsofmeasure.org")||n.text)),onChange:s,onAdd:u,onRemove:m,onRemoveGroup:i,key:`group-${e.id}`,intervalGroup:e});var n}))),_.createElement(Ce,{title:"Add Group",size:"sm",onClick:e=>{var t;ln(e),t={id:`group-id-${a}`,filters:{},intervals:[]},r((e=>[...e,t])),l((e=>e+1))}},_.createElement(It,null)),_.createElement(X,{position:"right"},_.createElement(he,{type:"submit"},"Save")));function i(e){r((t=>t.filter((t=>t.id!==e.id))))}function s(e,t){r((n=>{const r=(n=[...n]).find((t=>t.id===e)),a=r?.intervals?.findIndex((e=>e.id===t.id));return void 0!==a&&r?.intervals?.[a]&&(r.intervals[a]=t),n}))}function u(e,t){void 0===t.id&&(t.id=`id-${o}`,c((e=>e+1))),r((n=>{const r=(n=[...n]).findIndex((t=>t.id===e));if(-1!==r){const e={...n[r]};t={...t,...e.filters},e.intervals=[...e.intervals,t],n[r]=e}return n}))}function m(e,t){r((n=>{const r=(n=[...n]).find((t=>t.id===e));return r&&(r.intervals=r.intervals.filter((e=>e.id!==t.id))),n}))}}function Po(e){const{intervalGroup:t,unit:n}=e,{classes:r}=Mo();return _.createElement(Zr,{"data-testid":t.id,className:r.section},_.createElement(de,{spacing:"lg"},_.createElement(X,{position:"right"},_.createElement(Ce,{title:"Remove Group","data-testid":`remove-group-button-${t.id}`,key:`remove-group-button-${t.id}`,size:"sm",onClick:n=>{ln(n),e.onRemoveGroup(t)}},_.createElement(At,null))),_.createElement(No,{intervalGroup:t,onChange:e.onChange}),_.createElement(Fe,null),t.intervals.map((n=>_.createElement(de,{key:`interval-${n.id}`,spacing:"xs"},_.createElement(X,null,_.createElement(ee,{key:`condition-${n.id}`,"data-testid":`condition-${n.id}`,defaultValue:n.condition,label:"Condition: ",size:"sm",onChange:r=>{ln(r),e.onChange(t.id,{...n,condition:r.currentTarget.value.trim()})}}),_.createElement(Ce,{title:"Remove Interval",size:"sm",key:`remove-interval-${n.id}`,"data-testid":`remove-interval-${n.id}`,onClick:r=>{ln(r),e.onRemove(t.id,n)}},_.createElement(At,null))),_.createElement(Vr,{onChange:r=>{e.onChange(t.id,{...n,range:r})},key:`range-${n.id}`,name:`range-${n.id}`,defaultValue:n.range})))),_.createElement(Ce,{title:"Add Interval",size:"sm",onClick:r=>{ln(r),e.onAdd(t.id,{range:{low:{unit:n},high:{unit:n}}})}},_.createElement(It,null))))}function No(e){const{intervalGroup:t,onChange:n}=e;t.filters.age||(t.filters.age={});for(const e of["low","high"])t.filters.age[e]?.unit||(t.filters.age[e]={...t.filters.age[e],unit:"years",system:"http://unitsofmeasure.org"});return _.createElement(de,{style:{maxWidth:"50%"}},_.createElement(X,null,_.createElement(Z,{data:["","male","female"],label:"Gender:",defaultValue:t.filters.gender||"",onChange:e=>{for(const r of t.intervals){let a=e.currentTarget?.value;""===a&&(a=void 0),n(t.id,{...r,gender:a})}}})),_.createElement(X,{spacing:"xs"},_.createElement(ie,{component:"label",htmlFor:`div-age-${t.id}`},"Age:"),_.createElement("div",{id:`div-age-${t.id}`},_.createElement(Vr,{key:`age-${t.id}`,name:`age-${t.id}`,defaultValue:t.filters.age,onChange:e=>{for(const r of t.intervals)n(t.id,{...r,age:e})}}))),_.createElement(Z,{data:["","pre-puberty","follicular","midcycle","luteal","postmenopausal"],label:"Endocrine:",defaultValue:t.filters.context?.text||"",onChange:e=>{for(const r of t.intervals){let a=e.currentTarget?.value;""===a?(a=void 0,n(t.id,{...r,context:void 0})):n(t.id,{...r,context:{text:a,coding:[{code:a,system:"http://terminology.hl7.org/CodeSystem/referencerange-meaning"}]}})}}}))}function zo(e){return[`gender=${e.gender}`,`age=${E(e.age)}`,`gestationalAge=${E(e.gestationalAge)}`,`context=${e.context?.text}`,`appliesTo=${e.appliesTo?.map((e=>e.text)).join("+")}`].join(":")}function Oo(e){const t=et(),n=un(e.value),[r,a]=q(!1),[l,o]=q();return B((()=>{n&&!r&&(t.executeBatch(function(e){const t=[];if(e.action)for(const n of e.action)n.resource?.reference&&t.push({request:{method:"GET",url:n.resource.reference}});return{resourceType:"Bundle",type:"batch",entry:t}}(n)).then(o).catch(console.log),a(!0))}),[t,n,r]),n&&l?_.createElement(Ue,null,n.action?.map(((t,n)=>{const r=t.resource&&function(e){for(const t of l?.entry)if(t.resource&&e.reference===u(t.resource))return t.resource;return}(t.resource),a=r?.input?.[0]?.valueReference,o=r?.output?.[0]?.valueReference;return _.createElement(_.Fragment,{key:`action-${n}`},_.createElement(Ue.Col,{span:1,p:"md"},"completed"===r?.status?_.createElement(wt,null):_.createElement(Yt,{color:"gray"})),_.createElement(Ue.Col,{span:9,p:"xs"},_.createElement(ie,{weight:500},t.title),t.description&&_.createElement("div",null,t.description),_.createElement("div",null,"Last edited by ",_.createElement(na,{value:r?.meta?.author})," on ",x(r?.meta?.lastUpdated)),_.createElement("div",null,"Status: ",_.createElement(la,{status:r?.status||"unknown"}))),_.createElement(Ue.Col,{span:2,p:"md"},a&&!o&&_.createElement(he,{onClick:()=>e.onStart(r,a)},"Start"),a&&o&&_.createElement(he,{onClick:()=>e.onEdit(r,a,o)},"Edit")))}))):null}function $o(e,t){return function(e,t,n){const r=[];let a=e;a.snake&&(a=a.prev);for(;a&&a.prev&&a.prev.j>=0;){const e=a.i,l=a.j;a=a.prev;const o=a.i,c=a.j,i={position:o,lines:t.slice(o,e)},s={position:c,lines:n.slice(c,l)};let u;u=0===i.lines.length&&s.lines.length>0?"insert":i.lines.length>0&&0===s.lines.length?"delete":"change",r.push({original:i,revised:s,type:u}),a.snake&&(a=a.prev)}return r}(function(e,t){const n=e.length,r=t.length,a=n+r+1,l=1+2*a,o=l/2|0,c=new Array(l);c[o+1]={i:0,j:-1,prev:void 0,snake:!0};for(let l=0;l<a;l++){for(let a=-l;a<=l;a+=2){const i=o+a,s=i-1,u=c[i+1],m=c[s];let d,p=0;a===-l||a!==l&&m.i<u.i?(p=u.i,d=u):(p=m.i+1,d=m),c[s]=void 0;let h=p-a,g={i:p,j:h,prev:Lo(d),snake:!1};for(;p<n&&h<r&&e[p]===t[h];)p++,h++;if(p>g.i&&(g={i:p,j:h,prev:g,snake:!0}),c[i]=g,p>=n&&h>=r)return c[i]}c[o+l-1]=void 0}return}(e,t),e,t)}function Lo(e){return e&&!e.snake&&e.prev?e.prev:e}function Fo(e){const t=e.entry.filter((e=>!!e.resource)).map((e=>({meta:e.resource?.meta,lines:v(e.resource,!0).match(/[^\r\n]+/g)}))).sort(((e,t)=>e.meta.lastUpdated.localeCompare(t.meta.lastUpdated))),n=t[0].lines.map((e=>({id:t[0].meta.versionId,meta:t[0].meta,value:e,span:1})));return function(e,t){for(let n=1;n<t.length;n++){const r=$o(t[n-1].lines,t[n].lines);for(const a of r){const r=a.original.position,l=a.original.lines,o=a.revised.lines;if("delete"!==a.type&&"change"!==a.type||e.splice(r,l.length),"insert"===a.type||"change"===a.type)for(let l=0;l<a.revised.lines.length;l++)e.splice(r+l,0,{id:t[n].meta.versionId,meta:t[n].meta,value:o[l],span:1})}}}(n,t),function(e){let t=0;for(;t<e.length;){let n=t;for(;n<e.length&&e[n].id===e[t].id;)e[n].span=-1,n++;e[t].span=n-t,t=n}}(n),n}const Uo=ce((e=>({container:{overflowX:"auto"},root:{border:`0.1px solid ${e.colors.gray[3]}`,borderCollapse:"collapse",borderRadius:e.radius.sm,borderSpacing:0,fontSize:e.fontSizes.xs,width:"100%","& td":{padding:"2px 4px 0 4px",verticalAlign:"top",whiteSpace:"nowrap"}},startRow:{borderTop:`0.1px solid ${e.colors.gray[3]}`},normalRow:{borderTop:0},author:{lineHeight:"10px"},dateTime:{borderRight:`0.1px solid ${e.colors.gray[3]}`,lineHeight:"20px"},lineNumber:{backgroundColor:e.colors.gray[1],border:0,color:e.colors.gray[5],fontFamily:e.fontFamilyMonospace,padding:`${e.spacing.xs} ${e.spacing.sm}`,textAlign:"right"},line:{fontFamily:e.fontFamilyMonospace,fontSize:e.fontSizes.sm,padding:`${e.spacing.xs} ${e.spacing.sm}`},pre:{margin:0}})));function _o(e){const{classes:t}=Uo(),n=et(),[r,a]=q(e.history);if(B((()=>{!e.history&&e.resourceType&&e.id&&n.readHistory(e.resourceType,e.id).then(a).catch(console.log)}),[n,e.history,e.resourceType,e.id]),!r)return _.createElement("div",null,"Loading...");const l=r.entry?.[0]?.resource,o=Fo(r);return _.createElement("div",{className:t.container},_.createElement("table",{className:t.root},_.createElement("tbody",null,o.map(((e,n)=>_.createElement("tr",{key:"row-"+n,className:e.span>0?t.startRow:t.normalRow},e.span>0&&_.createElement(_.Fragment,null,_.createElement("td",{className:t.author,rowSpan:e.span},_.createElement(ra,{value:e.meta.author,link:!0})),_.createElement("td",{className:t.dateTime,rowSpan:e.span},_.createElement(sn,{to:qo(l,e.meta.versionId)},jo(e.meta.lastUpdated)))),_.createElement("td",{className:t.lineNumber},n+1),_.createElement("td",{className:t.line},_.createElement("pre",{className:t.pre},e.value))))))))}function qo(e,t){return`/${e.resourceType}/${e.id}/_history/${t}`}function jo(e){const t=Math.floor((Date.now()-Date.parse(e))/1e3),n=Math.floor(t/31536e3);if(n>0)return Wo(n,"year");const r=Math.floor(t/2592e3);if(r>0)return Wo(r,"month");const a=Math.floor(t/86400);if(a>0)return Wo(a,"day");const l=Math.floor(t/3600);if(l>0)return Wo(l,"hour");const o=Math.floor(t/60);return o>0?Wo(o,"minute"):Wo(t,"second")}function Wo(e,t){return`${e} ${1===e?t:t+"s"} ago`}const Bo=ce((e=>({removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function Ko(e){let t=e.original,n=e.revised;e.ignoreMeta&&(t={...t,meta:void 0},n={...n,meta:void 0});const r=$o(v(t,!0).match(/[^\r\n]+/g),v(n,!0).match(/[^\r\n]+/g));return _.createElement("pre",{style:{color:"gray"}},r.map(((e,t)=>_.createElement(Ho,{key:"delta"+t,delta:e}))))}function Ho(e){const{classes:t}=Bo();return _.createElement(_.Fragment,null,"...",_.createElement("br",null),e.delta.original.lines.length>0&&_.createElement("div",{className:t.removed},e.delta.original.lines.join("\n")),e.delta.revised.lines.length>0&&_.createElement("div",{className:t.added},e.delta.revised.lines.join("\n")),"...",_.createElement("br",null))}function Qo(e){const t=et(),[n,r]=q(e.history);return B((()=>{!e.history&&e.resourceType&&e.id&&t.readHistory(e.resourceType,e.id).then(r).catch(console.log)}),[t,e.history,e.resourceType,e.id]),n?_.createElement(Oe,{withBorder:!0,withColumnBorders:!0},_.createElement("thead",null,_.createElement("tr",null,_.createElement("th",null,"Author"),_.createElement("th",null,"Date"),_.createElement("th",null,"Version"))),_.createElement("tbody",null,n.entry?.map(((e,t)=>_.createElement(Go,{key:"entry-"+t,entry:e}))))):_.createElement("div",null,"Loading...")}function Go(e){const{response:t,resource:r}=e.entry;return r?_.createElement("tr",null,_.createElement("td",null,_.createElement(ra,{value:r.meta?.author,link:!0})),_.createElement("td",null,x(r.meta?.lastUpdated)),_.createElement("td",null,_.createElement(sn,{to:Jo(r)},r.meta?.versionId))):_.createElement("tr",null,_.createElement("td",{colSpan:3},n(t?.outcome)))}function Jo(e){return`/${e.resourceType}/${e.id}/_history/${e.meta?.versionId}`}const Yo=ce((e=>({container:{display:"flex",minHeight:400},info:{minWidth:300,padding:20,borderRight:`1px solid ${e.colors.gray[3]}`},selection:{minWidth:300,padding:20}})));function Xo(e){const{classes:t}=Yo(),n=et(),r=un(e.schedule),a=un(e.questionnaire),[l,o]=q();j().current=l;const[c,i]=q(Jr()),[s,m]=q(),[d,p]=q(),[h,g]=q();if(B((()=>{r?(o([]),n.searchResources("Slot",new URLSearchParams([["_count",720..toString()],["schedule",u(r)],["start","gt"+Zo(c)],["start","lt"+ec(c)]])).then(o).catch(console.log)):o(void 0)}),[n,r,c]),!r||!l||!a)return null;const f=r.actor?.[0];return _.createElement("div",{className:t.container,"data-testid":"scheduler"},_.createElement("div",{className:t.info},f&&_.createElement(dn,{value:f,size:"xl"}),f&&_.createElement(ie,{size:"xl",weight:500},_.createElement(na,{value:f})),_.createElement("p",null,"1 hour"),s&&_.createElement("p",null,s.toLocaleDateString()),d&&_.createElement("p",null,nc(new Date(d.start)))),_.createElement("div",{className:t.selection},!s&&_.createElement("div",null,_.createElement("h3",null,"Select date"),_.createElement(Gr,{slots:l,onChangeMonth:i,onClick:m})),s&&!d&&_.createElement("div",null,_.createElement("h3",null,"Select time"),_.createElement(de,null,l.map((e=>{const t=new Date(e.start);return t.getTime()>s.getTime()&&t.getTime()<s.getTime()+864e5&&_.createElement("div",{key:e.id},_.createElement(he,{variant:"outline",style:{width:150},onClick:()=>p(e)},nc(t)))})))),s&&d&&!h&&_.createElement(io,{questionnaire:a,submitButtonText:"Next",onSubmit:g}),s&&d&&h&&_.createElement("div",null,_.createElement("h3",null,"You're all set!"),_.createElement("p",null,"Check your email for a calendar invite."))))}function Zo(e){return tc(e.getTime())}function ec(e){return tc(e.getTime()+26784e5)}function tc(e){return new Date(Math.max(Date.now(),e)).toISOString()}function nc(e){return e.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function rc(e){return _.createElement(Sa,{value:e.serviceRequest,loadTimelineResources:async(e,t,n)=>{const r=`${t}/${n}`,a=100;return Promise.allSettled([e.readHistory("ServiceRequest",n),e.search("Communication",{"based-on":r,_count:a}),e.search("DiagnosticReport",{"based-on":r,_count:a}),e.search("Media",{"based-on":r,_count:a}),e.search("Task",{_filter:`based-on eq ${r} or focus eq ${r} or subject eq ${r}`,_count:a})])},createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",basedOn:[t(e)],subject:e.subject,sender:t(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",basedOn:[t(e)],subject:e.subject,operator:t(n),issued:(new Date).toISOString(),content:r})})}function ac(e){const t=et(),[n,r]=q();return _.createElement(Sn,{style:{maxWidth:400},onSubmit:async n=>{try{e.handleAuthResponse(await t.startNewProject({login:e.login,projectName:n.projectName}))}catch(e){r(e)}}},_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(Wl,{size:32}),_.createElement(Ve,null,"Create project")),_.createElement(de,{spacing:"xl"},_.createElement(ee,{name:"projectName",label:"Project Name",placeholder:"My Project",required:!0,autoFocus:!0,error:ur(n,"firstName")}),_.createElement(ie,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum"," ",_.createElement(ae,{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",_.createElement(ae,{href:"https://www.medplum.com/terms"},"Terms of Service"),".")),_.createElement(X,{position:"right",mt:"xl",noWrap:!0},_.createElement(he,{type:"submit"},"Create project")))}function lc(e,t){const n=document.getElementsByTagName("head")[0],r=document.createElement("script");r.async=!0,r.src=e,r.onload=t||null,n.appendChild(r)}function oc(e){const t=et(),{googleClientId:n,handleGoogleCredential:r}=e,a=j(null),[l,o]=q("undefined"!=typeof google),[c,i]=q(!1),[s,u]=q(!1);return B((()=>{"undefined"!=typeof google?(c||(google.accounts.id.initialize({client_id:n,callback:r}),i(!0)),a.current&&!s&&(google.accounts.id.renderButton(a.current,{}),u(!0))):lc("https://accounts.google.com/gsi/client",(()=>o(!0)))}),[t,n,c,l,a,s,r]),n?_.createElement("div",{ref:a}):null}function cc(e){if(e)return e;if("undefined"!=typeof window){const e=window.location.protocol+"//"+window.location.host;if(("undefined"?.split(",")??[]).includes(e))return"undefined"}}function ic(e){"undefined"==typeof grecaptcha&&lc("https://www.google.com/recaptcha/api.js?render="+e)}function sc(e){return new Promise(((t,n)=>{grecaptcha.ready((async()=>{try{t(await grecaptcha.execute(e,{action:"submit"}))}catch(e){n(e)}}))}))}function uc(e){const t=cc(e.googleClientId),n=e.recaptchaSiteKey,r=et(),[a,l]=q(),o=mr(a,void 0);return B((()=>{n&&ic(n)}),[n]),_.createElement(Sn,{style:{maxWidth:400},onSubmit:async t=>{try{let a="";n&&(a=await sc(n)),e.handleAuthResponse(await r.startNewUser({projectId:e.projectId,firstName:t.firstName,lastName:t.lastName,email:t.email,password:t.password,remember:"true"===t.remember,recaptchaSiteKey:n,recaptchaToken:a}))}catch(e){l(e)}}},_.createElement(ne,{sx:{flexDirection:"column"}},e.children),_.createElement(Bl,{issues:o}),t&&_.createElement(_.Fragment,null,_.createElement(X,{position:"center",p:"xl",style:{height:70}},_.createElement(oc,{googleClientId:t,handleGoogleCredential:async t=>{try{e.handleAuthResponse(await r.startGoogleLogin({googleClientId:t.clientId,googleCredential:t.credential,createUser:!0}))}catch(e){l(e)}}})),_.createElement(Fe,{label:"or",labelPosition:"center",my:"lg"})),_.createElement(de,{spacing:"xl"},_.createElement(ee,{name:"firstName",type:"text",label:"First name",placeholder:"First name",required:!0,autoFocus:!0,error:ur(a,"firstName")}),_.createElement(ee,{name:"lastName",type:"text",label:"Last name",placeholder:"Last name",required:!0,error:ur(a,"lastName")}),_.createElement(ee,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,error:ur(a,"email")}),_.createElement(_e,{name:"password",label:"Password",autoComplete:"off",required:!0,error:ur(a,"password")}),_.createElement(ie,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum"," ",_.createElement(ae,{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",_.createElement(ae,{href:"https://www.medplum.com/terms"},"Terms of Service"),"."),_.createElement(ie,{color:"dimmed",size:"xs"},"This site is protected by reCAPTCHA and the Google"," ",_.createElement(ae,{href:"https://policies.google.com/privacy"},"Privacy Policy")," and ",_.createElement(ae,{href:"https://policies.google.com/terms"},"Terms of Service")," apply.")),_.createElement(X,{position:"apart",mt:"xl",noWrap:!0},_.createElement(Ae,{name:"remember",label:"Remember me",size:"xs"}),_.createElement(he,{type:"submit"},"Create account")))}function mc(e){const{type:t,projectId:n,googleClientId:r,recaptchaSiteKey:a,onSuccess:l}=e,o=et(),[c,i]=q(void 0),[s,u]=q();function m(e){e.code?o.processCode(e.code).then((()=>l())).catch(console.log):e.login&&i(e.login)}return B((()=>{"patient"===t&&c&&o.startNewPatient({login:c,projectId:n}).then((e=>o.processCode(e.code))).then((()=>l())).catch((e=>u(e)))}),[o,t,n,c,l]),_.createElement(Oa,{width:450},s&&_.createElement("pre",null,JSON.stringify(s,null,2)),!c&&_.createElement(uc,{projectId:n,googleClientId:r,recaptchaSiteKey:a,handleAuthResponse:m},e.children),c&&"project"===t&&_.createElement(ac,{login:c,handleAuthResponse:m}))}function dc(e){const[t,n]=q();return t?_.createElement(hc,{email:t,...e}):_.createElement(pc,{setEmail:n,...e})}function pc(e){const{setEmail:t,onRegister:n,handleAuthResponse:r,children:a,...l}=e,o=et(),c=!e.disableGoogleAuth&&cc(e.googleClientId),i=G((async e=>{if(!e.authorizeUrl)return!1;const t=JSON.stringify({...await o.ensureCodeChallenge(l),domain:e.domain}),n=new URL(e.authorizeUrl);return n.searchParams.set("state",t),window.location.assign(n.toString()),!0}),[o,l]),s=G((async e=>{const n=await o.post("auth/method",{email:e.email});await i(n)||t(e.email)}),[o,i,t]),u=G((async e=>{const t=await o.startGoogleLogin({...l,googleCredential:e.credential});await i(t)||r(t)}),[o,l,i,r]);return _.createElement(Sn,{style:{maxWidth:400},onSubmit:s},_.createElement(ne,{sx:{flexDirection:"column"}},a),c&&_.createElement(_.Fragment,null,_.createElement(X,{position:"center",p:"xl",style:{height:70}},_.createElement(oc,{googleClientId:c,handleGoogleCredential:u})),_.createElement(Fe,{label:"or",labelPosition:"center",my:"lg"})),_.createElement(ee,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,autoFocus:!0}),_.createElement(X,{position:"apart",mt:"xl",spacing:0,noWrap:!0},_.createElement("div",null,n&&_.createElement(ae,{component:"button",type:"button",color:"dimmed",onClick:n,size:"xs"},"Register")),_.createElement(he,{type:"submit"},"Next")))}function hc(e){const{onForgotPassword:t,handleAuthResponse:n,children:r,...a}=e,l=et(),[o,i]=q(),s=mr(o,void 0),u=G((e=>{l.startLogin({...a,password:e.password,remember:"on"===e.remember}).then(n).catch((e=>i(c(e))))}),[l,a,n]);return _.createElement(Sn,{style:{maxWidth:400},onSubmit:u},_.createElement(ne,{sx:{flexDirection:"column"}},r),_.createElement(Bl,{issues:s}),_.createElement(de,{spacing:"xl"},_.createElement(_e,{name:"password",label:"Password",autoComplete:"off",required:!0,autoFocus:!0,error:ur(o,"password")})),_.createElement(X,{position:"apart",mt:"xl",spacing:0,noWrap:!0},t&&_.createElement(ae,{component:"button",type:"button",color:"dimmed",onClick:t,size:"xs"},"Forgot password"),_.createElement(Ae,{id:"remember",name:"remember",label:"Remember me",size:"xs",sx:{lineHeight:1}}),_.createElement(he,{type:"submit"},"Sign in")))}function gc(e){const t=et(),[n,r]=q();return _.createElement(de,null,_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(Wl,{size:32}),_.createElement(Ve,{order:3},"Choose profile")),_.createElement(Bl,{outcome:n}),e.memberships.map((n=>_.createElement(ue,{key:n.id,onClick:()=>{t.post("auth/profile",{login:e.login,profile:n.id}).then(e.handleAuthResponse).catch((e=>r(c(e))))}},_.createElement(X,null,_.createElement(le,{radius:"xl"}),_.createElement("div",{style:{flex:1}},_.createElement(ie,{size:"sm",weight:500},n.profile?.display),_.createElement(ie,{color:"dimmed",size:"xs"},n.project?.display)))))))}function fc(e){const t=et();return _.createElement(Sn,{style:{maxWidth:400},onSubmit:n=>{t.post("auth/scope",{login:e.login,scope:Object.keys(n).join(" ")}).then(e.handleAuthResponse).catch(console.log)}},_.createElement(de,null,_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(Wl,{size:32}),_.createElement(Ve,null,"Choose scope")),_.createElement(de,null,(e.scope||"openid").split(" ").map((e=>_.createElement(Ae,{key:e,id:e,name:e,label:e,defaultChecked:!0})))),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},"Set scope"))))}function Ec(e){const t=et(),[r,a]=q(void 0);return _.createElement(Sn,{style:{maxWidth:400},onSubmit:r=>{a(void 0),t.post("auth/mfa/verify",{login:e.login,token:r.token}).then(e.handleAuthResponse).catch((e=>a(n(e))))}},_.createElement(de,null,_.createElement(ne,{sx:{flexDirection:"column"}},_.createElement(Wl,{size:32}),_.createElement(Ve,null,"Enter MFA code")),r&&_.createElement(te,{icon:_.createElement(ft,{size:16}),title:"Error",color:"red"},r),_.createElement(de,null,_.createElement(ee,{name:"token",label:"MFA code",required:!0})),_.createElement(X,{position:"right",mt:"xl"},_.createElement(he,{type:"submit"},"Submit code"))))}function vc(e){const{chooseScopes:t,onSuccess:n,onForgotPassword:r,onRegister:a,onCode:l,...o}=e,c=et(),[i,s]=q(void 0),[u,m]=q(!1),[d,p]=q(void 0),h=G((e=>{l?l(e):c.processCode(e).then((()=>{n&&n()})).catch(console.log)}),[c,l,n]),g=G((e=>{m(!!e.mfaRequired),e.login&&s(e.login),e.memberships&&p(e.memberships),e.code&&(t?p(void 0):h(e.code))}),[t,h]),f=G((e=>{h(e.code)}),[h]);return B((()=>{e.login&&c.get("auth/login/"+e.login).then(g).catch(console.error)}),[c,e,g]),_.createElement(Oa,{width:450},i?u?_.createElement(Ec,{login:i,handleAuthResponse:g}):d?_.createElement(gc,{login:i,memberships:d,handleAuthResponse:g}):"new"===e.projectId?_.createElement(ac,{login:i,handleAuthResponse:g}):e.chooseScopes?_.createElement(fc,{login:i,scope:e.scope,handleAuthResponse:f}):_.createElement("div",null,"Success"):_.createElement(dc,{onForgotPassword:r,onRegister:a,handleAuthResponse:g,disableGoogleAuth:e.disableGoogleAuth,...o},e.children))}export{He as AddressDisplay,Je as AddressInput,at as AnnotationInput,Fn as AppShell,pn as AsyncAutocomplete,_n as AttachmentArrayDisplay,jn as AttachmentArrayInput,qn as AttachmentButton,Un as AttachmentDisplay,Wn as AttachmentInput,ir as BackboneElementDisplay,Kr as BackboneElementInput,Gr as CalendarInput,sr as CheckboxFormSection,Pn as CodeInput,Gn as CodeableConceptDisplay,fr as CodeableConceptInput,Jn as CodingDisplay,Er as CodingInput,Xn as ContactDetailDisplay,yr as ContactDetailInput,Yn as ContactPointDisplay,vr as ContactPointInput,Zr as Container,Cr as DateTimeInput,za as DefaultResourceTimeline,Hn as DescriptionList,Qn as DescriptionListEntry,ca as DiagnosticReportDisplay,Oa as Document,jr as ElementDefinitionInputSelector,Wr as ElementDefinitionTypeInput,$a as EncounterTimeline,nn as ErrorBoundary,ql as FhirPathTable,Sn as Form,pr as FormSection,bn as Header,an as HumanNameDisplay,Tr as HumanNameInput,Zn as IdentifierDisplay,wr as IdentifierInput,rn as Loading,Wl as Logo,sn as MedplumLink,Xe as MedplumProvider,jl as MemoizedFhirPathTable,Ll as MemoizedSearchControl,er as MoneyDisplay,Ar as MoneyInput,zn as Navbar,sa as ObservationTable,Bl as OperationOutcomeAlert,ga as Panel,Kl as PatientTimeline,Ql as PlanDefinitionBuilder,tr as QuantityDisplay,Mr as QuantityInput,Co as QuestionnaireBuilder,io as QuestionnaireForm,uo as QuestionnaireFormItem,oo as QuestionnaireItemType,nr as RangeDisplay,Vr as RangeInput,ar as ReferenceDisplay,Or as ReferenceInput,Ro as ReferenceRangeEditor,Po as ReferenceRangeGroupEditor,mc as RegisterForm,Oo as RequestGroupDisplay,lr as ResourceArrayDisplay,$r as ResourceArrayInput,dn as ResourceAvatar,ra as ResourceBadge,_o as ResourceBlame,Ko as ResourceDiff,hr as ResourceForm,Qo as ResourceHistoryTable,Nr as ResourceInput,na as ResourceName,or as ResourcePropertyDisplay,qr as ResourcePropertyInput,ya as ResourceTable,Sa as ResourceTimeline,Xo as Scheduler,Pl as SearchChangeEvent,zl as SearchClickEvent,$l as SearchControl,gl as SearchFieldEditor,yl as SearchFilterEditor,Nl as SearchLoadEvent,rc as ServiceRequestTimeline,vc as SignInForm,la as StatusBadge,Ca as Timeline,ka as TimelineItem,Fr as TimingInput,nl as addDateFilterBetween,Ba as addField,Wa as addFilter,Ya as addLastMonthFilter,al as addMissingFilter,Za as addNextMonthFilter,Xa as addThisMonthFilter,Qa as addTodayFilter,Ga as addTomorrowFilter,tl as addYearToDateFilter,Ha as addYesterdayFilter,pl as buildFieldNameString,qa as clearFilters,ja as clearFiltersOnField,kr as convertIsoToLocal,br as convertLocalToIso,lc as createScriptTag,Ka as deleteFilter,ur as getErrorsForInput,mr as getIssuesForExpression,Qr as getMonthString,dl as getOpString,sc as getRecaptcha,ml as getSearchOperators,sl as getSortField,Jr as getStartMonth,jo as getTimeString,cr as getValueAndType,ic as initRecaptcha,co as isChoiceQuestion,vo as isQuestionEnabled,ul as isSortDescending,xn as parseForm,hl as renderValue,_a as setFilters,ll as setOffset,ol as setPage,gr as setPropertyValue,cl as setSort,ba as sortByDateAndPriority,il as toggleSort,et as useMedplum,Ze as useMedplumContext,tt as useMedplumNavigate,nt as useMedplumProfile,un as useResource};
|