@medplum/react 1.0.0 → 1.0.2
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/{AddressDisplay.d.ts → AddressDisplay/AddressDisplay.d.ts} +0 -0
- package/dist/cjs/{AddressInput.d.ts → AddressInput/AddressInput.d.ts} +0 -0
- package/dist/cjs/{stories → AddressInput}/AddressInput.stories.d.ts +0 -0
- package/dist/cjs/{AnnotationInput.d.ts → AnnotationInput/AnnotationInput.d.ts} +0 -0
- package/dist/cjs/{AttachmentArrayDisplay.d.ts → AttachmentArrayDisplay/AttachmentArrayDisplay.d.ts} +0 -0
- package/dist/cjs/{AttachmentArrayInput.d.ts → AttachmentArrayInput/AttachmentArrayInput.d.ts} +0 -0
- package/dist/cjs/{stories → AttachmentArrayInput}/AttachmentArrayInput.stories.d.ts +0 -0
- package/dist/cjs/{AttachmentButton.d.ts → AttachmentButton/AttachmentButton.d.ts} +0 -0
- package/dist/cjs/{stories → AttachmentButton}/AttachmentButton.stories.d.ts +0 -0
- package/dist/cjs/{AttachmentDisplay.d.ts → AttachmentDisplay/AttachmentDisplay.d.ts} +0 -0
- package/dist/cjs/{AttachmentInput.d.ts → AttachmentInput/AttachmentInput.d.ts} +0 -0
- package/dist/cjs/{stories → AttachmentInput}/AttachmentInput.stories.d.ts +0 -0
- package/dist/cjs/{BackboneElementDisplay.d.ts → BackboneElementDisplay/BackboneElementDisplay.d.ts} +0 -0
- package/dist/cjs/{BackboneElementInput.d.ts → BackboneElementInput/BackboneElementInput.d.ts} +0 -0
- package/dist/cjs/{CalendarInput.d.ts → CalendarInput/CalendarInput.d.ts} +0 -0
- package/dist/cjs/{CheckboxFormSection.d.ts → CheckboxFormSection/CheckboxFormSection.d.ts} +0 -0
- package/dist/cjs/{CodeInput.d.ts → CodeInput/CodeInput.d.ts} +0 -0
- package/dist/cjs/{stories → CodeInput}/CodeInput.stories.d.ts +0 -0
- package/dist/cjs/{CodeableConceptDisplay.d.ts → CodeableConceptDisplay/CodeableConceptDisplay.d.ts} +0 -0
- package/dist/cjs/{stories → CodeableConceptDisplay}/CodeableConceptDisplay.stories.d.ts +0 -0
- package/dist/cjs/{CodeableConceptInput.d.ts → CodeableConceptInput/CodeableConceptInput.d.ts} +0 -0
- package/dist/cjs/{stories → CodeableConceptInput}/CodeableConceptInput.stories.d.ts +0 -0
- package/dist/cjs/{CodingDisplay.d.ts → CodingDisplay/CodingDisplay.d.ts} +0 -0
- package/dist/cjs/{CodingInput.d.ts → CodingInput/CodingInput.d.ts} +0 -0
- package/dist/cjs/{ContactDetailDisplay.d.ts → ContactDetailDisplay/ContactDetailDisplay.d.ts} +0 -0
- package/dist/cjs/{ContactDetailInput.d.ts → ContactDetailInput/ContactDetailInput.d.ts} +0 -0
- package/dist/cjs/{ContactPointDisplay.d.ts → ContactPointDisplay/ContactPointDisplay.d.ts} +0 -0
- package/dist/cjs/{ContactPointInput.d.ts → ContactPointInput/ContactPointInput.d.ts} +0 -0
- package/dist/cjs/{DateTimeInput.d.ts → DateTimeInput/DateTimeInput.d.ts} +0 -0
- package/dist/cjs/{DefaultResourceTimeline.d.ts → DefaultResourceTimeline/DefaultResourceTimeline.d.ts} +0 -0
- package/dist/cjs/{DescriptionList.d.ts → DescriptionList/DescriptionList.d.ts} +0 -0
- package/dist/cjs/{stories → DescriptionList}/DescriptionList.stories.d.ts +0 -0
- package/dist/cjs/{DiagnosticReportDisplay.d.ts → DiagnosticReportDisplay/DiagnosticReportDisplay.d.ts} +0 -0
- package/dist/cjs/{stories → DiagnosticReportDisplay}/DiagnosticReportDisplay.stories.d.ts +0 -0
- package/dist/cjs/{Document.d.ts → Document/Document.d.ts} +0 -0
- package/dist/cjs/{EncounterTimeline.d.ts → EncounterTimeline/EncounterTimeline.d.ts} +0 -0
- package/dist/cjs/{stories → EncounterTimeline}/EncounterTimeline.stories.d.ts +0 -0
- package/dist/cjs/{ErrorBoundary.d.ts → ErrorBoundary/ErrorBoundary.d.ts} +0 -0
- package/dist/cjs/{ExtensionInput.d.ts → ExtensionInput/ExtensionInput.d.ts} +0 -0
- package/dist/cjs/{FhirPathDisplay.d.ts → FhirPathDisplay/FhirPathDisplay.d.ts} +0 -0
- package/dist/cjs/{stories → FhirPathDisplay}/FhirPathDisplay.stories.d.ts +1 -1
- package/dist/cjs/{FhirPathTable.d.ts → FhirPathTable/FhirPathTable.d.ts} +1 -1
- package/dist/cjs/{Form.d.ts → Form/Form.d.ts} +0 -0
- package/dist/cjs/{FormUtils.d.ts → Form/FormUtils.d.ts} +0 -0
- package/dist/cjs/{FormSection.d.ts → FormSection/FormSection.d.ts} +0 -0
- package/dist/cjs/{GoogleButton.d.ts → GoogleButton/GoogleButton.d.ts} +0 -0
- package/dist/cjs/{HumanNameDisplay.d.ts → HumanNameDisplay/HumanNameDisplay.d.ts} +0 -0
- package/dist/cjs/{HumanNameInput.d.ts → HumanNameInput/HumanNameInput.d.ts} +0 -0
- package/dist/cjs/{IdentifierDisplay.d.ts → IdentifierDisplay/IdentifierDisplay.d.ts} +0 -0
- package/dist/cjs/{IdentifierInput.d.ts → IdentifierInput/IdentifierInput.d.ts} +0 -0
- package/dist/cjs/{Logo.d.ts → Logo/Logo.d.ts} +0 -0
- package/dist/cjs/{stories → Logo}/Logo.stories.d.ts +0 -0
- package/dist/cjs/{MedplumLink.d.ts → MedplumLink/MedplumLink.d.ts} +0 -0
- package/dist/cjs/{MedplumProvider.d.ts → MedplumProvider/MedplumProvider.d.ts} +0 -0
- package/dist/cjs/{PatientTimeline.d.ts → PatientTimeline/PatientTimeline.d.ts} +0 -0
- package/dist/cjs/{stories → PatientTimeline}/PatientTimeline.stories.d.ts +0 -0
- package/dist/cjs/{PeriodInput.d.ts → PeriodInput/PeriodInput.d.ts} +0 -0
- package/dist/cjs/{stories → PeriodInput}/PeriodInput.stories.d.ts +0 -0
- package/dist/cjs/{PlanDefinitionBuilder.d.ts → PlanDefinitionBuilder/PlanDefinitionBuilder.d.ts} +0 -0
- package/dist/cjs/{stories → PlanDefinitionBuilder}/PlanDefinitionBuilder.stories.d.ts +0 -0
- package/dist/cjs/{QuantityDisplay.d.ts → QuantityDisplay/QuantityDisplay.d.ts} +0 -1
- package/dist/cjs/{QuantityInput.d.ts → QuantityInput/QuantityInput.d.ts} +0 -0
- package/dist/cjs/{QuestionnaireBuilder.d.ts → QuestionnaireBuilder/QuestionnaireBuilder.d.ts} +0 -0
- package/dist/cjs/{stories → QuestionnaireBuilder}/QuestionnaireBuilder.stories.d.ts +0 -0
- package/dist/cjs/{QuestionnaireForm.d.ts → QuestionnaireForm/QuestionnaireForm.d.ts} +0 -0
- package/dist/cjs/{stories → QuestionnaireForm}/QuestionnaireForm.stories.d.ts +0 -0
- package/dist/cjs/{RangeDisplay.d.ts → RangeDisplay/RangeDisplay.d.ts} +0 -1
- package/dist/cjs/{RangeInput.d.ts → RangeInput/RangeInput.d.ts} +0 -0
- package/dist/cjs/{RatioDisplay.d.ts → RatioDisplay/RatioDisplay.d.ts} +0 -0
- package/dist/cjs/{RatioInput.d.ts → RatioInput/RatioInput.d.ts} +0 -0
- package/dist/cjs/{ReferenceDisplay.d.ts → ReferenceDisplay/ReferenceDisplay.d.ts} +0 -0
- package/dist/cjs/{ReferenceInput.d.ts → ReferenceInput/ReferenceInput.d.ts} +0 -0
- package/dist/cjs/{stories → ReferenceInput}/ReferenceInput.stories.d.ts +0 -0
- package/dist/cjs/ReferenceRangeEditor/ReferenceRangeEditor.d.ts +27 -0
- package/dist/cjs/ReferenceRangeEditor/ReferenceRangeEditor.stories.d.ts +7 -0
- package/dist/cjs/{RequestGroupDisplay.d.ts → RequestGroupDisplay/RequestGroupDisplay.d.ts} +0 -0
- package/dist/cjs/{stories → RequestGroupDisplay}/RequestGroupDisplay.stories.d.ts +0 -0
- package/dist/cjs/{ResourceArrayDisplay.d.ts → ResourceArrayDisplay/ResourceArrayDisplay.d.ts} +0 -0
- package/dist/cjs/{ResourceArrayInput.d.ts → ResourceArrayInput/ResourceArrayInput.d.ts} +0 -0
- package/dist/cjs/{ResourceAvatar.d.ts → ResourceAvatar/ResourceAvatar.d.ts} +0 -0
- package/dist/cjs/{stories → ResourceAvatar}/ResourceAvatar.stories.d.ts +0 -0
- package/dist/cjs/{ResourceBadge.d.ts → ResourceBadge/ResourceBadge.d.ts} +0 -0
- package/dist/cjs/{ResourceBlame.d.ts → ResourceBlame/ResourceBlame.d.ts} +0 -0
- package/dist/cjs/{stories → ResourceBlame}/ResourceBlame.stories.d.ts +0 -0
- package/dist/cjs/{ResourceDiff.d.ts → ResourceDiff/ResourceDiff.d.ts} +0 -0
- package/dist/cjs/{ResourceDiffTable.d.ts → ResourceDiffTable/ResourceDiffTable.d.ts} +0 -0
- package/dist/cjs/ResourceDiffTable/ResourceDiffTable.stories.d.ts +5 -0
- package/dist/cjs/{ResourceForm.d.ts → ResourceForm/ResourceForm.d.ts} +0 -0
- package/dist/cjs/{stories → ResourceForm}/ResourceForm.stories.d.ts +0 -0
- package/dist/cjs/{ResourceHistoryTable.d.ts → ResourceHistoryTable/ResourceHistoryTable.d.ts} +0 -0
- package/dist/cjs/{stories → ResourceHistoryTable}/ResourceHistoryTable.stories.d.ts +0 -0
- package/dist/cjs/{ResourceInput.d.ts → ResourceInput/ResourceInput.d.ts} +0 -0
- package/dist/cjs/{stories → ResourceInput}/ResourceInput.stories.d.ts +0 -0
- package/dist/cjs/{ResourceName.d.ts → ResourceName/ResourceName.d.ts} +0 -0
- package/dist/cjs/{ResourcePropertyDisplay.d.ts → ResourcePropertyDisplay/ResourcePropertyDisplay.d.ts} +0 -0
- package/dist/cjs/{ResourcePropertyInput.d.ts → ResourcePropertyInput/ResourcePropertyInput.d.ts} +0 -0
- package/dist/cjs/{ResourceTable.d.ts → ResourceTable/ResourceTable.d.ts} +0 -0
- package/dist/cjs/{stories → ResourceTable}/ResourceTable.stories.d.ts +0 -0
- package/dist/cjs/{ResourceTimeline.d.ts → ResourceTimeline/ResourceTimeline.d.ts} +0 -0
- package/dist/cjs/{Scheduler.d.ts → Scheduler/Scheduler.d.ts} +0 -0
- package/dist/cjs/{stories → Scheduler}/Scheduler.stories.d.ts +0 -0
- package/dist/cjs/{SearchControl.d.ts → SearchControl/SearchControl.d.ts} +0 -0
- package/dist/cjs/{stories → SearchControl}/SearchControl.stories.d.ts +0 -0
- package/dist/cjs/{SearchControlField.d.ts → SearchControl/SearchControlField.d.ts} +0 -0
- package/dist/cjs/{SearchUtils.d.ts → SearchControl/SearchUtils.d.ts} +0 -21
- package/dist/cjs/{SearchFieldEditor.d.ts → SearchFieldEditor/SearchFieldEditor.d.ts} +0 -0
- package/dist/cjs/{SearchFilterEditor.d.ts → SearchFilterEditor/SearchFilterEditor.d.ts} +0 -0
- package/dist/cjs/{SearchFilterValueDialog.d.ts → SearchFilterValueDialog/SearchFilterValueDialog.d.ts} +0 -0
- package/dist/cjs/{SearchFilterValueDisplay.d.ts → SearchFilterValueDisplay/SearchFilterValueDisplay.d.ts} +0 -0
- package/dist/cjs/{SearchFilterValueInput.d.ts → SearchFilterValueInput/SearchFilterValueInput.d.ts} +0 -0
- package/dist/cjs/{SearchPopupMenu.d.ts → SearchPopupMenu/SearchPopupMenu.d.ts} +0 -0
- package/dist/cjs/{ServiceRequestTimeline.d.ts → ServiceRequestTimeline/ServiceRequestTimeline.d.ts} +0 -0
- package/dist/cjs/{StatusBadge.d.ts → StatusBadge/StatusBadge.d.ts} +0 -0
- package/dist/cjs/{stories → StatusBadge}/StatusBadge.stories.d.ts +0 -0
- package/dist/cjs/{Timeline.d.ts → Timeline/Timeline.d.ts} +0 -0
- package/dist/cjs/{stories → Timeline}/Timeline.stories.d.ts +0 -0
- package/dist/cjs/{TimingInput.d.ts → TimingInput/TimingInput.d.ts} +0 -0
- package/dist/cjs/{stories → TimingInput}/TimingInput.stories.d.ts +0 -0
- package/dist/cjs/{ValueSetAutocomplete.d.ts → ValueSetAutocomplete/ValueSetAutocomplete.d.ts} +0 -0
- package/dist/cjs/auth/AuthenticationForm.d.ts +2 -10
- package/dist/cjs/auth/ChooseScopeForm.d.ts +7 -0
- package/dist/cjs/{stories → auth}/RegisterForm.stories.d.ts +0 -0
- package/dist/cjs/auth/SignInForm.d.ts +3 -10
- package/dist/cjs/{stories → auth}/SignInForm.stories.d.ts +0 -0
- package/dist/cjs/index.d.ts +66 -65
- package/dist/cjs/index.js +447 -231
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.min.js +1 -1
- package/dist/cjs/index.min.js.map +1 -1
- package/dist/cjs/stories/referenceLab.d.ts +3 -0
- package/dist/cjs/{useResource.d.ts → useResource/useResource.d.ts} +0 -0
- package/dist/cjs/{QuestionnaireUtils.d.ts → utils/questionnaire.d.ts} +0 -0
- package/dist/cjs/{utils.d.ts → utils/script.d.ts} +0 -0
- package/dist/esm/{AddressDisplay.d.ts → AddressDisplay/AddressDisplay.d.ts} +0 -0
- package/dist/esm/{AddressDisplay.js → AddressDisplay/AddressDisplay.js} +0 -0
- package/dist/esm/AddressDisplay/AddressDisplay.js.map +1 -0
- package/dist/esm/{AddressInput.d.ts → AddressInput/AddressInput.d.ts} +0 -0
- package/dist/esm/{AddressInput.js → AddressInput/AddressInput.js} +0 -0
- package/dist/esm/AddressInput/AddressInput.js.map +1 -0
- package/dist/esm/{stories → AddressInput}/AddressInput.stories.d.ts +0 -0
- package/dist/esm/{AnnotationInput.d.ts → AnnotationInput/AnnotationInput.d.ts} +0 -0
- package/dist/esm/{AnnotationInput.js → AnnotationInput/AnnotationInput.js} +1 -1
- package/dist/esm/AnnotationInput/AnnotationInput.js.map +1 -0
- package/dist/esm/{AttachmentArrayDisplay.d.ts → AttachmentArrayDisplay/AttachmentArrayDisplay.d.ts} +0 -0
- package/dist/esm/{AttachmentArrayDisplay.js → AttachmentArrayDisplay/AttachmentArrayDisplay.js} +1 -1
- package/dist/esm/AttachmentArrayDisplay/AttachmentArrayDisplay.js.map +1 -0
- package/dist/esm/{AttachmentArrayInput.d.ts → AttachmentArrayInput/AttachmentArrayInput.d.ts} +0 -0
- package/dist/esm/{AttachmentArrayInput.js → AttachmentArrayInput/AttachmentArrayInput.js} +3 -3
- package/dist/esm/AttachmentArrayInput/AttachmentArrayInput.js.map +1 -0
- package/dist/esm/{stories → AttachmentArrayInput}/AttachmentArrayInput.stories.d.ts +0 -0
- package/dist/esm/{AttachmentButton.d.ts → AttachmentButton/AttachmentButton.d.ts} +0 -0
- package/dist/esm/{AttachmentButton.js → AttachmentButton/AttachmentButton.js} +2 -2
- package/dist/esm/AttachmentButton/AttachmentButton.js.map +1 -0
- package/dist/esm/{stories → AttachmentButton}/AttachmentButton.stories.d.ts +0 -0
- package/dist/esm/{AttachmentDisplay.d.ts → AttachmentDisplay/AttachmentDisplay.d.ts} +0 -0
- package/dist/esm/{AttachmentDisplay.js → AttachmentDisplay/AttachmentDisplay.js} +0 -0
- package/dist/esm/AttachmentDisplay/AttachmentDisplay.js.map +1 -0
- package/dist/esm/{AttachmentInput.d.ts → AttachmentInput/AttachmentInput.d.ts} +0 -0
- package/dist/esm/{AttachmentInput.js → AttachmentInput/AttachmentInput.js} +3 -3
- package/dist/esm/AttachmentInput/AttachmentInput.js.map +1 -0
- package/dist/esm/{stories → AttachmentInput}/AttachmentInput.stories.d.ts +0 -0
- package/dist/esm/{BackboneElementDisplay.d.ts → BackboneElementDisplay/BackboneElementDisplay.d.ts} +0 -0
- package/dist/esm/{BackboneElementDisplay.js → BackboneElementDisplay/BackboneElementDisplay.js} +7 -4
- package/dist/esm/BackboneElementDisplay/BackboneElementDisplay.js.map +1 -0
- package/dist/esm/{BackboneElementInput.d.ts → BackboneElementInput/BackboneElementInput.d.ts} +0 -0
- package/dist/esm/{BackboneElementInput.js → BackboneElementInput/BackboneElementInput.js} +6 -6
- package/dist/esm/BackboneElementInput/BackboneElementInput.js.map +1 -0
- package/dist/esm/{CalendarInput.d.ts → CalendarInput/CalendarInput.d.ts} +0 -0
- package/dist/esm/{CalendarInput.js → CalendarInput/CalendarInput.js} +0 -0
- package/dist/esm/CalendarInput/CalendarInput.js.map +1 -0
- package/dist/esm/{CheckboxFormSection.d.ts → CheckboxFormSection/CheckboxFormSection.d.ts} +0 -0
- package/dist/esm/{CheckboxFormSection.js → CheckboxFormSection/CheckboxFormSection.js} +0 -0
- package/dist/esm/CheckboxFormSection/CheckboxFormSection.js.map +1 -0
- package/dist/esm/{CodeInput.d.ts → CodeInput/CodeInput.d.ts} +0 -0
- package/dist/esm/{CodeInput.js → CodeInput/CodeInput.js} +1 -1
- package/dist/esm/CodeInput/CodeInput.js.map +1 -0
- package/dist/esm/{stories → CodeInput}/CodeInput.stories.d.ts +0 -0
- package/dist/esm/{CodeableConceptDisplay.d.ts → CodeableConceptDisplay/CodeableConceptDisplay.d.ts} +0 -0
- package/dist/esm/{CodeableConceptDisplay.js → CodeableConceptDisplay/CodeableConceptDisplay.js} +1 -1
- package/dist/esm/CodeableConceptDisplay/CodeableConceptDisplay.js.map +1 -0
- package/dist/esm/{stories → CodeableConceptDisplay}/CodeableConceptDisplay.stories.d.ts +0 -0
- package/dist/esm/{CodeableConceptInput.d.ts → CodeableConceptInput/CodeableConceptInput.d.ts} +0 -0
- package/dist/esm/{CodeableConceptInput.js → CodeableConceptInput/CodeableConceptInput.js} +1 -1
- package/dist/esm/CodeableConceptInput/CodeableConceptInput.js.map +1 -0
- package/dist/esm/{stories → CodeableConceptInput}/CodeableConceptInput.stories.d.ts +0 -0
- package/dist/esm/{CodingDisplay.d.ts → CodingDisplay/CodingDisplay.d.ts} +0 -0
- package/dist/esm/{CodingDisplay.js → CodingDisplay/CodingDisplay.js} +0 -0
- package/dist/esm/CodingDisplay/CodingDisplay.js.map +1 -0
- package/dist/esm/{CodingInput.d.ts → CodingInput/CodingInput.d.ts} +0 -0
- package/dist/esm/{CodingInput.js → CodingInput/CodingInput.js} +1 -1
- package/dist/esm/CodingInput/CodingInput.js.map +1 -0
- package/dist/esm/{ContactDetailDisplay.d.ts → ContactDetailDisplay/ContactDetailDisplay.d.ts} +0 -0
- package/dist/esm/{ContactDetailDisplay.js → ContactDetailDisplay/ContactDetailDisplay.js} +1 -1
- package/dist/esm/ContactDetailDisplay/ContactDetailDisplay.js.map +1 -0
- package/dist/esm/{ContactDetailInput.d.ts → ContactDetailInput/ContactDetailInput.d.ts} +0 -0
- package/dist/esm/{ContactDetailInput.js → ContactDetailInput/ContactDetailInput.js} +1 -1
- package/dist/esm/ContactDetailInput/ContactDetailInput.js.map +1 -0
- package/dist/esm/{ContactPointDisplay.d.ts → ContactPointDisplay/ContactPointDisplay.d.ts} +0 -0
- package/dist/esm/{ContactPointDisplay.js → ContactPointDisplay/ContactPointDisplay.js} +0 -0
- package/dist/esm/ContactPointDisplay/ContactPointDisplay.js.map +1 -0
- package/dist/esm/{ContactPointInput.d.ts → ContactPointInput/ContactPointInput.d.ts} +0 -0
- package/dist/esm/{ContactPointInput.js → ContactPointInput/ContactPointInput.js} +0 -0
- package/dist/esm/ContactPointInput/ContactPointInput.js.map +1 -0
- package/dist/esm/{DateTimeInput.d.ts → DateTimeInput/DateTimeInput.d.ts} +0 -0
- package/dist/esm/{DateTimeInput.js → DateTimeInput/DateTimeInput.js} +1 -1
- package/dist/esm/DateTimeInput/DateTimeInput.js.map +1 -0
- package/dist/esm/{DefaultResourceTimeline.d.ts → DefaultResourceTimeline/DefaultResourceTimeline.d.ts} +0 -0
- package/dist/esm/{DefaultResourceTimeline.js → DefaultResourceTimeline/DefaultResourceTimeline.js} +1 -1
- package/dist/esm/DefaultResourceTimeline/DefaultResourceTimeline.js.map +1 -0
- package/dist/esm/{DescriptionList.d.ts → DescriptionList/DescriptionList.d.ts} +0 -0
- package/dist/esm/{DescriptionList.js → DescriptionList/DescriptionList.js} +0 -0
- package/dist/esm/DescriptionList/DescriptionList.js.map +1 -0
- package/dist/esm/{stories → DescriptionList}/DescriptionList.stories.d.ts +0 -0
- package/dist/esm/{DiagnosticReportDisplay.d.ts → DiagnosticReportDisplay/DiagnosticReportDisplay.d.ts} +0 -0
- package/dist/esm/{DiagnosticReportDisplay.js → DiagnosticReportDisplay/DiagnosticReportDisplay.js} +7 -7
- package/dist/esm/DiagnosticReportDisplay/DiagnosticReportDisplay.js.map +1 -0
- package/dist/esm/{stories → DiagnosticReportDisplay}/DiagnosticReportDisplay.stories.d.ts +0 -0
- package/dist/esm/{Document.d.ts → Document/Document.d.ts} +0 -0
- package/dist/esm/{Document.js → Document/Document.js} +0 -0
- package/dist/esm/Document/Document.js.map +1 -0
- package/dist/esm/{EncounterTimeline.d.ts → EncounterTimeline/EncounterTimeline.d.ts} +0 -0
- package/dist/esm/{EncounterTimeline.js → EncounterTimeline/EncounterTimeline.js} +1 -1
- package/dist/esm/EncounterTimeline/EncounterTimeline.js.map +1 -0
- package/dist/esm/{stories → EncounterTimeline}/EncounterTimeline.stories.d.ts +0 -0
- package/dist/esm/{ErrorBoundary.d.ts → ErrorBoundary/ErrorBoundary.d.ts} +0 -0
- package/dist/esm/{ErrorBoundary.js → ErrorBoundary/ErrorBoundary.js} +4 -2
- package/dist/esm/ErrorBoundary/ErrorBoundary.js.map +1 -0
- package/dist/esm/{ExtensionInput.d.ts → ExtensionInput/ExtensionInput.d.ts} +0 -0
- package/dist/esm/{ExtensionInput.js → ExtensionInput/ExtensionInput.js} +0 -0
- package/dist/esm/ExtensionInput/ExtensionInput.js.map +1 -0
- package/dist/esm/{FhirPathDisplay.d.ts → FhirPathDisplay/FhirPathDisplay.d.ts} +0 -0
- package/dist/esm/{FhirPathDisplay.js → FhirPathDisplay/FhirPathDisplay.js} +1 -1
- package/dist/esm/FhirPathDisplay/FhirPathDisplay.js.map +1 -0
- package/dist/esm/{stories → FhirPathDisplay}/FhirPathDisplay.stories.d.ts +1 -1
- package/dist/esm/{FhirPathTable.d.ts → FhirPathTable/FhirPathTable.d.ts} +1 -1
- package/dist/esm/{FhirPathTable.js → FhirPathTable/FhirPathTable.js} +4 -4
- package/dist/esm/FhirPathTable/FhirPathTable.js.map +1 -0
- package/dist/esm/{Form.d.ts → Form/Form.d.ts} +0 -0
- package/dist/esm/{Form.js → Form/Form.js} +0 -0
- package/dist/esm/Form/Form.js.map +1 -0
- package/dist/esm/{FormUtils.d.ts → Form/FormUtils.d.ts} +0 -0
- package/dist/esm/{FormUtils.js → Form/FormUtils.js} +0 -0
- package/dist/esm/Form/FormUtils.js.map +1 -0
- package/dist/esm/{FormSection.d.ts → FormSection/FormSection.d.ts} +0 -0
- package/dist/esm/{FormSection.js → FormSection/FormSection.js} +1 -1
- package/dist/esm/FormSection/FormSection.js.map +1 -0
- package/dist/esm/{GoogleButton.d.ts → GoogleButton/GoogleButton.d.ts} +0 -0
- package/dist/esm/{GoogleButton.js → GoogleButton/GoogleButton.js} +2 -2
- package/dist/esm/GoogleButton/GoogleButton.js.map +1 -0
- package/dist/esm/{HumanNameDisplay.d.ts → HumanNameDisplay/HumanNameDisplay.d.ts} +0 -0
- package/dist/esm/{HumanNameDisplay.js → HumanNameDisplay/HumanNameDisplay.js} +0 -0
- package/dist/esm/HumanNameDisplay/HumanNameDisplay.js.map +1 -0
- package/dist/esm/{HumanNameInput.d.ts → HumanNameInput/HumanNameInput.d.ts} +0 -0
- package/dist/esm/{HumanNameInput.js → HumanNameInput/HumanNameInput.js} +0 -0
- package/dist/esm/HumanNameInput/HumanNameInput.js.map +1 -0
- package/dist/esm/{IdentifierDisplay.d.ts → IdentifierDisplay/IdentifierDisplay.d.ts} +0 -0
- package/dist/esm/{IdentifierDisplay.js → IdentifierDisplay/IdentifierDisplay.js} +0 -0
- package/dist/esm/IdentifierDisplay/IdentifierDisplay.js.map +1 -0
- package/dist/esm/{IdentifierInput.d.ts → IdentifierInput/IdentifierInput.d.ts} +0 -0
- package/dist/esm/{IdentifierInput.js → IdentifierInput/IdentifierInput.js} +0 -0
- package/dist/esm/IdentifierInput/IdentifierInput.js.map +1 -0
- package/dist/esm/{Logo.d.ts → Logo/Logo.d.ts} +0 -0
- package/dist/esm/{Logo.js → Logo/Logo.js} +0 -0
- package/dist/esm/Logo/Logo.js.map +1 -0
- package/dist/esm/{stories → Logo}/Logo.stories.d.ts +0 -0
- package/dist/esm/{MedplumLink.d.ts → MedplumLink/MedplumLink.d.ts} +0 -0
- package/dist/esm/{MedplumLink.js → MedplumLink/MedplumLink.js} +2 -2
- package/dist/esm/MedplumLink/MedplumLink.js.map +1 -0
- package/dist/esm/{MedplumProvider.d.ts → MedplumProvider/MedplumProvider.d.ts} +0 -0
- package/dist/esm/{MedplumProvider.js → MedplumProvider/MedplumProvider.js} +0 -0
- package/dist/esm/MedplumProvider/MedplumProvider.js.map +1 -0
- package/dist/esm/{PatientTimeline.d.ts → PatientTimeline/PatientTimeline.d.ts} +0 -0
- package/dist/esm/{PatientTimeline.js → PatientTimeline/PatientTimeline.js} +1 -1
- package/dist/esm/PatientTimeline/PatientTimeline.js.map +1 -0
- package/dist/esm/{stories → PatientTimeline}/PatientTimeline.stories.d.ts +0 -0
- package/dist/esm/{PeriodInput.d.ts → PeriodInput/PeriodInput.d.ts} +0 -0
- package/dist/esm/{PeriodInput.js → PeriodInput/PeriodInput.js} +1 -1
- package/dist/esm/PeriodInput/PeriodInput.js.map +1 -0
- package/dist/esm/{stories → PeriodInput}/PeriodInput.stories.d.ts +0 -0
- package/dist/esm/{PlanDefinitionBuilder.d.ts → PlanDefinitionBuilder/PlanDefinitionBuilder.d.ts} +0 -0
- package/dist/esm/{PlanDefinitionBuilder.js → PlanDefinitionBuilder/PlanDefinitionBuilder.js} +10 -10
- package/dist/esm/PlanDefinitionBuilder/PlanDefinitionBuilder.js.map +1 -0
- package/dist/esm/{stories → PlanDefinitionBuilder}/PlanDefinitionBuilder.stories.d.ts +0 -0
- package/dist/esm/{QuantityDisplay.d.ts → QuantityDisplay/QuantityDisplay.d.ts} +0 -1
- package/dist/esm/QuantityDisplay/QuantityDisplay.js +9 -0
- package/dist/esm/QuantityDisplay/QuantityDisplay.js.map +1 -0
- package/dist/esm/{QuantityInput.d.ts → QuantityInput/QuantityInput.d.ts} +0 -0
- package/dist/esm/{QuantityInput.js → QuantityInput/QuantityInput.js} +2 -2
- package/dist/esm/QuantityInput/QuantityInput.js.map +1 -0
- package/dist/esm/{QuestionnaireBuilder.d.ts → QuestionnaireBuilder/QuestionnaireBuilder.d.ts} +0 -0
- package/dist/esm/{QuestionnaireBuilder.js → QuestionnaireBuilder/QuestionnaireBuilder.js} +8 -8
- package/dist/esm/QuestionnaireBuilder/QuestionnaireBuilder.js.map +1 -0
- package/dist/esm/{stories → QuestionnaireBuilder}/QuestionnaireBuilder.stories.d.ts +0 -0
- package/dist/esm/{QuestionnaireForm.d.ts → QuestionnaireForm/QuestionnaireForm.d.ts} +0 -0
- package/dist/esm/{QuestionnaireForm.js → QuestionnaireForm/QuestionnaireForm.js} +11 -11
- package/dist/esm/QuestionnaireForm/QuestionnaireForm.js.map +1 -0
- package/dist/esm/{stories → QuestionnaireForm}/QuestionnaireForm.stories.d.ts +0 -0
- package/dist/esm/{RangeDisplay.d.ts → RangeDisplay/RangeDisplay.d.ts} +0 -1
- package/dist/esm/RangeDisplay/RangeDisplay.js +9 -0
- package/dist/esm/RangeDisplay/RangeDisplay.js.map +1 -0
- package/dist/esm/{RangeInput.d.ts → RangeInput/RangeInput.d.ts} +0 -0
- package/dist/esm/{RangeInput.js → RangeInput/RangeInput.js} +1 -1
- package/dist/esm/RangeInput/RangeInput.js.map +1 -0
- package/dist/esm/{RatioDisplay.d.ts → RatioDisplay/RatioDisplay.d.ts} +0 -0
- package/dist/esm/{RatioDisplay.js → RatioDisplay/RatioDisplay.js} +1 -1
- package/dist/esm/RatioDisplay/RatioDisplay.js.map +1 -0
- package/dist/esm/{RatioInput.d.ts → RatioInput/RatioInput.d.ts} +0 -0
- package/dist/esm/{RatioInput.js → RatioInput/RatioInput.js} +1 -1
- package/dist/esm/RatioInput/RatioInput.js.map +1 -0
- package/dist/esm/{ReferenceDisplay.d.ts → ReferenceDisplay/ReferenceDisplay.d.ts} +0 -0
- package/dist/esm/{ReferenceDisplay.js → ReferenceDisplay/ReferenceDisplay.js} +1 -1
- package/dist/esm/ReferenceDisplay/ReferenceDisplay.js.map +1 -0
- package/dist/esm/{ReferenceInput.d.ts → ReferenceInput/ReferenceInput.d.ts} +0 -0
- package/dist/esm/{ReferenceInput.js → ReferenceInput/ReferenceInput.js} +1 -1
- package/dist/esm/ReferenceInput/ReferenceInput.js.map +1 -0
- package/dist/esm/{stories → ReferenceInput}/ReferenceInput.stories.d.ts +0 -0
- package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.d.ts +27 -0
- package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.js +270 -0
- package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.js.map +1 -0
- package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.stories.d.ts +7 -0
- package/dist/esm/{RequestGroupDisplay.d.ts → RequestGroupDisplay/RequestGroupDisplay.d.ts} +0 -0
- package/dist/esm/{RequestGroupDisplay.js → RequestGroupDisplay/RequestGroupDisplay.js} +4 -4
- package/dist/esm/RequestGroupDisplay/RequestGroupDisplay.js.map +1 -0
- package/dist/esm/{stories → RequestGroupDisplay}/RequestGroupDisplay.stories.d.ts +0 -0
- package/dist/esm/{ResourceArrayDisplay.d.ts → ResourceArrayDisplay/ResourceArrayDisplay.d.ts} +0 -0
- package/dist/esm/{ResourceArrayDisplay.js → ResourceArrayDisplay/ResourceArrayDisplay.js} +1 -1
- package/dist/esm/ResourceArrayDisplay/ResourceArrayDisplay.js.map +1 -0
- package/dist/esm/{ResourceArrayInput.d.ts → ResourceArrayInput/ResourceArrayInput.d.ts} +0 -0
- package/dist/esm/{ResourceArrayInput.js → ResourceArrayInput/ResourceArrayInput.js} +2 -2
- package/dist/esm/ResourceArrayInput/ResourceArrayInput.js.map +1 -0
- package/dist/esm/{ResourceAvatar.d.ts → ResourceAvatar/ResourceAvatar.d.ts} +0 -0
- package/dist/esm/{ResourceAvatar.js → ResourceAvatar/ResourceAvatar.js} +2 -2
- package/dist/esm/ResourceAvatar/ResourceAvatar.js.map +1 -0
- package/dist/esm/{stories → ResourceAvatar}/ResourceAvatar.stories.d.ts +0 -0
- package/dist/esm/{ResourceBadge.d.ts → ResourceBadge/ResourceBadge.d.ts} +0 -0
- package/dist/esm/{ResourceBadge.js → ResourceBadge/ResourceBadge.js} +2 -2
- package/dist/esm/ResourceBadge/ResourceBadge.js.map +1 -0
- package/dist/esm/{ResourceBlame.d.ts → ResourceBlame/ResourceBlame.d.ts} +0 -0
- package/dist/esm/{ResourceBlame.js → ResourceBlame/ResourceBlame.js} +4 -4
- package/dist/esm/ResourceBlame/ResourceBlame.js.map +1 -0
- package/dist/esm/{stories → ResourceBlame}/ResourceBlame.stories.d.ts +0 -0
- package/dist/esm/{ResourceDiff.d.ts → ResourceDiff/ResourceDiff.d.ts} +0 -0
- package/dist/esm/{ResourceDiff.js → ResourceDiff/ResourceDiff.js} +1 -1
- package/dist/esm/ResourceDiff/ResourceDiff.js.map +1 -0
- package/dist/esm/{ResourceDiffTable.d.ts → ResourceDiffTable/ResourceDiffTable.d.ts} +0 -0
- package/dist/esm/{ResourceDiffTable.js → ResourceDiffTable/ResourceDiffTable.js} +2 -2
- package/dist/esm/ResourceDiffTable/ResourceDiffTable.js.map +1 -0
- package/dist/esm/ResourceDiffTable/ResourceDiffTable.stories.d.ts +5 -0
- package/dist/esm/{ResourceForm.d.ts → ResourceForm/ResourceForm.d.ts} +0 -0
- package/dist/esm/{ResourceForm.js → ResourceForm/ResourceForm.js} +5 -5
- package/dist/esm/ResourceForm/ResourceForm.js.map +1 -0
- package/dist/esm/{stories → ResourceForm}/ResourceForm.stories.d.ts +0 -0
- package/dist/esm/{ResourceHistoryTable.d.ts → ResourceHistoryTable/ResourceHistoryTable.d.ts} +0 -0
- package/dist/esm/{ResourceHistoryTable.js → ResourceHistoryTable/ResourceHistoryTable.js} +3 -3
- package/dist/esm/ResourceHistoryTable/ResourceHistoryTable.js.map +1 -0
- package/dist/esm/{stories → ResourceHistoryTable}/ResourceHistoryTable.stories.d.ts +0 -0
- package/dist/esm/{ResourceInput.d.ts → ResourceInput/ResourceInput.d.ts} +0 -0
- package/dist/esm/{ResourceInput.js → ResourceInput/ResourceInput.js} +4 -4
- package/dist/esm/ResourceInput/ResourceInput.js.map +1 -0
- package/dist/esm/{stories → ResourceInput}/ResourceInput.stories.d.ts +0 -0
- package/dist/esm/{ResourceName.d.ts → ResourceName/ResourceName.d.ts} +0 -0
- package/dist/esm/{ResourceName.js → ResourceName/ResourceName.js} +3 -3
- package/dist/esm/ResourceName/ResourceName.js.map +1 -0
- package/dist/esm/{ResourcePropertyDisplay.d.ts → ResourcePropertyDisplay/ResourcePropertyDisplay.d.ts} +0 -0
- package/dist/esm/{ResourcePropertyDisplay.js → ResourcePropertyDisplay/ResourcePropertyDisplay.js} +15 -15
- package/dist/esm/ResourcePropertyDisplay/ResourcePropertyDisplay.js.map +1 -0
- package/dist/esm/{ResourcePropertyInput.d.ts → ResourcePropertyInput/ResourcePropertyInput.d.ts} +0 -0
- package/dist/esm/{ResourcePropertyInput.js → ResourcePropertyInput/ResourcePropertyInput.js} +22 -22
- package/dist/esm/ResourcePropertyInput/ResourcePropertyInput.js.map +1 -0
- package/dist/esm/{ResourceTable.d.ts → ResourceTable/ResourceTable.d.ts} +0 -0
- package/dist/esm/{ResourceTable.js → ResourceTable/ResourceTable.js} +3 -3
- package/dist/esm/ResourceTable/ResourceTable.js.map +1 -0
- package/dist/esm/{stories → ResourceTable}/ResourceTable.stories.d.ts +0 -0
- package/dist/esm/{ResourceTimeline.d.ts → ResourceTimeline/ResourceTimeline.d.ts} +0 -0
- package/dist/esm/{ResourceTimeline.js → ResourceTimeline/ResourceTimeline.js} +15 -14
- package/dist/esm/ResourceTimeline/ResourceTimeline.js.map +1 -0
- package/dist/esm/{Scheduler.d.ts → Scheduler/Scheduler.d.ts} +0 -0
- package/dist/esm/{Scheduler.js → Scheduler/Scheduler.js} +6 -6
- package/dist/esm/Scheduler/Scheduler.js.map +1 -0
- package/dist/esm/{stories → Scheduler}/Scheduler.stories.d.ts +0 -0
- package/dist/esm/{SearchControl.d.ts → SearchControl/SearchControl.d.ts} +0 -0
- package/dist/esm/{SearchControl.js → SearchControl/SearchControl.js} +12 -11
- package/dist/esm/SearchControl/SearchControl.js.map +1 -0
- package/dist/esm/{stories → SearchControl}/SearchControl.stories.d.ts +0 -0
- package/dist/esm/{SearchControlField.d.ts → SearchControl/SearchControlField.d.ts} +0 -0
- package/dist/esm/{SearchControlField.js → SearchControl/SearchControlField.js} +0 -0
- package/dist/esm/SearchControl/SearchControlField.js.map +1 -0
- package/dist/esm/{SearchUtils.d.ts → SearchControl/SearchUtils.d.ts} +0 -21
- package/dist/esm/{SearchUtils.js → SearchControl/SearchUtils.js} +2 -33
- package/dist/esm/SearchControl/SearchUtils.js.map +1 -0
- package/dist/esm/{SearchFieldEditor.d.ts → SearchFieldEditor/SearchFieldEditor.d.ts} +0 -0
- package/dist/esm/{SearchFieldEditor.js → SearchFieldEditor/SearchFieldEditor.js} +1 -1
- package/dist/esm/SearchFieldEditor/SearchFieldEditor.js.map +1 -0
- package/dist/esm/{SearchFilterEditor.d.ts → SearchFilterEditor/SearchFilterEditor.d.ts} +0 -0
- package/dist/esm/{SearchFilterEditor.js → SearchFilterEditor/SearchFilterEditor.js} +3 -3
- package/dist/esm/SearchFilterEditor/SearchFilterEditor.js.map +1 -0
- package/dist/esm/{SearchFilterValueDialog.d.ts → SearchFilterValueDialog/SearchFilterValueDialog.d.ts} +0 -0
- package/dist/esm/{SearchFilterValueDialog.js → SearchFilterValueDialog/SearchFilterValueDialog.js} +2 -2
- package/dist/esm/SearchFilterValueDialog/SearchFilterValueDialog.js.map +1 -0
- package/dist/esm/{SearchFilterValueDisplay.d.ts → SearchFilterValueDisplay/SearchFilterValueDisplay.d.ts} +0 -0
- package/dist/esm/{SearchFilterValueDisplay.js → SearchFilterValueDisplay/SearchFilterValueDisplay.js} +1 -1
- package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.js.map +1 -0
- package/dist/esm/{SearchFilterValueInput.d.ts → SearchFilterValueInput/SearchFilterValueInput.d.ts} +0 -0
- package/dist/esm/{SearchFilterValueInput.js → SearchFilterValueInput/SearchFilterValueInput.js} +3 -3
- package/dist/esm/SearchFilterValueInput/SearchFilterValueInput.js.map +1 -0
- package/dist/esm/{SearchPopupMenu.d.ts → SearchPopupMenu/SearchPopupMenu.d.ts} +0 -0
- package/dist/esm/{SearchPopupMenu.js → SearchPopupMenu/SearchPopupMenu.js} +1 -1
- package/dist/esm/SearchPopupMenu/SearchPopupMenu.js.map +1 -0
- package/dist/esm/{ServiceRequestTimeline.d.ts → ServiceRequestTimeline/ServiceRequestTimeline.d.ts} +0 -0
- package/dist/esm/{ServiceRequestTimeline.js → ServiceRequestTimeline/ServiceRequestTimeline.js} +1 -1
- package/dist/esm/ServiceRequestTimeline/ServiceRequestTimeline.js.map +1 -0
- package/dist/esm/{StatusBadge.d.ts → StatusBadge/StatusBadge.d.ts} +0 -0
- package/dist/esm/{StatusBadge.js → StatusBadge/StatusBadge.js} +0 -0
- package/dist/esm/StatusBadge/StatusBadge.js.map +1 -0
- package/dist/esm/{stories → StatusBadge}/StatusBadge.stories.d.ts +0 -0
- package/dist/esm/{Timeline.d.ts → Timeline/Timeline.d.ts} +0 -0
- package/dist/esm/{Timeline.js → Timeline/Timeline.js} +4 -4
- package/dist/esm/Timeline/Timeline.js.map +1 -0
- package/dist/esm/{stories → Timeline}/Timeline.stories.d.ts +0 -0
- package/dist/esm/{TimingInput.d.ts → TimingInput/TimingInput.d.ts} +0 -0
- package/dist/esm/{TimingInput.js → TimingInput/TimingInput.js} +2 -2
- package/dist/esm/TimingInput/TimingInput.js.map +1 -0
- package/dist/esm/{stories → TimingInput}/TimingInput.stories.d.ts +0 -0
- package/dist/esm/{ValueSetAutocomplete.d.ts → ValueSetAutocomplete/ValueSetAutocomplete.d.ts} +0 -0
- package/dist/esm/{ValueSetAutocomplete.js → ValueSetAutocomplete/ValueSetAutocomplete.js} +5 -5
- package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.js.map +1 -0
- package/dist/esm/auth/AuthenticationForm.d.ts +2 -10
- package/dist/esm/auth/AuthenticationForm.js +13 -33
- package/dist/esm/auth/AuthenticationForm.js.map +1 -1
- package/dist/esm/auth/ChooseProfileForm.js +2 -2
- package/dist/esm/auth/ChooseProfileForm.js.map +1 -1
- package/dist/esm/auth/ChooseScopeForm.d.ts +7 -0
- package/dist/esm/auth/ChooseScopeForm.js +28 -0
- package/dist/esm/auth/ChooseScopeForm.js.map +1 -0
- package/dist/esm/auth/NewProjectForm.js +3 -3
- package/dist/esm/auth/NewProjectForm.js.map +1 -1
- package/dist/esm/auth/NewUserForm.js +4 -3
- package/dist/esm/auth/NewUserForm.js.map +1 -1
- package/dist/esm/auth/RegisterForm.js +2 -2
- package/dist/esm/auth/RegisterForm.js.map +1 -1
- package/dist/esm/{stories → auth}/RegisterForm.stories.d.ts +0 -0
- package/dist/esm/auth/SignInForm.d.ts +3 -10
- package/dist/esm/auth/SignInForm.js +30 -13
- package/dist/esm/auth/SignInForm.js.map +1 -1
- package/dist/esm/{stories → auth}/SignInForm.stories.d.ts +0 -0
- package/dist/esm/index.d.ts +66 -65
- package/dist/esm/index.js +66 -65
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +1 -1
- package/dist/esm/index.min.js.map +1 -1
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/esm/stories/referenceLab.d.ts +3 -0
- package/dist/esm/{useResource.d.ts → useResource/useResource.d.ts} +0 -0
- package/dist/esm/{useResource.js → useResource/useResource.js} +1 -1
- package/dist/esm/useResource/useResource.js.map +1 -0
- package/dist/esm/{QuestionnaireUtils.d.ts → utils/questionnaire.d.ts} +0 -0
- package/dist/esm/{QuestionnaireUtils.js → utils/questionnaire.js} +1 -1
- package/dist/esm/utils/questionnaire.js.map +1 -0
- package/dist/esm/utils/recaptcha.js +1 -1
- package/dist/esm/utils/recaptcha.js.map +1 -1
- package/dist/esm/{utils.d.ts → utils/script.d.ts} +0 -0
- package/dist/esm/{utils.js → utils/script.js} +1 -1
- package/dist/esm/utils/script.js.map +1 -0
- package/package.json +25 -25
- package/rollup.config.mjs +1 -1
- package/dist/esm/AddressDisplay.js.map +0 -1
- package/dist/esm/AddressInput.js.map +0 -1
- package/dist/esm/AnnotationInput.js.map +0 -1
- package/dist/esm/AttachmentArrayDisplay.js.map +0 -1
- package/dist/esm/AttachmentArrayInput.js.map +0 -1
- package/dist/esm/AttachmentButton.js.map +0 -1
- package/dist/esm/AttachmentDisplay.js.map +0 -1
- package/dist/esm/AttachmentInput.js.map +0 -1
- package/dist/esm/BackboneElementDisplay.js.map +0 -1
- package/dist/esm/BackboneElementInput.js.map +0 -1
- package/dist/esm/CalendarInput.js.map +0 -1
- package/dist/esm/CheckboxFormSection.js.map +0 -1
- package/dist/esm/CodeInput.js.map +0 -1
- package/dist/esm/CodeableConceptDisplay.js.map +0 -1
- package/dist/esm/CodeableConceptInput.js.map +0 -1
- package/dist/esm/CodingDisplay.js.map +0 -1
- package/dist/esm/CodingInput.js.map +0 -1
- package/dist/esm/ContactDetailDisplay.js.map +0 -1
- package/dist/esm/ContactDetailInput.js.map +0 -1
- package/dist/esm/ContactPointDisplay.js.map +0 -1
- package/dist/esm/ContactPointInput.js.map +0 -1
- package/dist/esm/DateTimeInput.js.map +0 -1
- package/dist/esm/DefaultResourceTimeline.js.map +0 -1
- package/dist/esm/DescriptionList.js.map +0 -1
- package/dist/esm/DiagnosticReportDisplay.js.map +0 -1
- package/dist/esm/Document.js.map +0 -1
- package/dist/esm/EncounterTimeline.js.map +0 -1
- package/dist/esm/ErrorBoundary.js.map +0 -1
- package/dist/esm/ExtensionInput.js.map +0 -1
- package/dist/esm/FhirPathDisplay.js.map +0 -1
- package/dist/esm/FhirPathTable.js.map +0 -1
- package/dist/esm/Form.js.map +0 -1
- package/dist/esm/FormSection.js.map +0 -1
- package/dist/esm/FormUtils.js.map +0 -1
- package/dist/esm/GoogleButton.js.map +0 -1
- package/dist/esm/HumanNameDisplay.js.map +0 -1
- package/dist/esm/HumanNameInput.js.map +0 -1
- package/dist/esm/IdentifierDisplay.js.map +0 -1
- package/dist/esm/IdentifierInput.js.map +0 -1
- package/dist/esm/Logo.js.map +0 -1
- package/dist/esm/MedplumLink.js.map +0 -1
- package/dist/esm/MedplumProvider.js.map +0 -1
- package/dist/esm/PatientTimeline.js.map +0 -1
- package/dist/esm/PeriodInput.js.map +0 -1
- package/dist/esm/PlanDefinitionBuilder.js.map +0 -1
- package/dist/esm/QuantityDisplay.js +0 -28
- package/dist/esm/QuantityDisplay.js.map +0 -1
- package/dist/esm/QuantityInput.js.map +0 -1
- package/dist/esm/QuestionnaireBuilder.js.map +0 -1
- package/dist/esm/QuestionnaireForm.js.map +0 -1
- package/dist/esm/QuestionnaireUtils.js.map +0 -1
- package/dist/esm/RangeDisplay.js +0 -21
- package/dist/esm/RangeDisplay.js.map +0 -1
- package/dist/esm/RangeInput.js.map +0 -1
- package/dist/esm/RatioDisplay.js.map +0 -1
- package/dist/esm/RatioInput.js.map +0 -1
- package/dist/esm/ReferenceDisplay.js.map +0 -1
- package/dist/esm/ReferenceInput.js.map +0 -1
- package/dist/esm/RequestGroupDisplay.js.map +0 -1
- package/dist/esm/ResourceArrayDisplay.js.map +0 -1
- package/dist/esm/ResourceArrayInput.js.map +0 -1
- package/dist/esm/ResourceAvatar.js.map +0 -1
- package/dist/esm/ResourceBadge.js.map +0 -1
- package/dist/esm/ResourceBlame.js.map +0 -1
- package/dist/esm/ResourceDiff.js.map +0 -1
- package/dist/esm/ResourceDiffTable.js.map +0 -1
- package/dist/esm/ResourceForm.js.map +0 -1
- package/dist/esm/ResourceHistoryTable.js.map +0 -1
- package/dist/esm/ResourceInput.js.map +0 -1
- package/dist/esm/ResourceName.js.map +0 -1
- package/dist/esm/ResourcePropertyDisplay.js.map +0 -1
- package/dist/esm/ResourcePropertyInput.js.map +0 -1
- package/dist/esm/ResourceTable.js.map +0 -1
- package/dist/esm/ResourceTimeline.js.map +0 -1
- package/dist/esm/Scheduler.js.map +0 -1
- package/dist/esm/SearchControl.js.map +0 -1
- package/dist/esm/SearchControlField.js.map +0 -1
- package/dist/esm/SearchFieldEditor.js.map +0 -1
- package/dist/esm/SearchFilterEditor.js.map +0 -1
- package/dist/esm/SearchFilterValueDialog.js.map +0 -1
- package/dist/esm/SearchFilterValueDisplay.js.map +0 -1
- package/dist/esm/SearchFilterValueInput.js.map +0 -1
- package/dist/esm/SearchPopupMenu.js.map +0 -1
- package/dist/esm/SearchUtils.js.map +0 -1
- package/dist/esm/ServiceRequestTimeline.js.map +0 -1
- package/dist/esm/StatusBadge.js.map +0 -1
- package/dist/esm/Timeline.js.map +0 -1
- package/dist/esm/TimingInput.js.map +0 -1
- package/dist/esm/ValueSetAutocomplete.js.map +0 -1
- package/dist/esm/useResource.js.map +0 -1
- package/dist/esm/utils.js.map +0 -1
package/dist/cjs/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@medplum/core"),require("react"),require("@mantine/core"),require("@tabler/icons"),require("react-router-dom"),require("@mantine/notifications")):"function"==typeof define&&define.amd?define(["exports","@medplum/core","react","@mantine/core","@tabler/icons","react-router-dom","@mantine/notifications"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).medplum=e.medplum||{},e.medplum.react={}),e.medplum.core,e.React,e.mantine.core,e.tabler.icons,e.ReactRouterDOM,e.mantine.notifications)}(this,(function(e,t,n,r,a,o,l){"use strict";function i(e){const r=e.value;return r?n.createElement(n.Fragment,null,t.formatAddress(r)):null}function c(e,t){return e&&e.line&&e.line.length>t?e.line[t]:""}function u(e,t,n){const r=e.line||[];for(;r.length<=t;)r.push("");return r[t]=n,Object.assign(Object.assign({},e),{line:r})}function s(e){const[t,a]=n.useState(e.defaultValue||{}),o=n.useRef();function l(t){a(t),e.onChange&&e.onChange(t)}return o.current=t,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{"data-testid":"address-use",defaultValue:null==t?void 0:t.use,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{use:t}));var t},data:["","home","work","temp","old","billing"]}),n.createElement(r.NativeSelect,{"data-testid":"address-type",defaultValue:null==t?void 0:t.type,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{type:t}));var t},data:["","postal","physical","both"]}),n.createElement(r.TextInput,{placeholder:"Line 1",defaultValue:c(t,0),onChange:e=>{return t=e.currentTarget.value,void l(u(o.current||{},0,t));var t}}),n.createElement(r.TextInput,{placeholder:"Line 2",defaultValue:c(t,1),onChange:e=>{return t=e.currentTarget.value,void l(u(o.current||{},1,t));var t}}),n.createElement(r.TextInput,{placeholder:"City",defaultValue:t.city,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{city:t}));var t}}),n.createElement(r.TextInput,{placeholder:"State",defaultValue:t.state,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{state:t}));var t}}),n.createElement(r.TextInput,{placeholder:"Postal Code",defaultValue:t.postalCode,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{postalCode:t}));var t}}))}function d(e){const t=e.value,{contentType:r,url:a,title:o}=null!=t?t:{};return a?n.createElement("div",{"data-testid":"attachment-display"},(null==r?void 0:r.startsWith("image/"))&&n.createElement("img",{"data-testid":"attachment-image",style:{maxWidth:e.maxWidth},src:a,alt:null==t?void 0:t.title}),(null==r?void 0:r.startsWith("video/"))&&n.createElement("video",{"data-testid":"attachment-video",style:{maxWidth:e.maxWidth},controls:!0},n.createElement("source",{type:r,src:a})),"application/pdf"===r&&!(null==o?void 0:o.endsWith(".pdf"))&&n.createElement("div",{"data-testid":"attachment-pdf",style:{maxWidth:e.maxWidth,minHeight:400}},n.createElement("iframe",{width:"100%",height:"400",src:a+"#navpanes=0",allowFullScreen:!0,frameBorder:0,seamless:!0})),n.createElement("div",{"data-testid":"download-link",style:{padding:"2px 16px 16px 16px"}},n.createElement("a",{href:null==t?void 0:t.url,"data-testid":"attachment-details",target:"_blank",rel:"noopener noreferrer"},(null==t?void 0:t.title)||"Download"))):null}function m(e){return n.createElement("div",null,e.values&&e.values.map(((t,r)=>n.createElement("div",{key:"attatchment-"+r},n.createElement(d,{value:t,maxWidth:e.maxWidth})))))}const p=n.createContext(void 0);function g(){return n.useContext(p)}function h(){return g().medplum}function f(){return g().profile}function v(e){e.preventDefault(),e.stopPropagation()}function E(e){if(y(e))return!0;if(e instanceof HTMLTableCellElement){const t=e.children;if(1===t.length&&y(t[0]))return!0}return!1}function y(e){return e instanceof HTMLInputElement&&"checkbox"===e.type}function b(e){const t=h(),r=n.useRef(null);function a(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=>{var t,n,r;alert(null===(r=null===(n=null===(t=null==e?void 0:e.issue)||void 0===t?void 0:t[0])||void 0===n?void 0:n.details)||void 0===r?void 0:r.text)}))}return n.createElement(n.Fragment,null,n.createElement("input",{type:"file","data-testid":"upload-file-input",style:{display:"none"},ref:r,onChange:e=>function(e){v(e);const t=e.target.files;t&&Array.from(t).forEach(a)}(e)}),e.children({onClick:function(e){var t;v(e),null===(t=r.current)||void 0===t||t.click()}}))}function C(e){var t;const[o,l]=n.useState(null!==(t=e.defaultValue)&&void 0!==t?t:[]),i=n.useRef();function c(t){l(t),e.onChange&&e.onChange(t)}return i.current=o,n.createElement("table",{style:{width:"100%"}},n.createElement("colgroup",null,n.createElement("col",{width:"97%"}),n.createElement("col",{width:"3%"})),n.createElement("tbody",null,o.map(((e,t)=>n.createElement("tr",{key:`${t}-${o.length}`},n.createElement("td",null,n.createElement(d,{value:e,maxWidth:200})),n.createElement("td",null,n.createElement(r.ActionIcon,{title:"Remove",size:"sm",onClick:e=>{v(e);const n=o.slice();n.splice(t,1),c(n)}},n.createElement(a.IconCircleMinus,null)))))),n.createElement("tr",null,n.createElement("td",null),n.createElement("td",null,n.createElement(b,{onUpload:e=>{c([...i.current,e])}},(e=>n.createElement(r.ActionIcon,Object.assign({},e,{title:"Add",size:"sm",color:"green"}),n.createElement(a.IconCloudUpload,{size:16}))))))))}function T(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return t?n.createElement(n.Fragment,null,n.createElement(d,{value:t,maxWidth:200}),n.createElement(r.Button,{onClick:e=>{v(e),o(void 0)}},"Remove")):n.createElement(b,{onUpload:o},(e=>n.createElement(r.Button,Object.assign({},e),"Upload...")))}function S(e){let t;return e.width&&(t={maxWidth:e.width}),n.createElement(r.Container,null,n.createElement(r.Paper,{style:t,mx:"auto",my:"lg",p:"lg",shadow:"xs",radius:"sm",withBorder:!0},e.children))}function x(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}function O(e,t,n,r){return new(n||(n=Promise))((function(a,o){function l(e){try{c(r.next(e))}catch(e){o(e)}}function i(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,i)}c((r=r.apply(e,t||[])).next())}))}function k(e){const t={};for(const n of Array.from(e.elements))n instanceof HTMLInputElement?I(t,n):n instanceof HTMLTextAreaElement?t[n.name]=n.value:n instanceof HTMLSelectElement&&w(t,n);return t}function I(e,t){t.disabled||("checkbox"!==t.type&&"radio"!==t.type||t.checked)&&(e[t.name]=t.value)}function w(e,t){e[t.name]=t.value}function j(e){return n.createElement("form",{style:e.style,"data-testid":e.testid,onSubmit:t=>{t.preventDefault();const n=k(t.target);e.onSubmit&&e.onSubmit(n)}},e.children)}function R(e){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 491 491",style:{width:e.size,height:e.size}},n.createElement("title",null,"Medplum Logo"),n.createElement("path",{fill:e.fill||"#ad7136",d:"M282 67c6-16 16-29 29-40L289 0c-22 17-37 41-43 68l17 23 19-24z"}),n.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"}),n.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"}),n.createElement("path",{fill:e.fill||"#40bc26",d:"M207 220a176 176 0 01-177 43A176 176 0 01251 43l1 5c17 59 2 125-45 172z"}),n.createElement("path",{fill:e.fill||"#33961e",d:"M252 48A421 421 0 0057 270l-27-7A176 176 0 01251 43l1 5z"}))}function P(e,t){var n,r,a;return null===(a=null===(r=null===(n=null==e?void 0:e.issue)||void 0===n?void 0:n.filter((e=>{var n;return A(null===(n=e.expression)||void 0===n?void 0:n[0],t)})))||void 0===r?void 0:r.map((e=>{var t;return null===(t=e.details)||void 0===t?void 0:t.text})))||void 0===a?void 0:a.join("\n")}function D(e,t){var n;return null===(n=null==e?void 0:e.issue)||void 0===n?void 0:n.filter((e=>{var n;return A(null===(n=e.expression)||void 0===n?void 0:n[0],t)}))}function A(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 V(e){const t=h(),[a,o]=n.useState();return n.createElement(j,{style:{maxWidth:400},onSubmit:n=>O(this,void 0,void 0,(function*(){try{e.handleAuthResponse(yield t.startNewProject({login:e.login,projectName:n.projectName}))}catch(e){o(e)}}))},n.createElement(r.Center,{sx:{flexDirection:"column"}},n.createElement(R,{size:32}),n.createElement(r.Title,null,"Create project")),n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:"projectName",label:"Project Name",placeholder:"My Project",required:!0,autoFocus:!0,error:P(a,"firstName")}),n.createElement(r.Text,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum ",n.createElement("a",{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",n.createElement("a",{href:"https://www.medplum.com/terms"},"Terms of Service"),".")),n.createElement(r.Group,{position:"right",mt:"xl",noWrap:!0},n.createElement(r.Button,{type:"submit"},"Create project")))}function M(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 N(e){const t=h(),{googleClientId:r,handleGoogleCredential:a}=e,o=n.useRef(null),[l,i]=n.useState("undefined"!=typeof google),[c,u]=n.useState(!1),[s,d]=n.useState(!1);return n.useEffect((()=>{"undefined"!=typeof google?(c||(google.accounts.id.initialize({client_id:r,callback:a}),u(!0)),o.current&&!s&&(google.accounts.id.renderButton(o.current,{}),d(!0))):M("https://accounts.google.com/gsi/client",(()=>i(!0)))}),[t,r,c,l,o,s,a]),r?n.createElement("div",{ref:o}):null}function F(e){var t,n;if(e)return e;const r=window.location.protocol+"//"+window.location.host;return(null!==(n=null===(t="http://localhost:3000,http://127.0.0.1:3000,http://localhost:6006,http://127.0.0.1:6006,https://app.medplum.com,https://docs.medplum.com,https://storybook.medplum.com,https://graphiql.medplum.com,https://www.medplum.com")?void 0:t.split(","))&&void 0!==n?n:[]).includes(r)?"921088377005-3j1sa10vr6hj86jgmdfh2l53v3mp7lfi.apps.googleusercontent.com":void 0}function L(e){"undefined"==typeof grecaptcha&&M("https://www.google.com/recaptcha/api.js?render="+e)}function z(e){return new Promise(((t,n)=>{grecaptcha.ready((()=>O(this,void 0,void 0,(function*(){try{t(yield grecaptcha.execute(e,{action:"submit"}))}catch(e){n(e)}}))))}))}function $(e){const t=F(e.googleClientId),o=e.recaptchaSiteKey,l=h(),[i,c]=n.useState(),u=D(i,void 0);return n.useEffect((()=>L(o)),[o]),n.createElement(j,{style:{maxWidth:400},onSubmit:t=>O(this,void 0,void 0,(function*(){try{const n=yield z(o);e.handleAuthResponse(yield l.startNewUser({projectId:e.projectId,firstName:t.firstName,lastName:t.lastName,email:t.email,password:t.password,remember:"true"===t.remember,recaptchaSiteKey:o,recaptchaToken:n}))}catch(e){c(e)}}))},n.createElement(r.Center,{sx:{flexDirection:"column"}},e.children),u&&n.createElement(r.Alert,{icon:n.createElement(a.IconAlertCircle,{size:16}),color:"red"},u.map((e=>{var t,r;return n.createElement("div",{"data-testid":"text-field-error",key:null===(t=e.details)||void 0===t?void 0:t.text},null===(r=e.details)||void 0===r?void 0:r.text)}))),t&&n.createElement(n.Fragment,null,n.createElement(r.Group,{position:"center",p:"xl",style:{height:70}},n.createElement(N,{googleClientId:t,handleGoogleCredential:t=>O(this,void 0,void 0,(function*(){try{e.handleAuthResponse(yield l.startGoogleLogin({googleClientId:t.clientId,googleCredential:t.credential,createUser:!0}))}catch(e){c(e)}}))})),n.createElement(r.Divider,{label:"or",labelPosition:"center",my:"lg"})),n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:"firstName",type:"text",label:"First name",placeholder:"First name",required:!0,autoFocus:!0,error:P(i,"firstName")}),n.createElement(r.TextInput,{name:"lastName",type:"text",label:"Last name",placeholder:"Last name",required:!0,error:P(i,"lastName")}),n.createElement(r.TextInput,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,error:P(i,"email")}),n.createElement(r.PasswordInput,{name:"password",label:"Password",autoComplete:"off",required:!0,error:P(i,"password")}),n.createElement(r.Text,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum ",n.createElement("a",{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",n.createElement("a",{href:"https://www.medplum.com/terms"},"Terms of Service"),"."),n.createElement(r.Text,{color:"dimmed",size:"xs"},"This site is protected by reCAPTCHA and the Google"," ",n.createElement("a",{href:"https://policies.google.com/privacy"},"Privacy Policy")," and ",n.createElement("a",{href:"https://policies.google.com/terms"},"Terms of Service")," apply.")),n.createElement(r.Group,{position:"apart",mt:"xl",noWrap:!0},n.createElement(r.Checkbox,{name:"remember",label:"Remember me",size:"xs"}),n.createElement(r.Button,{type:"submit"},"Create account")))}function B(e){const t=h(),o=F(e.googleClientId),[l,i]=n.useState(),c=D(l,void 0);function u(){return O(this,void 0,void 0,(function*(){e.generatePkce&&(yield t.startPkce())}))}return n.createElement(j,{style:{maxWidth:400},onSubmit:n=>{u().then((()=>t.startLogin({projectId:e.projectId,clientId:e.clientId,resourceType:e.resourceType,scope:e.scope,nonce:e.nonce,codeChallenge:e.codeChallenge,codeChallengeMethod:e.codeChallengeMethod,email:n.email,password:n.password,remember:"true"===n.remember}))).then(e.handleAuthResponse).catch(i)}},n.createElement(r.Center,{sx:{flexDirection:"column"}},e.children),c&&n.createElement(r.Alert,{icon:n.createElement(a.IconAlertCircle,{size:16}),color:"red"},c.map((e=>{var t,r;return n.createElement("div",{"data-testid":"text-field-error",key:null===(t=e.details)||void 0===t?void 0:t.text},null===(r=e.details)||void 0===r?void 0:r.text)}))),o&&n.createElement(n.Fragment,null,n.createElement(r.Group,{position:"center",p:"xl",style:{height:70}},n.createElement(N,{googleClientId:o,handleGoogleCredential:n=>{u().then((()=>t.startGoogleLogin({projectId:e.projectId,clientId:e.clientId,resourceType:e.resourceType,scope:e.scope,nonce:e.nonce,codeChallenge:e.codeChallenge,codeChallengeMethod:e.codeChallengeMethod,googleClientId:n.clientId,googleCredential:n.credential}))).then(e.handleAuthResponse).catch(i)}})),n.createElement(r.Divider,{label:"or",labelPosition:"center",my:"lg"})),n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,autoFocus:!0,error:P(l,"email")}),n.createElement(r.PasswordInput,{name:"password",type:"password",label:"Password",autoComplete:"off",required:!0,error:P(l,"password")})),n.createElement(r.Group,{position:"apart",mt:"xl",noWrap:!0},e.onForgotPassword&&n.createElement(r.Anchor,{component:"button",type:"button",color:"dimmed",onClick:e.onForgotPassword,size:"xs"},"Forgot password"),e.onRegister&&n.createElement(r.Anchor,{component:"button",type:"button",color:"dimmed",onClick:e.onRegister,size:"xs"},"Register"),n.createElement(r.Checkbox,{name:"remember",label:"Remember me",size:"xs"}),n.createElement(r.Button,{type:"submit"},"Sign in")))}function U(e){const t=h();return n.createElement(r.Stack,null,n.createElement(r.Center,{sx:{flexDirection:"column"}},n.createElement(R,{size:32}),n.createElement(r.Title,null,"Choose profile")),e.memberships.map((a=>{var o,l;return n.createElement(r.UnstyledButton,{key:a.id,onClick:()=>{t.post("auth/profile",{login:e.login,profile:a.id}).then(e.handleAuthResponse).catch(console.log)}},n.createElement(r.Group,null,n.createElement(r.Avatar,{radius:"xl"}),n.createElement("div",{style:{flex:1}},n.createElement(r.Text,{size:"sm",weight:500},null===(o=a.profile)||void 0===o?void 0:o.display),n.createElement(r.Text,{color:"dimmed",size:"xs"},null===(l=a.project)||void 0===l?void 0:l.display))))})))}function q(e){return n.createElement(r.Group,{noWrap:!0},n.createElement("div",null,e.children),n.createElement("div",null,n.createElement(r.Input.Wrapper,{id:e.htmlFor,label:e.title,description:e.description},null)))}const _=["meta","implicitRules","language","text","contained","extension","modifierExtension"];function Q(e){return n.createElement(r.Input.Wrapper,{id:e.htmlFor,label:e.title,description:e.description,error:P(e.outcome,e.htmlFor)},e.children)}const W={resourceType:"Device",id:"system",deviceName:[{name:"System"}]};function G(e){const t=h(),[r,a]=n.useState(function(e,t){if(!t)return;if("resourceType"in t)return t;if("reference"in t)return"system"===t.reference?W:e.getCachedReference(t);return}(t,e));return n.useEffect((()=>{let n=!0;return!r&&e&&"reference"in e&&e.reference&&t.readReference(e).then((e=>{n&&a(e)})).catch((()=>a(void 0))),()=>n=!1}),[t,r,e]),r}function H(e,n,r,a,o){const l=a.type;if(l.length>1)for(const r of l){const a=n.replace("[x]",t.capitalize(r.code));a in e&&delete e[a]}return e[r]=o,e}const K=r.createStyles((e=>({root:{display:"grid",gridTemplateColumns:"30% 70%",margin:0,"& > dt, & > dd":{padding:`${e.spacing.sm}px ${e.spacing.sm}px`,borderTop:`0.1px solid ${e.colors.gray[3]}`,margin:0}},compact:{gridTemplateColumns:"20% 80%","& > dt, & > dd":{padding:`0 ${e.spacing.xs}px ${e.spacing.xs}px 0`,border:0}}})));function J(e){const{children:t,compact:r}=e,{classes:a,cx:o}=K();return n.createElement("dl",{className:o(a.root,{[a.compact]:r})},t)}function Y(e){return n.createElement(n.Fragment,null,n.createElement("dt",null,e.term),n.createElement("dd",null,e.children))}function X(e){const r=e.value,a=r.value;if(!a)return null;const o=r.type,l=t.globalSchema.types[o];return l?"object"==typeof a&&"name"in a&&1===Object.keys(a).length?n.createElement("div",null,a.name):n.createElement(J,{compact:e.compact},Object.entries(l.properties).map((a=>{const o=a[0];if(_.indexOf(o)>=0)return null;const l=a[1],[i,c]=ge(r,o);return e.ignoreMissingValues&&(!i||Array.isArray(i)&&0===i.length)?null:n.createElement(Y,{key:o,term:t.getPropertyDisplayName(o)},n.createElement(pe,{property:l,propertyType:c,value:i,ignoreMissingValues:e.ignoreMissingValues,link:e.link}))}))):n.createElement("div",null,o," not implemented")}function Z(e){var t,r;return n.createElement(n.Fragment,null,(null===(t=e.value)||void 0===t?void 0:t.display)||(null===(r=e.value)||void 0===r?void 0:r.code))}function ee(e){const t=e.value;return t?t.text?n.createElement(n.Fragment,null,t.text):t.coding?n.createElement(n.Fragment,null,t.coding.map(((e,t)=>n.createElement(n.Fragment,{key:"coding-"+t},t>0&&n.createElement(n.Fragment,null,", "),n.createElement(Z,{value:e}))))):null:null}function te(e){const t=e.value;if(!t)return null;const r=[];return t.value&&r.push(t.value),(t.use||t.system)&&(r.push(" ["),t.use&&r.push(t.use),t.use&&t.system&&r.push(" "),t.system&&r.push(t.system),r.push("]")),n.createElement(n.Fragment,null,r.join("").trim())}function ne(e){var t;const r=e.value;return r?n.createElement(n.Fragment,null,r.name,r.name&&": ",null===(t=r.telecom)||void 0===t?void 0:t.map(((e,t)=>n.createElement(te,{key:"telecom-"+t,value:e})))):null}function re(e){const r=e.value;return r?n.createElement(n.Fragment,null,t.formatHumanName(r,e.options)):null}function ae(e){var t,r;return n.createElement("div",null,null===(t=e.value)||void 0===t?void 0:t.system,": ",null===(r=e.value)||void 0===r?void 0:r.value)}function oe(e){return n.createElement(n.Fragment,null,le(e.value))}function le(e){if(!e)return"";const t=[];return e.comparator&&(t.push(e.comparator),t.push(" ")),void 0!==e.value&&t.push(e.value),e.unit&&("%"!==e.unit&&t.push(" "),t.push(e.unit)),t.join("")}function ie(e){return n.createElement(n.Fragment,null,ce(e.value))}function ce(e){return e&&(e.low||e.high)?e.low&&!e.high?`>= ${le(e.low)}`:!e.low&&e.high?`<= ${le(e.high)}`:`${le(e.low)} - ${le(e.high)}`:""}function ue(e){const t=e.value;return t?n.createElement(n.Fragment,null,n.createElement(oe,{value:t.numerator})," / ",n.createElement(oe,{value:t.denominator})):null}function se(e){const t=o.useNavigate(),{to:a,suffix:l,label:i,onClick:c,children:u}=e,s=x(e,["to","suffix","label","onClick","children"]);let d=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("resourceType"in e)return function(e){return`/${e.resourceType}/${e.id}`}(e);if("reference"in e)return function(e){return`/${e.reference}`}(e)}return"#"}(a);return l&&(d+="/"+l),n.createElement(r.Anchor,Object.assign({href:d,"aria-label":i,onClick:e=>{v(e),c?c():a&&t(d)}},s),u)}function de(e){if(!e.value)return null;const r=e.value.display||e.value.reference||t.stringify(e.value);return!1!==e.link&&e.value.reference?n.createElement(se,{to:e.value},r):n.createElement(n.Fragment,null,r)}function me(e){var t,r,a;const o=e.property,l=null!==(t=e.values)&&void 0!==t?t:[],i=null===(a=null===(r=o.type)||void 0===r?void 0:r[0])||void 0===a?void 0:a.code;return n.createElement(n.Fragment,null,l.map(((t,r)=>n.createElement("div",{key:`${r}-${l.length}`},n.createElement(pe,{arrayElement:!0,property:o,propertyType:i,value:t,ignoreMissingValues:e.ignoreMissingValues,link:e.link})))))}function pe(e){var r;const{property:a,propertyType:o,value:l}=e;if("*"===(null==a?void 0:a.max)&&!e.arrayElement)return"Attachment"===o?n.createElement(m,{values:l,maxWidth:e.maxWidth}):n.createElement(me,{property:a,values:l,ignoreMissingValues:e.ignoreMissingValues,link:e.link});switch(o){case t.PropertyType.boolean:return n.createElement(n.Fragment,null,void 0===l?"":Boolean(l).toString());case t.PropertyType.SystemString:case t.PropertyType.code:case t.PropertyType.date:case t.PropertyType.integer:case t.PropertyType.positiveInt:case t.PropertyType.string:case t.PropertyType.unsignedInt:case t.PropertyType.uri:case t.PropertyType.url:return n.createElement(n.Fragment,null,l);case t.PropertyType.canonical:return n.createElement(de,{value:{reference:l},link:e.link});case t.PropertyType.dateTime:case t.PropertyType.instant:return n.createElement(n.Fragment,null,t.formatDateTime(l));case t.PropertyType.markdown:return n.createElement("pre",null,l);case t.PropertyType.Address:return n.createElement(i,{value:l});case t.PropertyType.Annotation:return n.createElement(n.Fragment,null,null==l?void 0:l.text);case t.PropertyType.Attachment:return n.createElement(d,{value:l,maxWidth:e.maxWidth});case t.PropertyType.CodeableConcept:return n.createElement(ee,{value:l});case t.PropertyType.Coding:return n.createElement(Z,{value:l});case t.PropertyType.ContactDetail:return n.createElement(ne,{value:l});case t.PropertyType.ContactPoint:return n.createElement(te,{value:l});case t.PropertyType.HumanName:return n.createElement(re,{value:l});case t.PropertyType.Identifier:return n.createElement(ae,{value:l});case t.PropertyType.Period:return n.createElement(n.Fragment,null,t.formatPeriod(l));case t.PropertyType.Quantity:return n.createElement(oe,{value:l});case t.PropertyType.Range:return n.createElement(ie,{value:l});case t.PropertyType.Ratio:return n.createElement(ue,{value:l});case t.PropertyType.Reference:return n.createElement(de,{value:l,link:e.link});case t.PropertyType.Timing:return n.createElement(n.Fragment,null,t.formatTiming(l));default:if(!(null==a?void 0:a.path))throw Error(`Displaying property of type ${e.propertyType} requires element definition path`);return n.createElement(X,{value:{type:t.buildTypeName(null===(r=null==a?void 0:a.path)||void 0===r?void 0:r.split(".")),value:l},compact:!0,ignoreMissingValues:e.ignoreMissingValues})}}function ge(e,n){const r=t.getTypedPropertyValue(e,n);return r?Array.isArray(r)?[r.map((e=>e.value)),r[0].type]:[r.value,r.type]:[void 0,"undefined"]}function he(e){const a=f(),[o,l]=n.useState(e.defaultValue||{});return n.useRef().current=o,n.createElement(r.TextInput,{name:e.name,placeholder:"Annotation text",defaultValue:o.text,onChange:n=>function(n){const r=n?{text:n,authorReference:a&&t.createReference(a),time:(new Date).toISOString()}:{};l(r),e.onChange&&e.onChange(r)}(n.currentTarget.value)})}function fe(e){return{value:e.code,label:(t=e,t.display||t.code||""),element:e};var t}function ve(e){const t=h(),{property:a,defaultValue:o}=e,[l,i]=n.useState(o?[o.code]:[]),[c,u]=n.useState(o?[fe(o)]:[]),s=n.useRef();s.current=c;const d=n.useCallback((e=>O(this,void 0,void 0,(function*(){var n,r;const o=null===(n=a.binding)||void 0===n?void 0:n.valueSet,l=null===(r=(yield t.searchValueSet(o,e)).expansion)||void 0===r?void 0:r.contains,i=[...s.current];for(const e of l)i.some((t=>t.value===e.code))||i.push(fe(e));u(i)}))),[t,a,s]);return n.useEffect((()=>{d("").catch(console.log)}),[d]),n.createElement(r.MultiSelect,{data:c,placeholder:e.placeholder,searchable:!0,creatable:!0,clearable:!0,value:l,filter:(e,t,n)=>{var r,a;return!(0!==l.length||t||!(null===(r=n.element.display)||void 0===r?void 0:r.toLowerCase().includes(e.toLowerCase().trim()))&&!(null===(a=n.element.code)||void 0===a?void 0:a.toLowerCase().includes(e.toLowerCase().trim())))},onChange:function(t){i(t);const n=t[0];let r;if(n&&(r=s.current.find((e=>e.value===t[0])),!r)){r=fe({code:n,display:n}),u([...s.current,r])}e.onChange&&e.onChange(null==r?void 0:r.element)},getCreateLabel:e=>`+ Create ${e}`,onCreate:e=>fe({code:e,display:e})})}function Ee(e){const[t,r]=n.useState(e.defaultValue);return n.createElement(ve,{property:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(a=t,{system:null===(l=null===(o=a.coding)||void 0===o?void 0:o[0])||void 0===l?void 0:l.system,code:null===(c=null===(i=a.coding)||void 0===i?void 0:i[0])||void 0===c?void 0:c.code,display:null===(s=null===(u=a.coding)||void 0===u?void 0:u[0])||void 0===s?void 0:s.display}),onChange:function(t){const n=t&&{text:(a=t).display,coding:[{system:a.system,code:a.code,display:a.display}]};var a;r(n),e.onChange&&e.onChange(n)}});var a,o,l,i,c,u,s}function ye(e){const[t,r]=n.useState(e.defaultValue);return n.createElement(ve,{property:e.property,name:e.name,placeholder:e.placeholder,defaultValue:(a=t,a?{code:a}:void 0),onChange:function(t){const n=null==(a=t)?void 0:a.code;var a;r(n),e.onChange&&e.onChange(n)}});var a}function be(e){const[t,r]=n.useState(e.defaultValue);return n.createElement(ve,{property:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(a=t,{system:a.system,code:a.code,display:a.display}),onChange:function(t){const n=t&&{system:(a=t).system,code:a.code,display:a.display};var a;r(n),e.onChange&&e.onChange(n)}});var a}function Ce(e){const[t,a]=n.useState(e.defaultValue),o=n.useRef();function l(t){t&&0===Object.keys(t).length&&(t=void 0),a(t),e.onChange&&e.onChange(t)}return o.current=t,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{"data-testid":"system",defaultValue:null==t?void 0:t.system,onChange:e=>function(e){const t=Object.assign(Object.assign({},o.current),{system:e});e||delete t.system,l(t)}(e.currentTarget.value),data:["","email","phone","fax","pager","sms","other"]}),n.createElement(r.NativeSelect,{"data-testid":"use",defaultValue:null==t?void 0:t.use,onChange:e=>function(e){const t=Object.assign(Object.assign({},o.current),{use:e});e||delete t.use,l(t)}(e.currentTarget.value),data:["","home","work","temp","old","mobile"]}),n.createElement(r.TextInput,{placeholder:"Value",defaultValue:null==t?void 0:t.value,onChange:e=>function(e){const t=Object.assign(Object.assign({},o.current),{value:e});e||delete t.value,l(t)}(e.currentTarget.value)}))}function Te(e){var t;const[a,o]=n.useState(e.defaultValue),l=n.useRef();function i(t){o(t),e.onChange&&e.onChange(t)}return l.current=a,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.TextInput,{"data-testid":e.name+"-name",name:e.name+"-name",placeholder:"Name",style:{width:180},defaultValue:null==a?void 0:a.name,onChange:e=>function(e){const t=Object.assign(Object.assign({},l.current),{name:e});e||delete t.name,i(t)}(e.currentTarget.value)}),n.createElement(Ce,{name:e.name+"-telecom",defaultValue:null===(t=null==a?void 0:a.telecom)||void 0===t?void 0:t[0],onChange:function(e){const t=Object.assign(Object.assign({},l.current),{telecom:e&&[e]});e||delete t.telecom,i(t)}}))}function Se(e){return n.createElement(r.TextInput,{id:e.name,name:e.name,"data-testid":e.name,placeholder:e.placeholder,type:"datetime-local",defaultValue:xe(e.defaultValue),error:P(e.outcome,e.name),onChange:t=>{if(e.onChange){const n=t.currentTarget.value;e.onChange(Oe(n))}}})}function xe(e){if(!e)return"";const n=new Date(e);return t.isValidDate(n)?n.toLocaleDateString("sv")+"T"+n.toLocaleTimeString("sv"):""}function Oe(e){if(!e)return"";const n=new Date(e);return t.isValidDate(n)?n.toISOString():""}function ke(e){return n.createElement(r.JsonInput,{id:e.name,name:e.name,"data-testid":"extension-input",defaultValue:t.stringify(e.defaultValue),onChange:t=>{e.onChange&&e.onChange(JSON.parse(t))}})}function Ie(e){var t,a,o;const[l,i]=n.useState(e.defaultValue),c=n.useRef();function u(t){i(t),e.onChange&&e.onChange(t)}return c.current=l,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{defaultValue:null==l?void 0:l.use,"data-testid":"use",onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{use:t||void 0}));var t},data:["","temp","old","usual","official","nickname","anonymous","maiden"]}),n.createElement(r.TextInput,{placeholder:"Prefix",defaultValue:null===(t=null==l?void 0:l.prefix)||void 0===t?void 0:t.join(" "),onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{prefix:t?t.split(" "):void 0}));var t}}),n.createElement(r.TextInput,{placeholder:"Given",defaultValue:null===(a=null==l?void 0:l.given)||void 0===a?void 0:a.join(" "),onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{given:t?t.split(" "):void 0}));var t}}),n.createElement(r.TextInput,{placeholder:"Family",defaultValue:null==l?void 0:l.family,onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{family:t||void 0}));var t}}),n.createElement(r.TextInput,{placeholder:"Suffix",defaultValue:null===(o=null==l?void 0:l.suffix)||void 0===o?void 0:o.join(" "),onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{suffix:t?t.split(" "):void 0}));var t}}))}function we(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.TextInput,{placeholder:"System",defaultValue:null==t?void 0:t.system,onChange:e=>o(Object.assign(Object.assign({},t),{system:e.currentTarget.value}))}),n.createElement(r.TextInput,{placeholder:"Value",defaultValue:null==t?void 0:t.value,onChange:e=>o(Object.assign(Object.assign({},t),{value:e.currentTarget.value}))}))}function je(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(Se,{name:e.name+".start",placeholder:"Start",defaultValue:null==t?void 0:t.start,onChange:e=>o(Object.assign(Object.assign({},t),{start:e}))}),n.createElement(Se,{name:e.name+".end",placeholder:"End",defaultValue:null==t?void 0:t.end,onChange:e=>o(Object.assign(Object.assign({},t),{end:e}))}))}function Re(e){var t;const[a,o]=n.useState(e.defaultValue);function l(t){o(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{style:{width:80},"data-testid":e.name+"-comparator",defaultValue:null==a?void 0:a.comparator,data:["","<","<=",">=",">"],onChange:e=>l(Object.assign(Object.assign({},a),{comparator:e.currentTarget.value}))}),n.createElement(r.TextInput,{id:e.name,name:e.name,"data-testid":e.name,type:"number",step:"any",placeholder:"Value",defaultValue:null===(t=null==a?void 0:a.value)||void 0===t?void 0:t.toString(),onChange:e=>l(Object.assign(Object.assign({},a),{value:Pe(e.currentTarget.value)}))}),n.createElement(r.TextInput,{placeholder:"Unit",defaultValue:null==a?void 0:a.unit,onChange:e=>l(Object.assign(Object.assign({},a),{unit:e.currentTarget.value}))}))}function Pe(e){if(e)return parseFloat(e)}function De(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(Re,{name:e.name+"-low",defaultValue:null==t?void 0:t.low,onChange:e=>o(Object.assign(Object.assign({},t),{low:e}))}),n.createElement(Re,{name:e.name+"-high",defaultValue:null==t?void 0:t.high,onChange:e=>o(Object.assign(Object.assign({},t),{high:e}))}))}function Ae(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(Re,{name:e.name+"-numerator",defaultValue:null==t?void 0:t.numerator,onChange:e=>o(Object.assign(Object.assign({},t),{numerator:e}))}),n.createElement(Re,{name:e.name+"-denominator",defaultValue:null==t?void 0:t.denominator,onChange:e=>o(Object.assign(Object.assign({},t),{denominator:e}))}))}function Ve(e){var a,o,l;const i=G(e.value),c=i?t.getDisplayString(i):null!==(a=e.alt)&&void 0!==a?a:"",u=null!==(o=i&&t.getImageSrc(i))&&void 0!==o?o:e.src,s=null!==(l=e.radius)&&void 0!==l?l:"xl",d=Object.assign({},e);return delete d.value,delete d.link,e.link?n.createElement(se,{to:i},n.createElement(r.Avatar,Object.assign({src:u,alt:c,radius:s},d))):n.createElement(r.Avatar,Object.assign({src:u,alt:c,radius:s},d))}const Me={Schedule:"_id",Task:"_id",Patient:"name",Practitioner:"name",Questionnaire:"name",ServiceRequest:"_id",DiagnosticReport:"_id",Specimen:"_id",Observation:"code",RequestGroup:"_id",ActivityDefinition:"name"};function Ne(e){const a=h(),o=G(e.defaultValue),[l,i]=n.useState(o?t.getDisplayString(o):""),[c,u]=n.useState(!1),[s,d]=n.useState([]);function m(n){return O(this,void 0,void 0,(function*(){u(!0);const r=Me[e.resourceType]||"name",o=new URLSearchParams({[r]:encodeURIComponent(n),_count:"10"}),l=yield a.searchResources(e.resourceType,o);d(l.map((e=>({value:t.getDisplayString(e),resource:e})))),u(!1)}))}return n.useEffect((()=>{o&&i(t.getDisplayString(o))}),[o,i]),n.createElement(r.Autocomplete,{itemComponent:Fe,value:l,data:s,placeholder:e.placeholder,onFocus:()=>m(l),onChange:function(e){return O(this,void 0,void 0,(function*(){return i(e),m(e)}))},onItemSubmit:function(t){i(t.value),d([]),e.onChange&&e.onChange(t.resource)},rightSection:c?n.createElement(r.Loader,{size:16}):null})}const Fe=n.forwardRef(((e,t)=>{var{value:a,resource:o}=e,l=x(e,["value","resource"]);return n.createElement("div",Object.assign({ref:t},l),n.createElement(r.Group,{noWrap:!0},n.createElement(Ve,{value:o}),n.createElement("div",null,n.createElement(r.Text,null,a),n.createElement(r.Text,{size:"xs",color:"dimmed"},o.birthDate))))}));function Le(e){const a=e.targetTypes,o=function(e,t){var n;const r=null===(n=null==e?void 0:e.reference)||void 0===n?void 0:n.split("/")[0];if(r)return r;if(t&&t.length>0)return t[0];return}(e.defaultValue,a),[l,i]=n.useState(e.defaultValue),[c,u]=n.useState(o);n.useRef().current=l;return n.useRef().current=c,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},a?n.createElement(r.NativeSelect,{"data-testid":"reference-input-resource-type-select",defaultValue:c,onChange:e=>u(e.currentTarget.value),data:a}):n.createElement(r.TextInput,{"data-testid":"reference-input-resource-type-input",defaultValue:c,onChange:e=>u(e.currentTarget.value)}),n.createElement(Ne,{resourceType:c,name:e.name+"-id",placeholder:e.placeholder,defaultValue:l,onChange:n=>{var r;r=n?t.createReference(n):void 0,i(r),e.onChange&&e.onChange(r)}}))}function ze(e){const[t,o]=n.useState(e.defaultValue&&Array.isArray(e.defaultValue)?e.defaultValue:[]),l=n.useRef();function i(t){o(t),e.onChange&&e.onChange(t)}return l.current=t,n.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},n.createElement("colgroup",null,n.createElement("col",{width:"97%"}),n.createElement("col",{width:"3%"})),n.createElement("tbody",null,t.map(((o,c)=>n.createElement("tr",{key:`${c}-${t.length}`},n.createElement("td",null,n.createElement(qe,{arrayElement:!0,property:e.property,name:e.name+"."+c,defaultValue:o,onChange:e=>{const t=[...l.current];t[c]=e,i(t)}})),n.createElement("td",{style:{textAlign:"right"}},n.createElement(r.ActionIcon,{title:"Remove",size:"sm",onClick:e=>{v(e);const t=[...l.current];t.splice(c,1),i(t)}},n.createElement(a.IconCircleMinus,null)))))),n.createElement("tr",null,n.createElement("td",null),n.createElement("td",{style:{textAlign:"right"}},n.createElement(r.ActionIcon,{title:"Add",size:"sm",color:"green",onClick:e=>{v(e);const t=[...l.current];t.push(void 0),i(t)}},n.createElement(a.IconCirclePlus,null))))))}const $e=["sun","mon","tue","wed","thu","fri","sat"];function Be(e){const[a,o]=n.useState(e.defaultValue||{}),[l,i]=n.useState(!1),c=n.useRef();return c.current=a,n.createElement(n.Fragment,null,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement("span",null,t.formatTiming(c.current)||"No repeat"),n.createElement(r.Button,{onClick:()=>i(!0)},"Edit")),n.createElement(Ue,{visible:l,defaultValue:c.current,onOk:t=>{e.onChange&&e.onChange(t),o(t),i(!1)},onCancel:()=>i(!1)}))}function Ue(e){var t,a;const[o,l]=n.useState(e.defaultValue||{}),i=n.useRef();function c(e){l(Object.assign(Object.assign({},i.current),{repeat:e}))}function u(e,t){t?function(e){var t,n,r;const a=(null===(n=null===(t=i.current)||void 0===t?void 0:t.repeat)||void 0===n?void 0:n.dayOfWeek)||[];a.includes(e)||c(Object.assign(Object.assign({},null===(r=i.current)||void 0===r?void 0:r.repeat),{dayOfWeek:[...a,e]}))}(e):function(e){var t,n,r;const a=(null===(n=null===(t=i.current)||void 0===t?void 0:t.repeat)||void 0===n?void 0:n.dayOfWeek)||[];a.includes(e)&&c(Object.assign(Object.assign({},null===(r=i.current)||void 0===r?void 0:r.repeat),{dayOfWeek:a.filter((t=>t!==e))}))}(e)}return i.current=o,n.createElement(r.Modal,{title:"Timing",closeButtonLabel:"Close",opened:e.visible,onClose:()=>e.onCancel()},n.createElement("div",{style:{padding:"5px 20px",textAlign:"left"}},n.createElement(Q,{title:"Starts on",htmlFor:"timing-dialog-start"},n.createElement(Se,{name:"timing-dialog-start",onChange:e=>{return t=e,void l(Object.assign(Object.assign({},i.current),{event:[t]}));var t}})),n.createElement(Q,{title:"Repeat every",htmlFor:"timing-dialog-period"},n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.TextInput,{type:"number",step:1,id:"timing-dialog-period",name:"timing-dialog-period",defaultValue:null===(t=null==o?void 0:o.repeat)||void 0===t?void 0:t.period,onChange:e=>function(e){var t;c(Object.assign(Object.assign({},null===(t=i.current)||void 0===t?void 0:t.repeat),{period:e}))}(parseInt(e.currentTarget.value))}),n.createElement(r.NativeSelect,{id:"timing-dialog-periodUnit",name:"timing-dialog-periodUnit",defaultValue:null===(a=null==o?void 0:o.repeat)||void 0===a?void 0:a.periodUnit,onChange:e=>function(e){var t;c(Object.assign(Object.assign({},null===(t=i.current)||void 0===t?void 0:t.repeat),{periodUnit:e}))}(e.currentTarget.value),data:[{label:"day",value:"d"},{label:"week",value:"wk"},{label:"month",value:"mo"},{label:"year",value:"a"}]}))),n.createElement(Q,{title:"Repeat on"},n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},$e.map((e=>n.createElement(n.Fragment,{key:e},n.createElement("label",{htmlFor:"timing-dialog-repeat-"+e},e.charAt(0).toUpperCase()),n.createElement(r.Checkbox,{id:"timing-dialog-repeat-"+e,name:"timing-dialog-repeat-"+e,onChange:t=>u(e,t.currentTarget.checked)}))))))),n.createElement(r.Button,{onClick:()=>e.onOk(o)},"OK"))}function qe(e){var t,r,a;const o=e.property,l=null!==(t=e.defaultPropertyType)&&void 0!==t?t:null===(a=null===(r=o.type)||void 0===r?void 0:r[0])||void 0===a?void 0:a.code,i=e.name,c=e.defaultValue;if("*"===o.max&&!e.arrayElement)return"Attachment"===l?n.createElement(C,{name:i,defaultValue:c,onChange:e.onChange}):n.createElement(ze,{property:o,name:i,defaultValue:c,onChange:e.onChange});const u=o.type;return u.length>1?n.createElement(_e,Object.assign({elementDefinitionTypes:u},e)):n.createElement(Qe,Object.assign({elementDefinitionType:u[0]},e))}function _e(e){const a=e.elementDefinitionTypes;let o;e.defaultPropertyType&&(o=a.find((t=>t.code===e.defaultPropertyType))),o||(o=a[0]);const[l,i]=n.useState(o);return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{style:{width:"200px"},defaultValue:null==l?void 0:l.code,onChange:e=>{i(a.find((t=>t.code===e.currentTarget.value)))},data:a.map((e=>({value:e.code,label:e.code})))}),n.createElement(Qe,Object.assign({},e,{elementDefinitionType:l,onChange:n=>{e.onChange&&e.onChange(n,e.name.replace("[x]",t.capitalize(l.code)))}})))}function Qe(e){var a;const o=e.property,l=e.elementDefinitionType.code,i=e.name,c=e.defaultValue;switch(l){case t.PropertyType.SystemString:case t.PropertyType.canonical:case t.PropertyType.string:case t.PropertyType.time:case t.PropertyType.uri:case t.PropertyType.url:return n.createElement(r.TextInput,{id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:P(e.outcome,i)});case t.PropertyType.date:return n.createElement(r.TextInput,{type:"date",id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:P(e.outcome,i)});case t.PropertyType.dateTime:case t.PropertyType.instant:return n.createElement(Se,{name:i,defaultValue:c,onChange:e.onChange,outcome:e.outcome});case t.PropertyType.decimal:case t.PropertyType.integer:case t.PropertyType.positiveInt:case t.PropertyType.unsignedInt:return n.createElement(r.TextInput,{type:"number",step:l===t.PropertyType.decimal?"any":"1",id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.valueAsNumber)}});case t.PropertyType.code:return n.createElement(ye,{property:o,name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.boolean:return n.createElement(r.Checkbox,{id:i,name:i,"data-testid":i,defaultChecked:!!c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.checked)}});case t.PropertyType.markdown:return n.createElement(r.Textarea,{id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)}});case t.PropertyType.Address:return n.createElement(s,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Annotation:return n.createElement(he,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Attachment:return n.createElement(T,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.CodeableConcept:return n.createElement(Ee,{property:o,name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Coding:return n.createElement(be,{property:o,name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.ContactDetail:return n.createElement(Te,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.ContactPoint:return n.createElement(Ce,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Extension:return n.createElement(ke,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.HumanName:return n.createElement(Ie,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Identifier:return n.createElement(we,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Period:return n.createElement(je,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Quantity:return n.createElement(Re,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Range:return n.createElement(De,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Ratio:return n.createElement(Ae,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Reference:return n.createElement(Le,{name:i,defaultValue:c,targetTypes:We(o),onChange:e.onChange});case t.PropertyType.Timing:return n.createElement(Be,{name:i,defaultValue:c,onChange:e.onChange});default:return n.createElement(Ge,{typeName:t.buildTypeName(null===(a=o.path)||void 0===a?void 0:a.split(".")),defaultValue:c,onChange:e.onChange,outcome:e.outcome})}}function We(e){var t,n,r;return null===(r=null===(n=null===(t=null==e?void 0:e.type)||void 0===t?void 0:t[0])||void 0===n?void 0:n.targetProfile)||void 0===r?void 0:r.map((e=>e.split("/").pop()))}function Ge(e){var a;const[o,l]=n.useState(null!==(a=e.defaultValue)&&void 0!==a?a:{});function i(t){l(t),e.onChange&&e.onChange(t)}const c=e.typeName,u=t.globalSchema.types[c];if(!u)return n.createElement("div",null,c," not implemented");const s={type:c,value:o};return n.createElement(r.Stack,null,Object.entries(u.properties).map((r=>{const a=r[0];if("id"===a||_.indexOf(a)>=0)return null;const l=r[1];if(!l.type)return null;const[c,u]=ge(s,a);return 1===l.type.length&&"boolean"===l.type[0].code?n.createElement(q,{key:a,title:t.getPropertyDisplayName(a),description:l.definition,htmlFor:a},n.createElement(qe,{property:l,name:a,defaultValue:c,defaultPropertyType:u,outcome:e.outcome,onChange:(e,t)=>{i(H(o,a,null!=t?t:a,r[1],e))}})):n.createElement(Q,{key:a,title:t.getPropertyDisplayName(a),description:l.definition,htmlFor:a,outcome:e.outcome},n.createElement(qe,{property:l,name:a,defaultValue:c,defaultPropertyType:u,outcome:e.outcome,onChange:(e,t)=>{i(H(o,a,null!=t?t:a,r[1],e))}}))})))}function He(e){const{value:a,link:o}=e,l=x(e,["value","link"]),i=G(a);if(!i)return null;const c=t.getDisplayString(i);return o?n.createElement(se,Object.assign({to:i},l),c):n.createElement(r.Text,Object.assign({component:"span"},l),c)}function Ke(e){return n.createElement(r.Group,{spacing:"xs"},n.createElement(Ve,{size:24,radius:12,value:e.value,link:e.link}),n.createElement(He,{value:e.value,link:e.link}))}const Je=r.createStyles((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]}`}}})));function Ye(e){var a,o;const l=G(e.value),i=G(null===(a=null==l?void 0:l.specimen)||void 0===a?void 0:a[0]);if(!l)return null;let c="";if(l.presentedForm&&l.presentedForm.length>0){const e=l.presentedForm[0];(null===(o=e.contentType)||void 0===o?void 0:o.startsWith("text/plain"))&&e.data&&(c=window.atob(e.data))}if(null==i?void 0:i.note)for(const e of i.note)c+=e.text+"\n\n";return n.createElement(r.Stack,null,n.createElement(r.Title,null,"Diagnostic Report"),n.createElement(r.Group,{mt:"md",spacing:30},l.subject&&n.createElement("div",null,n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Subject"),n.createElement(r.Text,null,n.createElement(Ke,{value:l.subject,link:!0}))),l.resultsInterpreter&&l.resultsInterpreter.map((e=>n.createElement("div",{key:e.reference},n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Interpreter"),n.createElement(r.Text,null,n.createElement(Ke,{value:e,link:!0}))))),l.issued&&n.createElement("div",null,n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Issued"),n.createElement(r.Text,null,t.formatDateTime(l.issued))),l.status&&n.createElement("div",null,n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Status"),n.createElement(r.Text,null,t.capitalize(l.status)))),l.result&&n.createElement(Xe,{value:l.result}),c&&n.createElement("pre",null,c.trim()))}function Xe(e){var t;const{classes:r}=Je();return n.createElement("table",{className:r.table},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Test"),n.createElement("th",null,"Value"),n.createElement("th",null,"Reference Range"),n.createElement("th",null,"Interpretation"))),n.createElement("tbody",null,null===(t=e.value)||void 0===t?void 0:t.map(((e,t)=>n.createElement(Ze,{key:"obs-"+t,value:e})))))}function Ze(e){const{classes:t,cx:r}=Je(),a=G(e.value);if(!a)return null;const o=function(e){var t,n,r,a;const o=null===(a=null===(r=null===(n=null===(t=e.interpretation)||void 0===t?void 0:t[0])||void 0===n?void 0:n.coding)||void 0===r?void 0:r[0])||void 0===a?void 0:a.code;return"AA"===o||"LL"===o||"HH"===o||"RR"===o}(a);return n.createElement("tr",{className:r({[t.criticalRow]:o})},n.createElement("td",null,n.createElement(se,{to:a},n.createElement(ee,{value:a.code}))),n.createElement("td",null,n.createElement(et,{value:a})),n.createElement("td",null,n.createElement(tt,{value:a.referenceRange})),n.createElement("td",null,a.interpretation&&a.interpretation.length>0&&n.createElement(ee,{value:a.interpretation[0]})))}function et(e){var t;const r=e.value;return(null==r?void 0:r.valueQuantity)?n.createElement(oe,{value:null===(t=e.value)||void 0===t?void 0:t.valueQuantity}):(null==r?void 0:r.valueString)?n.createElement(n.Fragment,null,r.valueString):r&&"component"in r&&(null==r?void 0:r.component)?n.createElement(n.Fragment,null,r.component.map(((e,t)=>n.createElement(et,{key:`obs-${t}`,value:e}))).reduce(((e,t)=>[e," / ",t]))):null}function tt(e){const t=e.value&&e.value.length>0&&e.value[0];return t?t.text?n.createElement(n.Fragment,null,t.text):n.createElement(ie,{value:t}):null}const nt=r.createStyles((e=>({root:{borderCollapse:"collapse",width:"100%","& tr":{borderTop:`0.1px solid ${e.colors.gray[3]}`},"& th, & td":{padding:`${e.spacing.sm}px ${e.spacing.sm}px`,verticalAlign:"top"}},removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function rt(e){const{classes:r}=nt(),a=h(),[o,l]=n.useState();if(n.useEffect((()=>{a.requestSchema(e.original.resourceType).then(l).catch(console.log)}),[a,e.original.resourceType]),!o)return null;const i=o.types[e.original.resourceType];return i?n.createElement("table",{className:r.root},n.createElement("colgroup",null,n.createElement("col",{style:{width:"30%"}}),n.createElement("col",{style:{width:"35%"}}),n.createElement("col",{style:{width:"35%"}})),n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Property"),n.createElement("th",null,"Before"),n.createElement("th",null,"After"))),n.createElement("tbody",null,Object.entries(i.properties).map((a=>{const o=a[0];if("id"===o||"meta"===o)return null;const l=a[1],[i,c]=ge(t.toTypedValue(e.original),o),[u,s]=ge(t.toTypedValue(e.revised),o);return at(i)&&at(u)||t.stringify(i)===t.stringify(u)?null:n.createElement("tr",{key:o},n.createElement("td",null,t.getPropertyDisplayName(o)),n.createElement("td",{className:r.removed},n.createElement(pe,{property:l,propertyType:c,value:i,ignoreMissingValues:!0})),n.createElement("td",{className:r.added},n.createElement(pe,{property:l,propertyType:s,value:u,ignoreMissingValues:!0})))})))):null}function at(e){return!e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length}function ot(e){const t=h(),r=G(e.value),[a,o]=n.useState();return n.useEffect((()=>{r&&t.requestSchema(r.resourceType).then(o).catch(console.log)}),[t,r]),a&&r?n.createElement(X,{value:{type:r.resourceType,value:r},ignoreMissingValues:e.ignoreMissingValues}):null}class lt extends n.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?n.createElement(r.Title,null,"Something went wrong."):this.props.children}}function it(e){return n.createElement(r.Container,null,e.children)}function ct(e){var o,l,i;const c=null!==(o=e.profile)&&void 0!==o?o:null===(l=e.resource.meta)||void 0===l?void 0:l.author;return n.createElement(r.Paper,{"data-testid":"timeline-item",m:"lg",p:"sm",shadow:"xs",radius:"sm",withBorder:!0,className:e.className},n.createElement(r.Group,{position:"apart",spacing:8},n.createElement(Ve,{value:c,link:!0,size:"md"}),n.createElement("div",{style:{flex:1}},n.createElement(r.Text,{size:"sm"},n.createElement(He,{color:"dark",weight:500,value:c,link:!0})),n.createElement(r.Text,{size:"xs"},n.createElement(se,{color:"dimmed",to:e.resource},t.formatDateTime(null===(i=e.resource.meta)||void 0===i?void 0:i.lastUpdated)),n.createElement(r.Text,{component:"span",color:"dimmed",mx:8},"·"),n.createElement(se,{color:"dimmed",to:e.resource},e.resource.resourceType))),e.popupMenuItems&&n.createElement(r.Menu,{position:"bottom-end",shadow:"md",width:200},n.createElement(r.Menu.Target,null,n.createElement(r.ActionIcon,{radius:"xl","aria-label":`Actions for ${t.getReferenceString(e.resource)}`},n.createElement(a.IconDots,null))),e.popupMenuItems)),n.createElement(lt,null,e.padding&&n.createElement("div",{style:{padding:"2px 16px 16px 16px"}},e.children),!e.padding&&n.createElement(n.Fragment,null,e.children)))}function ut(e){e.sort(st)}function st(e,t){const n=dt(e),r=dt(t);return n>r?1:n<r?-1:mt(e)-mt(t)}function dt(e){const t=e.priority;return"string"==typeof t&&{stat:4,asap:3,urgent:2}[t]||0}function mt(e){var t;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();const n=null===(t=e.meta)||void 0===t?void 0:t.lastUpdated;return n?new Date(n).getTime():0}const pt=r.createStyles((e=>({pinnedComment:{backgroundColor:e.colors.blue[0]}})));function gt(e){const i=o.useNavigate(),c=h(),u=c.getProfile(),s=n.useRef(null),d=G(e.value),[m,p]=n.useState(),[g,f]=n.useState([]),v=e.buildSearchRequests,E=n.useRef(g);E.current=g;const y=n.useCallback((()=>{if(!d)return f([]),void p({});c.executeBatch(v(d)).then(C).catch(console.log)}),[c,d,v]);function C(e){const t=[];if(e.entry){for(const n of e.entry){const e=n.resource;if(e&&("history"===e.type&&p(e),e.entry))for(const n of e.entry)n.resource&&t.push(n.resource)}ut(t),t.reverse()}f(t)}function T(e){const t=[...E.current,...e];ut(t),t.reverse(),f(t)}function S(e,t){return c.updateResource(Object.assign(Object.assign({},e),{priority:t}))}function x(e){S(e,"stat").then(y).catch(console.log)}function O(e){S(e,"routine").then(y).catch(console.log)}function k(e){i(`/${e.resourceType}/${e.id}`)}function I(e){i(`/${e.resourceType}/${e.id}/edit`)}function w(e){i(`/${e.resourceType}/${e.id}/delete`)}function R(e){var t;i(`/${e.resourceType}/${e.id}/_history/${null===(t=e.meta)||void 0===t?void 0:t.versionId}`)}return n.useEffect((()=>{y()}),[y]),d&&m?n.createElement(it,null,e.createCommunication&&n.createElement(r.Paper,{m:"lg",p:"sm",shadow:"xs",radius:"sm",withBorder:!0},n.createElement(j,{testid:"timeline-form",onSubmit:t=>{var n;n=t.text,d&&e.createCommunication&&c.createResource(e.createCommunication(d,u,n)).then((e=>{T([e])})).catch(console.log);const r=s.current;r&&(r.value="",r.focus())}},n.createElement(r.Group,{spacing:"xs",noWrap:!0,style:{width:"100%"}},n.createElement(Ve,{value:u}),n.createElement(r.TextInput,{name:"text",ref:s,placeholder:"Add comment",style:{width:"100%",maxWidth:300}}),n.createElement(r.ActionIcon,{type:"submit",radius:"xl",color:"blue",variant:"filled"},n.createElement(a.IconMessage,{size:16})),n.createElement(b,{onUpload:function(r){d&&e.createMedia&&c.createResource(e.createMedia(d,u,r)).then((e=>T([e]))).then((()=>l.updateNotification({id:"upload-notification",color:"teal",title:"Upload complete",message:"",icon:n.createElement(a.IconCheck,{size:16}),autoClose:2e3}))).catch((e=>l.updateNotification({id:"upload-notification",color:"red",title:"Upload error",message:t.normalizeErrorString(e),icon:n.createElement(a.IconFileAlert,{size:16}),autoClose:2e3})))},onUploadStart:function(){l.showNotification({id:"upload-notification",loading:!0,title:"Initializing upload...",message:"Please wait...",autoClose:!1,disallowClose:!0})},onUploadProgress:function(e){l.updateNotification({id:"upload-notification",loading:!0,title:"Uploading...",message:Ct(e),autoClose:!1,disallowClose:!0})}},(e=>n.createElement(r.ActionIcon,Object.assign({},e,{radius:"xl",color:"blue",variant:"filled"}),n.createElement(a.IconCloudUpload,{size:16}))))))),g.map((e=>{var t;if(e.resourceType===d.resourceType&&e.id===d.id)return n.createElement(ft,{key:null===(t=e.meta)||void 0===t?void 0:t.versionId,history:m,resource:e,onDetails:R});const r=`${e.resourceType}/${e.id}`;switch(e.resourceType){case"AuditEvent":return n.createElement(yt,{key:r,resource:e,onDetails:k});case"Communication":return n.createElement(vt,{key:r,resource:e,onPin:"stat"!==e.priority?x:void 0,onUnpin:"stat"===e.priority?O:void 0,onDetails:k,onEdit:I,onDelete:w});case"DiagnosticReport":return n.createElement(bt,{key:r,resource:e,onDetails:k,onEdit:I,onDelete:w});case"Media":return n.createElement(Et,{key:r,resource:e,onDetails:k,onEdit:I,onDelete:w});default:return n.createElement(ct,{key:r,resource:e,padding:!0},n.createElement(ot,{value:e,ignoreMissingValues:!0}))}}))):n.createElement(r.Loader,null)}function ht(e){return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Label,null,"Resource"),e.onPin&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconPin,{size:14}),onClick:()=>e.onPin(e.resource),"aria-label":`Pin ${t.getReferenceString(e.resource)}`},"Pin"),e.onUnpin&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconPinnedOff,{size:14}),onClick:()=>e.onUnpin(e.resource),"aria-label":`Unpin ${t.getReferenceString(e.resource)}`},"Unpin"),e.onDetails&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconListDetails,{size:14}),onClick:()=>e.onDetails(e.resource),"aria-label":`Details ${t.getReferenceString(e.resource)}`},"Details"),e.onEdit&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEdit,{size:14}),onClick:()=>e.onEdit(e.resource),"aria-label":`Edit ${t.getReferenceString(e.resource)}`},"Edit"),e.onDelete&&n.createElement(n.Fragment,null,n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Label,null,"Danger zone"),n.createElement(r.Menu.Item,{color:"red",icon:n.createElement(a.IconTrash,{size:14}),onClick:()=>e.onDelete(e.resource),"aria-label":`Delete ${t.getReferenceString(e.resource)}`},"Delete")))}function ft(e){const t=function(e,t){const n=e.entry,r=n.findIndex((e=>{var n,r,a;return(null===(r=null===(n=e.resource)||void 0===n?void 0:n.meta)||void 0===r?void 0:r.versionId)===(null===(a=t.meta)||void 0===a?void 0:a.versionId)}));if(r>=n.length-1)return;return n[r+1].resource}(e.history,e.resource);return t?n.createElement(ct,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(ht,Object.assign({},e))},n.createElement(rt,{original:t,revised:e.resource})):n.createElement(ct,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(ht,Object.assign({},e))},n.createElement("h3",null,"Created"),n.createElement(ot,{value:e.resource,ignoreMissingValues:!0}))}function vt(e){var t,r;const{classes:a}=pt(),o=!e.resource.priority||"routine"===e.resource.priority?void 0:a.pinnedComment;return n.createElement(ct,{resource:e.resource,profile:e.resource.sender,padding:!0,className:o,popupMenuItems:n.createElement(ht,Object.assign({},e))},n.createElement("p",null,null===(r=null===(t=e.resource.payload)||void 0===t?void 0:t[0])||void 0===r?void 0:r.contentString))}function Et(e){var t;const r=null===(t=e.resource.content)||void 0===t?void 0:t.contentType,a=r&&!r.startsWith("image/")&&!r.startsWith("video/")&&"application/pdf"!==r;return n.createElement(ct,{resource:e.resource,padding:!!a,popupMenuItems:n.createElement(ht,Object.assign({},e))},n.createElement(d,{value:e.resource.content}))}function yt(e){return n.createElement(ct,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(ht,Object.assign({},e))},n.createElement(r.ScrollArea,null,n.createElement("pre",null,e.resource.outcomeDesc)))}function bt(e){return n.createElement(ct,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(ht,Object.assign({},e))},n.createElement(Ye,{value:e.resource}))}function Ct(e){if(e.lengthComputable){const t=100*e.loaded/e.total;return`Uploaded: ${Tt(e.loaded)} / ${Tt(e.total)} ${t.toFixed(2)}%`}return`Uploaded: ${Tt(e.loaded)}`}function Tt(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 St(e){let r;try{r=t.evalFhirPath(e.path,e.resource)}catch(e){return console.warn("FhirPathDisplay:",e),null}if(r.length>1)throw new Error(`Component "path" for "FhirPathDisplay" must resolve to a single element. Received ${r.length} elements [${JSON.stringify(r,null,2)}]`);return n.createElement(pe,{value:r[0]||"",propertyType:e.propertyType})}function xt(e,n){var r;if("_lastUpdated"===n)return{name:"_lastUpdated",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_lastUpdated",name:"_lastUpdated",type:"date",expression:"Resource.meta.lastUpdated"}]};if("meta.versionId"===n)return{name:"meta.versionId",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_versionId",name:"_versionId",type:"token",expression:"Resource.meta.versionId"}]};const a=t.globalSchema.types[e],o=a.properties[n],l=null===(r=a.searchParams)||void 0===r?void 0:r[n.toLowerCase()];if(o&&l)return{name:n,elementDefinition:o,searchParams:[l]};if(o){let t;if(a.searchParams){const r=`${e}.${n.replaceAll("[x]","")}`;t=Object.values(a.searchParams).filter((e=>{var t;return null===(t=e.expression)||void 0===t?void 0:t.includes(r)})),0===t.length&&(t=void 0)}return{name:n,elementDefinition:o,searchParams:t}}if(l){return{name:n,elementDefinition:t.getSearchParameterDetails(e,l).elementDefinition,searchParams:[l]}}return{name:n}}const Ot={string:[t.Operator.EQUALS,t.Operator.NOT,t.Operator.CONTAINS,t.Operator.EXACT],fulltext:[t.Operator.EQUALS,t.Operator.NOT,t.Operator.CONTAINS,t.Operator.EXACT],token:[t.Operator.EQUALS,t.Operator.NOT],reference:[t.Operator.EQUALS,t.Operator.NOT],numeric:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS],quantity:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS],date:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS,t.Operator.STARTS_AFTER,t.Operator.ENDS_BEFORE,t.Operator.APPROXIMATELY],datetime:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS,t.Operator.STARTS_AFTER,t.Operator.ENDS_BEFORE,t.Operator.APPROXIMATELY]},kt={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"};function It(e,t){return Object.assign(Object.assign({},e),{filters:t,offset:0,name:void 0})}function wt(e,t){return It(e,(e.filters||[]).filter((e=>e.code!==t)))}function jt(e,t,n,r,a){a&&(e=wt(e,t));const o=[];return e.filters&&o.push(...e.filters),o.push({code:t,operator:n,value:r||""}),It(e,o)}function Rt(e,t){if(!e.filters)return e;const n=[...e.filters];return n.splice(t,1),Object.assign(Object.assign({},e),{filters:n,name:void 0})}function Pt(e,t){return Vt(e,t,-1)}function Dt(e,t){return Vt(e,t,0)}function At(e,t){return Vt(e,t,1)}function Vt(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),$t(e,t,r,a)}function Mt(e,t){return Lt(e,t,-1)}function Nt(e,t){return Lt(e,t,0)}function Ft(e,t){return Lt(e,t,1)}function Lt(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),$t(e,t,r,a)}function zt(e,t){const n=new Date;n.setMonth(0),n.setDate(1),n.setHours(0,0,0,0);return $t(e,t,n,new Date)}function $t(e,n,r,a){return e=Bt(e=wt(e,n),n,t.Operator.GREATER_THAN_OR_EQUALS,r),e=Bt(e,n,t.Operator.LESS_THAN_OR_EQUALS,a)}function Bt(e,t,n,r){return jt(e,t,n,r.toISOString())}function Ut(e,n,r=!0){return jt(e,n,t.Operator.MISSING,r.toString())}function qt(e,t){return e.offset===t?e:Object.assign(Object.assign({},e),{offset:t,name:void 0})}function _t(e,n){var r;return qt(e,(n-1)*(null!==(r=e.count)&&void 0!==r?r:t.DEFAULT_SEARCH_COUNT))}function Qt(e,t,n){return t===Wt(e)&&void 0!==n&&n===Gt(e)?e:Object.assign(Object.assign({},e),{sortRules:[{code:t,descending:!!n}],name:void 0})}function Wt(e){const t=e.sortRules;if(!t||0===t.length)return;const n=t[0].code;return n.startsWith("-")?n.substr(1):n}function Gt(e){const t=e.sortRules;return!(!t||0===t.length)&&!!t[0].descending}function Ht(e){return Ot[e.type]}function Kt(e){var t;return null!==(t=kt[e])&&void 0!==t?t:""}function Jt(e){let n=e;return n.includes(".")&&(n=n.split(".").pop()),"id"===n?"ID":"versionId"===n?"Version ID":(n=n.replace("[x]",""),n=n.replace(/([A-Z])/g," $1"),n=n.replace(/[-_]/g," "),n=n.replace(/\s+/g," "),n=n.trim(),n.split(/\s/).map(t.capitalize).join(" "))}function Yt(e,r){var a,o;const l=r.name;return"id"===l?e.id:"meta.versionId"===l?null===(a=e.meta)||void 0===a?void 0:a.versionId:"_lastUpdated"===l?t.formatDateTime(null===(o=e.meta)||void 0===o?void 0:o.lastUpdated):r.elementDefinition&&`${e.resourceType}.${r.name}`===r.elementDefinition.path?function(e,t){var r,a,o;const l=(null===(o=null===(a=null===(r=t.path)||void 0===r?void 0:r.split("."))||void 0===a?void 0:a.pop())||void 0===o?void 0:o.replaceAll("[x]",""))||"",[i,c]=ge({type:e.resourceType,value:e},l);if(!i)return null;return n.createElement(pe,{property:t,propertyType:c,value:i,maxWidth:200,ignoreMissingValues:!0,link:!1})}(e,r.elementDefinition):r.searchParams&&1===r.searchParams.length&&r.name===r.searchParams[0].code?function(e,r,a){const o=t.evalFhirPathTyped(r.expression,[{type:e.resourceType,value:e}]);if(!o||0===o.length)return null;if(a)return n.createElement(pe,{propertyType:o[0].type,value:o[0].value,maxWidth:200,ignoreMissingValues:!0,link:!1});return n.createElement(n.Fragment,null,o.map(((e,t)=>n.createElement("span",{key:`${t}-${o.length}`},"object"==typeof e?JSON.stringify(e):e))))}(e,r.searchParams[0],r.elementDefinition):null}function Xt(e){var a;const[o,l]=n.useState({search:JSON.parse(t.stringify(e.search))}),i=n.useRef(null),c=n.useRef(null);function u(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=i.current)||void 0===t?void 0:t.value;if(r){const e=[...n,r];l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}function s(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=c.current)||void 0===t?void 0:t.value;if(r){const e=[...n];e.splice(e.indexOf(r),1),l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}function d(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}if(n.useEffect((()=>{l({search:e.search})}),[e.search]),!e.visible)return null;const m=e.search.resourceType,p=t.globalSchema.types[m],g=null!==(a=o.search.fields)&&void 0!==a?a:[],h=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(Jt(a));if(e.searchParams)for(const a of Object.keys(e.searchParams)){const e=Jt(a);n.has(a)||r.has(e)||(t.push(a),n.add(a),r.add(Jt(a)))}return t}(p).filter((e=>!(null==g?void 0:g.includes(e)))).sort();return n.createElement(r.Modal,{title:"Fields",closeButtonLabel:"Close",opened:e.visible,onClose:e.onCancel},n.createElement("div",null,n.createElement("table",{style:{margin:"auto"}},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",{colSpan:2,align:"center"},"Available"),n.createElement("th",{colSpan:2,align:"center"},"Selected"))),n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",{colSpan:2,align:"center"},n.createElement("select",{ref:i,size:15,tabIndex:1,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&u()}(e),onDoubleClick:()=>{u()},"data-testid":"available"},h.map((e=>n.createElement("option",{key:e,value:e},Jt(e)))))),n.createElement("td",{colSpan:2,align:"center"},n.createElement("select",{ref:c,size:15,tabIndex:4,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&s()}(e),onDoubleClick:()=>{s()},"data-testid":"selected"},g.map((e=>n.createElement("option",{key:e,value:e},Jt(e)))))))),n.createElement("tfoot",null,n.createElement("tr",null,n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:u},"Add")),n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:s},"Remove")),n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:function(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=c.current)||void 0===t?void 0:t.value;if(r){const e=[...n],t=e.indexOf(r);d(e,t,t-1),l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}},"Up")),n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:function(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=c.current)||void 0===t?void 0:t.value;if(r){const e=[...n],t=e.indexOf(r);d(e,t,t+1),l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}},"Down")))))),n.createElement(r.Button,{onClick:()=>e.onOk(o.search)},"OK"))}function Zt(e){var r,a;const{resourceType:o,filter:l}=e,i=null===(a=null===(r=t.globalSchema.types[o])||void 0===r?void 0:r.searchParams)||void 0===a?void 0:a[l.code];if(i){if("reference"===i.type)return n.createElement(He,{value:{reference:l.value}});const e=t.getSearchParameterDetails(o,i);if("_lastUpdated"===l.code||e.type===t.SearchParameterType.DATETIME)return n.createElement(n.Fragment,null,t.formatDateTime(l.value))}return n.createElement(n.Fragment,null,l.value)}function en(e){var a;const o="filter-value";switch(t.getSearchParameterDetails(e.resourceType,e.searchParam).type){case t.SearchParameterType.REFERENCE:return n.createElement(Le,{name:o,defaultValue:{reference:e.defaultValue},targetTypes:null===(a=e.searchParam)||void 0===a?void 0:a.target,onChange:t=>{t?e.onChange(t.reference):e.onChange("")}});case t.SearchParameterType.BOOLEAN:return n.createElement(r.Checkbox,{name:o,"data-testid":o,defaultChecked:"true"===e.defaultValue,onChange:t=>e.onChange(t.currentTarget.checked.toString())});case t.SearchParameterType.DATE:return n.createElement(r.TextInput,{type:"date",name:o,"data-testid":o,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case t.SearchParameterType.DATETIME:return n.createElement(Se,{name:o,defaultValue:e.defaultValue,onChange:e.onChange});case t.SearchParameterType.NUMBER:return n.createElement(r.TextInput,{type:"number",name:o,"data-testid":o,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case t.SearchParameterType.QUANTITY:return n.createElement(Re,{name:o,defaultValue:tn(e.defaultValue),onChange:t=>{t?e.onChange(`${t.value}`):e.onChange("")}});default:return n.createElement(r.TextInput,{name:o,"data-testid":o,defaultValue:e.defaultValue,autoFocus:e.autoFocus,onChange:t=>e.onChange(t.currentTarget.value),placeholder:"Search value"})}}function tn(e){if(e){const[t,n,r]=e.split("|");if(t)return{value:parseFloat(t),system:n,unit:r}}}function nn(e){const[a,o]=n.useState(JSON.parse(t.stringify(e.search))),[l,i]=n.useState(-1),c=n.useRef(a);if(c.current=a,n.useEffect((()=>{o(JSON.parse(t.stringify(e.search)))}),[e.search]),!e.visible)return null;const u=e.search.resourceType,s=t.globalSchema.types[u].searchParams,d=a.filters||[];return n.createElement(r.Modal,{title:"Filters",closeButtonLabel:"Close",size:900,opened:e.visible,onClose:e.onCancel},n.createElement("div",null,n.createElement("table",null,n.createElement("colgroup",null,n.createElement("col",{style:{width:200}}),n.createElement("col",{style:{width:200}}),n.createElement("col",{style:{width:380}}),n.createElement("col",{style:{width:120}})),n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Field"),n.createElement("th",null,"Operation"),n.createElement("th",null,"Value"),n.createElement("th",null,"Actions"))),n.createElement("tbody",null,d.map(((e,t)=>t===l?n.createElement(an,{key:`filter-${t}-${d.length}-input`,resourceType:u,searchParams:s,defaultValue:e,okText:"Save",onOk:e=>{const n=[...d];n[t]=e,o(It(c.current,n)),i(-1)},onCancel:()=>i(-1)}):n.createElement(rn,{key:`filter-${t}-${d.length}-display`,resourceType:u,searchParams:s,filter:e,onEdit:()=>i(t),onDelete:()=>o(Rt(c.current,t))}))),n.createElement(an,{resourceType:u,searchParams:s,okText:"Add",onOk:function(e){o(jt(c.current,e.code,e.operator,e.value))}})))),n.createElement(r.Group,{position:"right",mt:"xl"},n.createElement(r.Button,{onClick:()=>e.onOk(c.current)},"OK")))}function rn(e){const{filter:t}=e;return n.createElement("tr",null,n.createElement("td",null,Jt(t.code)),n.createElement("td",null,Kt(t.operator)),n.createElement("td",null,n.createElement(Zt,{resourceType:e.resourceType,filter:t})),n.createElement("td",null,n.createElement(r.Button,{compact:!0,variant:"outline",onClick:e.onEdit},"Edit"),n.createElement(r.Button,{compact:!0,variant:"outline",onClick:e.onDelete},"Delete")))}function an(e){var t;const[a,o]=n.useState(null!==(t=e.defaultValue)&&void 0!==t?t:{}),l=n.useRef(a);l.current=a;const i=e.searchParams[a.code],c=i&&Ht(i);return n.createElement("tr",null,n.createElement("td",null,n.createElement(r.NativeSelect,{"data-testid":"filter-field",defaultValue:l.current.code,onChange:e=>{return t=e.currentTarget.value,void o(Object.assign(Object.assign({},l.current),{code:t}));var t},data:Object.keys(e.searchParams).map((e=>({value:e,label:Jt(e)})))})),n.createElement("td",null,c&&n.createElement(r.NativeSelect,{"data-testid":"filter-operation",defaultValue:a.operator,onChange:e=>{return t=e.currentTarget.value,void o(Object.assign(Object.assign({},l.current),{operator:t}));var t},data:["",...c.map((e=>({value:e,label:Kt(e)})))]})),n.createElement("td",null,i&&a.operator&&n.createElement(en,{resourceType:e.resourceType,searchParam:i,defaultValue:a.value,onChange:function(e){o(Object.assign(Object.assign({},l.current),{value:e}))}})),n.createElement("td",null,a.code&&a.operator&&a.value&&n.createElement(r.Button,{compact:!0,variant:"outline",onClick:()=>{e.onOk(l.current),o({})}},e.okText),e.onCancel&&n.createElement(r.Button,{compact:!0,variant:"outline",onClick:e.onCancel},"Cancel")))}function on(e){var t;const[a,o]=n.useState(null!==(t=e.defaultValue)&&void 0!==t?t:"");if(!e.visible||!e.searchParam||!e.filter)return null;function l(){e.onOk(Object.assign(Object.assign({},e.filter),{value:a}))}return n.createElement(r.Modal,{title:e.title,size:"xl",opened:e.visible,onClose:e.onCancel},n.createElement("div",{style:{width:500}},n.createElement(j,{onSubmit:l},n.createElement(en,{resourceType:e.resourceType,searchParam:e.searchParam,defaultValue:a,autoFocus:!0,onChange:o}))),n.createElement(r.Button,{onClick:l},"OK"))}function ln(e){if(!e.searchParams)return null;function t(t){e.onChange(t)}return 1===e.searchParams.length?n.createElement(cn,{search:e.search,searchParam:e.searchParams[0],onSort:function(n,r){t(Qt(e.search,n.code,r))},onPrompt:function(t,n){e.onPrompt(t,{code:t.code,operator:n,value:""})},onChange:t,onClear:function(n){t(wt(e.search,n.code))}}):n.createElement(r.Menu.Dropdown,null,e.searchParams.map((e=>n.createElement(r.Menu.Item,{key:e.code},Jt(e.code)))))}function cn(e){switch(e.searchParam.type){case"date":return n.createElement(un,Object.assign({},e));case"number":case"quantity":return n.createElement(sn,Object.assign({},e));case"reference":return n.createElement(dn,Object.assign({},e));case"string":case"token":case"uri":return n.createElement(mn,Object.assign({},e));default:return n.createElement(n.Fragment,null,"Unknown search param type: ",e.searchParam.type)}}function un(e){const{searchParam:o}=e,l=o.code;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortAscending,{size:14}),onClick:()=>e.onSort(o,!1)},"Sort Oldest to Newest"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortDescending,{size:14}),onClick:()=>e.onSort(o,!0)},"Sort Newest to Oldest"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT_EQUALS)},"Does not equal..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathLower,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.ENDS_BEFORE)},"Before..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathGreater,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.STARTS_AFTER)},"After..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBracketsContain,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Between..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(At(e.search,l))},"Tomorrow"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Dt(e.search,l))},"Today"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Pt(e.search,l))},"Yesterday"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Ft(e.search,l))},"Next Month"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Nt(e.search,l))},"This Month"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Mt(e.search,l))},"Last Month"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(zt(e.search,l))},"Year to date"),n.createElement(pn,Object.assign({},e)))}function sn(e){const{searchParam:o}=e;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortAscending,{size:14}),onClick:()=>e.onSort(o,!1)},"Sort Smallest to Largest"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortDescending,{size:14}),onClick:()=>e.onSort(o,!0)},"Sort Largest to Smallest"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT_EQUALS)},"Does not equal..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathGreater,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.GREATER_THAN)},"Greater than..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSettings,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.GREATER_THAN_OR_EQUALS)},"Greater than or equal to..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathLower,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.LESS_THAN)},"Less than..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSettings,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.LESS_THAN_OR_EQUALS)},"Less than or equal to..."),n.createElement(pn,Object.assign({},e)))}function dn(e){const{searchParam:o}=e;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT)},"Does not equal..."),n.createElement(pn,Object.assign({},e)))}function mn(e){const{searchParam:o}=e;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortAscending,{size:14}),onClick:()=>e.onSort(o,!1)},"Sort A to Z"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortDescending,{size:14}),onClick:()=>e.onSort(o,!0)},"Sort Z to A"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT)},"Does not equal..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBucket,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.CONTAINS)},"Contains..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBucketOff,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Does not contain..."),n.createElement(pn,Object.assign({},e)))}function pn(e){const{searchParam:t}=e,o=t.code;return n.createElement(n.Fragment,null,n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBleach,{size:14}),onClick:()=>e.onChange(Ut(e.search,o))},"Missing"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBleachOff,{size:14}),onClick:()=>e.onChange(Ut(e.search,o,!1))},"Not missing"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconX,{size:14}),onClick:()=>e.onClear(t)},"Clear filters"))}class gn extends Event{constructor(e){super("change"),this.definition=e}}class hn extends Event{constructor(e){super("load"),this.response=e}}class fn extends Event{constructor(e,t){super("click"),this.resource=e,this.browserEvent=t}}const vn=r.createStyles((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}px ${e.spacing.md}px`,"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[6]:e.colors.gray[0]}},icon:{width:21,height:21,borderRadius:21}})));function En(e){var o,l;const{classes:i}=vn(),c=h(),[u,s]=n.useState(!1),[d,m]=n.useState(),{search:p,onLoad:g}=e,[f,y]=n.useState({selected:{},fieldEditorVisible:!1,filterEditorVisible:!1,filterDialogVisible:!1}),b=n.useRef(f);function C(t){e.onChange&&e.onChange(new gn(t))}function T(t,n){E(t.target)||2!==t.button&&(v(t),1!==t.button&&e.onClick&&e.onClick(new fn(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new fn(n,t)))}b.current=f,n.useEffect((()=>{m(void 0),c.search(p.resourceType,t.formatSearchQuery(Object.assign(Object.assign({},p),{total:"accurate",fields:void 0}))).then((e=>{y(Object.assign(Object.assign({},b.current),{searchResponse:e})),g&&g(new hn(e))})).catch((e=>{y(Object.assign(Object.assign({},b.current),{searchResponse:void 0})),m(e)}))}),[c,p,g]),n.useEffect((()=>{s(!1),c.requestSchema(e.search.resourceType).then((()=>s(!0))).catch(console.log)}),[c,e.search.resourceType]);if(!(u&&(null===(o=null===t.globalSchema||void 0===t.globalSchema?void 0:t.globalSchema.types)||void 0===o?void 0:o[e.search.resourceType])))return n.createElement(r.Loader,null);const S=e.checkboxesEnabled,x=function(e){const t=e.resourceType,n=[];for(const r of e.fields||["id","_lastUpdated"])n.push(xt(t,r));return n}(p),O=p.resourceType,k=f.searchResponse,I=null==k?void 0:k.entry,w=null==I?void 0:I.map((e=>e.resource)),j="subtle",R="gray",P=16,D=window.innerWidth<768;return n.createElement("div",{className:i.root,"data-testid":"search-control"},!e.hideToolbar&&n.createElement(r.Group,{position:"apart",mb:"xl"},n.createElement(r.Group,{spacing:2},n.createElement(r.Button,{compact:!0,variant:j,color:R,leftIcon:n.createElement(a.IconFilter,{size:P}),onClick:()=>y(Object.assign(Object.assign({},b.current),{fieldEditorVisible:!0}))},"Fields"),n.createElement(r.Button,{compact:!0,variant:j,color:R,leftIcon:n.createElement(a.IconColumns,{size:P}),onClick:()=>y(Object.assign(Object.assign({},b.current),{filterEditorVisible:!0}))},"Filters"),e.onNew&&n.createElement(r.Button,{compact:!0,variant:j,color:R,leftIcon:n.createElement(a.IconFilePlus,{size:P}),onClick:e.onNew},"New..."),!D&&e.onExport&&n.createElement(r.Button,{compact:!0,variant:j,color:R,leftIcon:n.createElement(a.IconTableExport,{size:P}),onClick:e.onExport},"Export..."),!D&&e.onDelete&&n.createElement(r.Button,{compact:!0,variant:j,color:R,leftIcon:n.createElement(a.IconTrash,{size:P}),onClick:()=>e.onDelete(Object.keys(f.selected))},"Delete..."),!D&&e.onBulk&&n.createElement(r.Button,{compact:!0,variant:j,color:R,leftIcon:n.createElement(a.IconBoxMultiple,{size:P}),onClick:()=>e.onBulk(Object.keys(f.selected))},"Bulk...")),k&&n.createElement(r.Text,{size:"xs",color:"dimmed"},function(e,t){var n;return Math.min(t,(null!==(n=e.offset)&&void 0!==n?n:0)+1)}(p,k.total),"-",function(e,n){var r,a;return Math.min(n,((null!==(r=e.offset)&&void 0!==r?r:0)+1)*(null!==(a=e.count)&&void 0!==a?a:t.DEFAULT_SEARCH_COUNT))}(p,k.total)," of"," ",null===(l=k.total)||void 0===l?void 0:l.toLocaleString())),n.createElement(r.Table,{className:i.table},n.createElement("thead",null,n.createElement("tr",null,S&&n.createElement("th",null,n.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){var e,t;const n=b.current;if(!(null===(e=n.searchResponse)||void 0===e?void 0:e.entry)||0===n.searchResponse.entry.length)return!1;for(const e of n.searchResponse.entry)if((null===(t=e.resource)||void 0===t?void 0:t.id)&&!n.selected[e.resource.id])return!1;return!0}(),onChange:e=>function(e){var t;e.stopPropagation();const n=e.target.checked,r={},a=null===(t=b.current)||void 0===t?void 0:t.searchResponse;n&&(null==a?void 0:a.entry)&&a.entry.forEach((e=>{var t;(null===(t=e.resource)||void 0===t?void 0:t.id)&&(r[e.resource.id]=!0)})),y(Object.assign(Object.assign({},b.current),{selected:r}))}(e)})),x.map((t=>n.createElement("th",{key:t.name},n.createElement(r.Menu,{shadow:"md",width:240,position:"bottom-end"},n.createElement(r.Menu.Target,null,n.createElement(r.UnstyledButton,{className:i.control},n.createElement(r.Group,{position:"apart",noWrap:!0},n.createElement(r.Text,{weight:500,size:"sm"},Jt(t.name)),n.createElement(r.Center,{className:i.icon},n.createElement(a.IconAdjustmentsHorizontal,{size:14,stroke:1.5}))))),n.createElement(ln,{search:e.search,searchParams:t.searchParams,onPrompt:(e,t)=>{y(Object.assign(Object.assign({},b.current),{filterDialogVisible:!0,filterDialogSearchParam:e,filterDialogFilter:t}))},onChange:e=>{C(e)}})))))),!e.hideFilters&&n.createElement("tr",null,S&&n.createElement("th",null),x.map((t=>n.createElement("th",{key:t.name},t.searchParams&&n.createElement(bn,{resourceType:O,searchParams:t.searchParams,filters:e.search.filters})))))),n.createElement("tbody",null,null==w?void 0:w.map((e=>e&&n.createElement("tr",{key:e.id,className:i.tr,"data-testid":"search-control-row",onClick:t=>T(t,e),onAuxClick:t=>T(t,e)},S&&n.createElement("td",null,n.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!f.selected[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r=Object.assign({},b.current.selected);n?r[t]=!0:delete r[t],y(Object.assign(Object.assign({},b.current),{selected:r}))}(t,e.id)})),x.map((t=>n.createElement("td",{key:t.name},Yt(e,t))))))))),0===(null==w?void 0:w.length)&&n.createElement(r.Container,null,n.createElement(r.Center,null,n.createElement(r.Text,{size:"xl",color:"dimmed"},"No results"))),void 0!==(null==k?void 0:k.total)&&k.total>0&&n.createElement(r.Center,{m:"md",p:"md"},n.createElement(r.Pagination,{page:Cn(p),total:Tn(p,k.total),onChange:e=>C(_t(p,e)),getItemAriaLabel:e=>{switch(e){case"prev":return"Previous page";case"next":return"Next page";default:return}}})),d&&n.createElement("div",{"data-testid":"search-error"},n.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(d,void 0,2))),n.createElement(Xt,{search:e.search,visible:b.current.fieldEditorVisible,onOk:e=>{C(e),y(Object.assign(Object.assign({},b.current),{fieldEditorVisible:!1}))},onCancel:()=>{y(Object.assign(Object.assign({},b.current),{fieldEditorVisible:!1}))}}),n.createElement(nn,{search:e.search,visible:b.current.filterEditorVisible,onOk:e=>{C(e),y(Object.assign(Object.assign({},b.current),{filterEditorVisible:!1}))},onCancel:()=>{y(Object.assign(Object.assign({},b.current),{filterEditorVisible:!1}))}}),n.createElement(on,{visible:b.current.filterDialogVisible,title:"Input",resourceType:O,searchParam:f.filterDialogSearchParam,filter:f.filterDialogFilter,defaultValue:"",onOk:t=>{C(jt(e.search,t.code,t.operator,t.value)),y(Object.assign(Object.assign({},b.current),{filterDialogVisible:!1}))},onCancel:()=>{y(Object.assign(Object.assign({},b.current),{filterDialogVisible:!1}))}}))}const yn=n.memo(En);function bn(e){var t;const r=(null!==(t=e.filters)&&void 0!==t?t:[]).filter((t=>e.searchParams.find((e=>e.code===t.code))));return 0===r.length?n.createElement("span",null,"no filters"):n.createElement(n.Fragment,null,r.map(((t,a)=>n.createElement("div",{key:`filter-${a}-${r.length}`},Kt(t.operator)," ",n.createElement(Zt,{resourceType:e.resourceType,filter:t})))))}function Cn(e){return Math.floor((e.offset||0)/(e.count||t.DEFAULT_SEARCH_COUNT))+1}function Tn(e,n){const r=e.count||t.DEFAULT_SEARCH_COUNT;return Math.ceil(n/r)}function Sn(e){var t,a,o,l,i;const c=h(),[u,s]=n.useState(),[d,m]=n.useState(),{query:p,fields:g}=e,[f,y]=n.useState(),[b,C]=n.useState({}),T=n.useRef();T.current=f;const S=n.useRef({});function x(t,n){E(t.target)||(v(t),1!==t.button&&e.onClick&&e.onClick(new fn(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new fn(n,t)))}S.current=b,n.useEffect((()=>{m(void 0),c.graphql(p).then(y).catch(m)}),[c,p]),n.useEffect((()=>{c.requestSchema(e.resourceType).then((e=>{s(Object.assign({},e))})).catch(console.log)}),[c,e.resourceType]);if(!(null===(t=null==u?void 0:u.types)||void 0===t?void 0:t[e.resourceType]))return n.createElement(r.Loader,null);const O=e.checkboxesEnabled;return n.createElement("div",{onContextMenu:e=>v(e),"data-testid":"search-control"},n.createElement(r.Table,null,n.createElement("thead",null,n.createElement("tr",null,O&&n.createElement("th",null,n.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){var e,t;const n=null===(t=null===(e=T.current)||void 0===e?void 0:e.data)||void 0===t?void 0:t.ResourceList;if(!n||0===n.length)return!1;for(const e of n)if((null==e?void 0:e.id)&&!S.current[e.id])return!1;return!0}(),onChange:e=>function(e){var t,n;e.stopPropagation();const r=e.target.checked,a={},o=null===(n=null===(t=T.current)||void 0===t?void 0:t.data)||void 0===n?void 0:n.ResourceList;r&&o&&o.forEach((e=>{(null==e?void 0:e.id)&&(a[e.id]=!0)})),C(a)}(e)})),g.map((e=>n.createElement("th",{key:e.name},e.name))))),n.createElement("tbody",null,null===(o=null===(a=null==f?void 0:f.data)||void 0===a?void 0:a.ResourceList)||void 0===o?void 0:o.map((e=>e&&n.createElement("tr",{key:e.id,"data-testid":"search-control-row",onClick:t=>x(t,e),onAuxClick:t=>x(t,e)},O&&n.createElement("td",null,n.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!b[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r=Object.assign({},S.current);n?r[t]=!0:delete r[t],C(r)}(t,e.id)})),g.map((t=>n.createElement("td",{key:t.name},n.createElement(St,{propertyType:t.propertyType,path:t.fhirPath,resource:e}))))))))),0===(null===(i=null===(l=null==f?void 0:f.data)||void 0===l?void 0:l.ResourceList)||void 0===i?void 0:i.length)&&n.createElement("div",{"data-testid":"empty-search"},"No results"),d&&n.createElement("div",{"data-testid":"search-error"},n.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(d,void 0,2))),e.onBulk&&n.createElement(r.Button,{onClick:()=>e.onBulk(Object.keys(S.current))},"Bulk..."))}const xn=n.memo(Sn),On=["$/_history","Communication?subject=$","Device?patient=$","DeviceRequest?patient=$","DiagnosticReport?subject=$","Media?subject=$","ServiceRequest?subject=$"];const kn=r.createStyles((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 In(e){const{classes:t}=kn(),r=n.useRef();function a(t){e.onChange(r.current.map((e=>e.id===t.id?t:e)))}return r.current=e.actions,n.createElement("div",{className:t.section},e.actions.map((t=>n.createElement("div",{key:t.id},n.createElement(wn,{action:t,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:a,onRemove:()=>{return n=t,void e.onChange(r.current.filter((e=>e!==n)));var n}})))),n.createElement("div",{className:t.bottomActions},n.createElement("a",{href:"#",onClick:t=>{var n;v(t),n={id:Nn()},e.onChange([...r.current,n]),e.setSelectedKey(n.id)}},"Add action")))}function wn(e){const{classes:t,cx:r}=kn(),{action:a}=e,o=function(e){var t,n,r;if(null===(t=e.definitionCanonical)||void 0===t?void 0:t.startsWith("Schedule"))return"appointment";if(null===(n=e.definitionCanonical)||void 0===n?void 0:n.startsWith("Questionnaire/"))return"questionnaire";if(null===(r=e.definitionCanonical)||void 0===r?void 0:r.startsWith("ActivityDefinition/"))return"task";return}(a),l=e.selectedKey===e.action.id,i=e.hoverKey===e.action.id;const c=r(t.section,{[t.editing]:l,[t.hovering]:i&&!l});return n.createElement("div",{"data-testid":a.id,className:c,onClick:function(t){t.stopPropagation(),e.setSelectedKey(e.action.id)},onMouseOver:function(t){v(t),e.setHoverKey(e.action.id)}},l?n.createElement(Pn,{action:a,actionType:o,onChange:e.onChange,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onRemove:e.onRemove}):n.createElement(Rn,{action:a,actionType:o}),n.createElement("div",{className:t.bottomActions},n.createElement("a",{href:"#",onClick:t=>{t.preventDefault(),e.onRemove()}},"Remove")))}const jn={path:"PlanDefinition.action.timing[x]",min:0,max:"1",type:[{code:"dateTime"},{code:"Period"},{code:"Range"},{code:"Timing"}]};function Rn(e){const{action:t,actionType:r}=e,[a,o]=Vn(t);return n.createElement("div",null,n.createElement("div",null,t.title||"Untitled"," ",r&&`(${r})`),t.definitionCanonical&&n.createElement("div",null,n.createElement(de,{value:{reference:t.definitionCanonical}})),a&&n.createElement("div",null,n.createElement(pe,{property:jn,propertyType:o,value:a})))}function Pn(e){const{action:t}=e,[a,o]=n.useState(e.actionType);function l(n,r){e.onChange(Object.assign(Object.assign({},t),{[n]:r}))}return n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:`actionTitle-${t.id}`,label:"Title",defaultValue:t.title,onChange:e=>l("title",e.currentTarget.value)}),n.createElement(r.TextInput,{name:`actionDescription-${t.id}`,label:"Description",defaultValue:t.description,onChange:e=>l("description",e.currentTarget.value)}),n.createElement(r.NativeSelect,{label:"Type of Action",description:"The type of the action to be performed.",name:`actionType-${t.id}`,defaultValue:a,onChange:e=>o(e.currentTarget.value),data:["","appointment","lab","questionnaire","task"]}),t.action&&t.action.length>0&&n.createElement(In,{actions:t.action,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:e=>l("action",e)}),(()=>{switch(a){case"appointment":return n.createElement(Dn,{title:"Appointment",description:"The subject must schedule an appointment from the schedule.",resourceType:"Schedule",action:t,onChange:e.onChange});case"lab":return n.createElement(Dn,{title:"Lab",description:"The subject must complete the following lab panel.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});case"questionnaire":return n.createElement(Dn,{title:"Questionnaire",description:"The subject must complete the selected questionnaire.",resourceType:"Questionnaire",action:t,onChange:e.onChange});case"task":return n.createElement(Dn,{title:"Task",description:"The subject must complete the following task.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});default:return null}})(),n.createElement(Q,{title:"Timing",description:"When the action should take place."},n.createElement(An,{name:"timing-"+t.id,action:t,onChange:e.onChange})))}function Dn(e){const{id:r,definitionCanonical:a}=e.action,o=(null==a?void 0:a.startsWith(e.resourceType+"/"))?{reference:a}:void 0;return n.createElement(Ne,{name:r,resourceType:e.resourceType,defaultValue:o,loadOnFocus:!0,onChange:n=>{n?e.onChange(Object.assign(Object.assign({},e.action),{definitionCanonical:t.getReferenceString(n)})):e.onChange(Object.assign(Object.assign({},e.action),{definitionCanonical:void 0}))}})}function An(e){const t=e.action,r="timing",[a,o]=Vn(t);return n.createElement(qe,{property:jn,name:"timing[x]",defaultValue:a,defaultPropertyType:o,onChange:(n,a)=>{e.onChange(H(t,r,null!=a?a:r,jn,n))}})}function Vn(e){return ge({type:"PlanDefinitionAction",value:e},"timing")}let Mn=1;function Nn(e){if(e){if(e.startsWith("id-")){const t=parseInt(e.substring(3));isNaN(t)||(Mn=Math.max(Mn,t+1))}return e}return"id-"+Mn++}function Fn(e){if(e)return e.map((e=>Object.assign(Object.assign({},e),{id:Nn(e.id),action:Fn(e.action)})))}var Ln;function zn(e){return"choice"===e.type||"open-choice"===e.type}function $n(e){const a=h(),o=a.getProfile(),[l,i]=n.useState(),c=G(e.questionnaire),[u,s]=n.useState(),[d,m]=n.useState({});return n.useEffect((()=>{a.requestSchema("Questionnaire").then((()=>a.requestSchema("QuestionnaireResponse"))).then(i).catch(console.log)}),[a]),n.useEffect((()=>{s(c?function(e){return{resourceType:"QuestionnaireResponse",questionnaire:t.getReferenceString(e),item:Wn(e.item)}}(c):void 0)}),[c]),l&&c?n.createElement(j,{testid:"questionnaire-form",onSubmit:()=>{e.onSubmit&&u&&e.onSubmit(Object.assign(Object.assign({},u),{questionnaire:t.getReferenceString(c),subject:e.subject,source:t.createReference(o),authored:(new Date).toISOString()}))}},c.title&&n.createElement(r.Title,null,c.title),c.item&&n.createElement(Bn,{items:c.item,answers:d,onChange:function(e){const n={resourceType:"QuestionnaireResponse",item:e};s(n),m(t.getQuestionnaireAnswers(n))}}),n.createElement(r.Group,{position:"right",mt:"xl"},n.createElement(r.Button,{type:"submit"},e.submitButtonText||"OK"))):null}function Bn(t){const[a,o]=n.useState(Wn(t.items));function l(e,n){const r=a.slice();r[e]=n,o(r),t.onChange(r)}return n.createElement(r.Stack,null,t.items.map(((a,o)=>{if(!Kn(a,t.answers))return null;if(a.type===e.QuestionnaireItemType.display)return n.createElement("p",{key:a.linkId},a.text);if(a.type===e.QuestionnaireItemType.group)return n.createElement(Un,{key:a.linkId,item:a,answers:t.answers,onChange:e=>l(o,e)});if(a.type===e.QuestionnaireItemType.boolean){const e=a.initial&&a.initial.length>0?a.initial[0]:void 0;return n.createElement(q,{key:a.linkId,title:a.text,htmlFor:a.linkId},n.createElement(r.Checkbox,{id:a.linkId,name:a.linkId,defaultChecked:null==e?void 0:e.valueBoolean,onChange:e=>l(o,{linkId:a.linkId,text:a.text,answer:[{valueBoolean:e.currentTarget.checked}]})}))}return n.createElement(Q,{key:a.linkId,htmlFor:a.linkId,title:a.text||""},n.createElement(Un,{item:a,answers:t.answers,onChange:e=>l(o,e)}))})))}function Un(t){const a=t.item,o=a.type;if(!o)return null;const l=a.linkId;if(!l)return null;const i=a.initial&&a.initial.length>0?a.initial[0]:void 0;function c(e){t.onChange({linkId:a.linkId,text:a.text,answer:[e]})}switch(o){case e.QuestionnaireItemType.group:return n.createElement("div",null,n.createElement("h3",null,a.text),a.item&&n.createElement(Bn,{items:a.item,answers:t.answers,onChange:function(e){t.onChange({linkId:a.linkId,text:a.text,item:e})}}));case e.QuestionnaireItemType.boolean:return n.createElement(r.Checkbox,{id:l,name:l,defaultChecked:null==i?void 0:i.valueBoolean,onChange:e=>c({valueBoolean:e.currentTarget.checked})});case e.QuestionnaireItemType.decimal:return n.createElement(r.TextInput,{type:"number",step:"any",id:l,name:l,defaultValue:null==i?void 0:i.valueDecimal,onChange:e=>c({valueDecimal:e.currentTarget.valueAsNumber})});case e.QuestionnaireItemType.integer:return n.createElement(r.TextInput,{type:"number",step:1,id:l,name:l,defaultValue:null==i?void 0:i.valueInteger,onChange:e=>c({valueInteger:e.currentTarget.valueAsNumber})});case e.QuestionnaireItemType.date:return n.createElement(r.TextInput,{type:"date",id:l,name:l,defaultValue:null==i?void 0:i.valueDate,onChange:e=>c({valueDate:e.currentTarget.value})});case e.QuestionnaireItemType.dateTime:return n.createElement(Se,{name:l,defaultValue:null==i?void 0:i.valueDateTime,onChange:e=>c({valueDateTime:e})});case e.QuestionnaireItemType.time:return n.createElement(r.TextInput,{type:"time",id:l,name:l,defaultValue:null==i?void 0:i.valueTime,onChange:e=>c({valueTime:e.currentTarget.value})});case e.QuestionnaireItemType.string:case e.QuestionnaireItemType.url:return n.createElement(r.TextInput,{id:l,name:l,defaultValue:null==i?void 0:i.valueString,onChange:e=>c({valueString:e.currentTarget.value})});case e.QuestionnaireItemType.text:return n.createElement(r.Textarea,{id:l,name:l,defaultValue:null==i?void 0:i.valueString,onChange:e=>c({valueString:e.currentTarget.value})});case e.QuestionnaireItemType.attachment:return n.createElement(T,{name:l,defaultValue:null==i?void 0:i.valueAttachment,onChange:e=>c({valueAttachment:e})});case e.QuestionnaireItemType.reference:return n.createElement(Le,{name:l,defaultValue:null==i?void 0:i.valueReference,onChange:e=>c({valueReference:e})});case e.QuestionnaireItemType.quantity:return n.createElement(Re,{name:l,defaultValue:null==i?void 0:i.valueQuantity,onChange:e=>c({valueQuantity:e})});case e.QuestionnaireItemType.choice:case e.QuestionnaireItemType.openChoice:return function(e){var t;return!!(null===(t=e.extension)||void 0===t?void 0:t.some((e=>{var t,n,r;return"http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"===e.url&&"drop-down"===(null===(r=null===(n=null===(t=e.valueCodeableConcept)||void 0===t?void 0:t.coding)||void 0===n?void 0:n[0])||void 0===r?void 0:r.code)})))}(a)?n.createElement(qn,{name:l,item:a,initial:i,onChangeAnswer:c}):n.createElement(Qn,{name:l,item:a,initial:i,onChangeAnswer:c})}return null}function qn(e){const{name:a,item:o,initial:l}=e,i=t.getTypedPropertyValue({type:"QuestionnaireItemInitial",value:l},"value"),c=[""];if(o.answerOption)for(const e of o.answerOption){const n=t.getTypedPropertyValue({type:"QuestionnaireItemAnswerOption",value:e},"value");c.push(_n(n))}return n.createElement(r.NativeSelect,{id:a,name:a,onChange:n=>{const r=n.currentTarget.selectedIndex;if(0===r)return void e.onChangeAnswer({});const a=o.answerOption[r-1],l=t.getTypedPropertyValue({type:"QuestionnaireItemAnswerOption",value:a},"value"),i="value"+t.capitalize(l.type);e.onChangeAnswer({[i]:l.value})},defaultValue:_n(i),data:c})}function _n(e){if(e)return"CodeableConcept"===e.type?e.value.coding[0].display:"Coding"===e.type?e.value.display:e.value.toString()}function Qn(e){const{name:a,item:o,initial:l,onChangeAnswer:i}=e,c=t.globalSchema.types.QuestionnaireItemAnswerOption.properties["value[x]"],u=t.getTypedPropertyValue({type:"QuestionnaireItemInitial",value:l},"value"),s=[];let d;if(o.answerOption)for(let e=0;e<o.answerOption.length;e++){const n=o.answerOption[e],r=`${a}-option-${e}`,l=t.getTypedPropertyValue({type:"QuestionnaireItemAnswerOption",value:n},"value");u&&t.stringify(l)===t.stringify(u)&&(d=r),s.push([r,l])}return n.createElement(r.Radio.Group,{name:a,orientation:"vertical",defaultValue:d,onChange:e=>{const n=s.find((t=>t[0]===e));if(n){const e=n[1],r="value"+t.capitalize(e.type);i({[r]:e.value})}}},s.map((([e,t])=>n.createElement(r.Radio,{key:e,id:e,value:e,label:n.createElement(pe,{property:c,propertyType:t.type,value:t.value})}))))}function Wn(e){var t;return null!==(t=null==e?void 0:e.map(Gn))&&void 0!==t?t:[]}function Gn(e){var t,n;return{linkId:e.linkId,text:e.text,item:Wn(e.item),answer:null!==(n=null===(t=e.initial)||void 0===t?void 0:t.map(Hn))&&void 0!==n?n:[]}}function Hn(e){return Object.assign({},e)}function Kn(e,n){if(!e.enableWhen)return!0;const r=e.enableBehavior||"any";for(const a of e.enableWhen){const e=t.getTypedPropertyValue({type:"QuestionnaireItemEnableWhen",value:a},"answer[x]"),o=t.getTypedPropertyValue({type:"QuestionnaireResponseItemAnswer",value:n[a.question]},"value[x]"),l=t.deepEquals(e,o);if("any"===r&&l)return!0;if("all"===r&&!l)return!1}return"any"!==r}e.QuestionnaireItemType=void 0,(Ln=e.QuestionnaireItemType||(e.QuestionnaireItemType={})).group="group",Ln.display="display",Ln.question="question",Ln.boolean="boolean",Ln.decimal="decimal",Ln.integer="integer",Ln.date="date",Ln.dateTime="dateTime",Ln.time="time",Ln.string="string",Ln.text="text",Ln.url="url",Ln.choice="choice",Ln.openChoice="open-choice",Ln.attachment="attachment",Ln.reference="reference",Ln.quantity="quantity";const Jn=r.createStyles((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 Yn(t){var a;const{classes:o,cx:l}=Jn(),i=t.item,c=t.item,u="resourceType"in t.item,s=u||c.type===e.QuestionnaireItemType.group,d=null!==(a=c.linkId)&&void 0!==a?a:"[untitled]",m=t.selectedKey===t.item.id,p=t.hoverKey===t.item.id,g=n.useRef();function h(e){var n;const r=g.current;t.onChange(Object.assign(Object.assign({},r),{item:null===(n=r.item)||void 0===n?void 0:n.map((t=>t.id===e.id?e:t))}))}function f(e){var n,r;t.onChange(Object.assign(Object.assign({},t.item),{item:[...null!==(r=null===(n=t.item)||void 0===n?void 0:n.item)&&void 0!==r?r:[],e]}))}function E(e,n){t.onChange(Object.assign(Object.assign({},g.current),{[e]:n}))}g.current=t.item;const y=l(o.section,{[o.editing]:m,[o.hovering]:p&&!m});return n.createElement("div",{"data-testid":c.linkId,className:y,onClick:function(e){v(e),t.setSelectedKey(t.item.id)},onMouseOver:function(e){v(e),t.setHoverKey(t.item.id)}},n.createElement("div",{className:o.questionBody},m?n.createElement(n.Fragment,null,u&&n.createElement(r.TextInput,{size:"xl",defaultValue:i.title,onChange:e=>E("title",e.currentTarget.value)}),!u&&n.createElement(r.Textarea,{autosize:!0,minRows:2,defaultValue:c.text,onChange:e=>E("text",e.currentTarget.value)}),zn(c)&&n.createElement(Xn,{options:c.answerOption,onChange:e=>E("answerOption",e)})):n.createElement(n.Fragment,null,i.title&&n.createElement(r.Title,null,i.title),c.text&&n.createElement("div",null,c.text),!s&&n.createElement(Un,{item:c,answers:{},onChange:()=>{}}))),c.item&&c.item.map((e=>n.createElement("div",{key:e.id},n.createElement(Yn,{item:e,selectedKey:t.selectedKey,setSelectedKey:t.setSelectedKey,hoverKey:t.hoverKey,setHoverKey:t.setHoverKey,onChange:h,onRemove:()=>function(e){var n,r;t.onChange(Object.assign(Object.assign({},t.item),{item:null===(r=null===(n=t.item)||void 0===n?void 0:n.item)||void 0===r?void 0:r.filter((t=>t!==e))}))}(e)})))),!s&&n.createElement("div",{className:o.topActions},m?n.createElement(n.Fragment,null,n.createElement(r.TextInput,{size:"xs",className:o.linkIdInput,defaultValue:c.linkId,onChange:e=>E("linkId",e.currentTarget.value)}),!s&&n.createElement(r.NativeSelect,{size:"xs",className:o.typeSelect,defaultValue:c.type,onChange:e=>E("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"}]})):n.createElement("div",null,d)),n.createElement("div",{className:o.bottomActions},s&&n.createElement(n.Fragment,null,n.createElement("a",{href:"#",onClick:e=>{e.preventDefault(),f({id:nr(),linkId:tr("q"),type:"string",text:"Question"})}},"Add item"),n.createElement("a",{href:"#",onClick:e=>{e.preventDefault(),f({id:nr(),linkId:tr("g"),type:"group",text:"Group"})}},"Add group")),m&&!u&&n.createElement("a",{href:"#",onClick:e=>{e.preventDefault(),t.onRemove&&t.onRemove()}},"Remove")))}function Xn(e){var r;const a=t.globalSchema.types.QuestionnaireItemAnswerOption.properties["value[x]"],o=null!==(r=e.options)&&void 0!==r?r:[];return n.createElement("div",null,o.map((t=>{const[r,l]=ge({type:"QuestionnaireItemAnswerOption",value:t},"value");return n.createElement("div",{key:t.id,style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"80%"}},n.createElement("div",null,n.createElement(qe,{key:t.id,name:"value[x]",property:a,defaultPropertyType:l,defaultValue:r,onChange:(n,r)=>{const a=[...o],l=a.findIndex((e=>e.id===t.id));a[l]={id:t.id,[r]:n},e.onChange(a)}})),n.createElement("div",null,n.createElement("a",{href:"#",onClick:n=>{v(n),e.onChange(o.filter((e=>e.id!==t.id)))}},"Remove")))})),n.createElement("a",{href:"#",onClick:t=>{v(t),e.onChange([...o,{id:nr()}])}},"Add choice"))}let Zn=1,er=1;function tr(e){return e+Zn++}function nr(){return"id-"+er++}function rr(e){if(e)return e.forEach((e=>{var t,n;(null===(t=e.id)||void 0===t?void 0:t.match(/^id-\d+$/))&&(er=Math.max(er,parseInt(e.id.substring(3))+1)),(null===(n=e.linkId)||void 0===n?void 0:n.match(/^q\d+$/))&&(Zn=Math.max(Zn,parseInt(e.linkId.substring(1))+1))})),e.map((e=>Object.assign(Object.assign({},e),{id:e.id||nr(),item:rr(e.item),answerOption:ar(e.answerOption)})))}function ar(e){if(e)return e.map((e=>Object.assign(Object.assign({},e),{id:e.id||nr()})))}const or={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",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 lr(e){return n.createElement(r.Badge,{color:or[e.status]},e.status)}function ir(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,o=a.j;a=a.prev;const l=a.i,i=a.j,c={position:l,lines:t.slice(l,e)},u={position:i,lines:n.slice(i,o)};let s;s=0===c.lines.length&&u.lines.length>0?"insert":c.lines.length>0&&0===u.lines.length?"delete":"change",r.push({original:c,revised:u,type:s}),a.snake&&(a=a.prev)}return r}(function(e,t){const n=e.length,r=t.length,a=n+r+1,o=1+2*a,l=o/2|0,i=new Array(o);i[l+1]={i:0,j:-1,prev:void 0,snake:!0};for(let o=0;o<a;o++){for(let a=-o;a<=o;a+=2){const c=l+a,u=c-1,s=i[c+1],d=i[u];let m,p=0;a===-o||a!==o&&d.i<s.i?(p=s.i,m=s):(p=d.i+1,m=d),i[u]=void 0;let g=p-a,h={i:p,j:g,prev:cr(m),snake:!1};for(;p<n&&g<r&&e[p]===t[g];)p++,g++;if(p>h.i&&(h={i:p,j:g,prev:h,snake:!0}),i[c]=h,p>=n&&g>=r)return i[c]}i[l+o-1]=void 0}return}(e,t),e,t)}function cr(e){return e&&!e.snake&&e.prev?e.prev:e}function ur(e){const n=e.entry.filter((e=>!!e.resource)).map((e=>{var n;return{meta:null===(n=e.resource)||void 0===n?void 0:n.meta,lines:t.stringify(e.resource,!0).match(/[^\r\n]+/g)}})).sort(((e,t)=>e.meta.lastUpdated.localeCompare(t.meta.lastUpdated))),r=n[0].lines.map((e=>({id:n[0].meta.versionId,meta:n[0].meta,value:e,span:1})));return function(e,t){for(let n=1;n<t.length;n++){const r=ir(t[n-1].lines,t[n].lines);for(const a of r){const r=a.original.position,o=a.original.lines,l=a.revised.lines;if("delete"!==a.type&&"change"!==a.type||e.splice(r,o.length),"insert"===a.type||"change"===a.type)for(let o=0;o<a.revised.lines.length;o++)e.splice(r+o,0,{id:t[n].meta.versionId,meta:t[n].meta,value:l[o],span:1})}}}(r,n),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}}(r),r}const sr=r.createStyles((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}px ${e.spacing.sm}px`,textAlign:"right"},line:{fontFamily:e.fontFamilyMonospace,fontSize:e.fontSizes.sm,padding:`${e.spacing.xs}px ${e.spacing.sm}px`},pre:{margin:0}})));function dr(e,t){return`/${e.resourceType}/${e.id}/_history/${t}`}function mr(e){const t=Math.floor((Date.now()-Date.parse(e))/1e3),n=Math.floor(t/31536e3);if(n>0)return pr(n,"year");const r=Math.floor(t/2592e3);if(r>0)return pr(r,"month");const a=Math.floor(t/86400);if(a>0)return pr(a,"day");const o=Math.floor(t/3600);if(o>0)return pr(o,"hour");const l=Math.floor(t/60);return l>0?pr(l,"minute"):pr(t,"second")}function pr(e,t){return`${e} ${1===e?t:t+"s"} ago`}const gr=r.createStyles((e=>({removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function hr(e){const{classes:t}=gr();return n.createElement(n.Fragment,null,"...",n.createElement("br",null),e.delta.original.lines.length>0&&n.createElement("div",{className:t.removed},e.delta.original.lines.join("\n")),e.delta.revised.lines.length>0&&n.createElement("div",{className:t.added},e.delta.revised.lines.join("\n")),"...",n.createElement("br",null))}function fr(e){var r,a,o;const{response:l,resource:i}=e.entry;return i?n.createElement("tr",null,n.createElement("td",null,n.createElement(Ke,{value:null===(r=i.meta)||void 0===r?void 0:r.author,link:!0})),n.createElement("td",null,t.formatDateTime(null===(a=i.meta)||void 0===a?void 0:a.lastUpdated)),n.createElement("td",null,n.createElement(se,{to:vr(i)},null===(o=i.meta)||void 0===o?void 0:o.versionId))):n.createElement("tr",null,n.createElement("td",{colSpan:3},t.normalizeErrorString(null==l?void 0:l.outcome)))}function vr(e){var t;return`/${e.resourceType}/${e.id}/_history/${null===(t=e.meta)||void 0===t?void 0:t.versionId}`}const Er=r.createStyles((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 yr(e){const{classes:t}=Er(),{onChangeMonth:a,onClick:o}=e,[l,i]=n.useState(br);function c(e){i((t=>{const n=new Date(t.getTime());return n.setMonth(t.getMonth()+e),a(n),n}))}const u=n.useMemo((()=>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:Cr(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}(l,e.slots)),[l,e.slots]);return n.createElement("div",null,n.createElement(r.Group,{position:"apart",spacing:"xs",grow:!0,noWrap:!0},n.createElement("p",{style:{flex:1}},(s=l).toLocaleString("default",{month:"long"})+" "+s.getFullYear()),n.createElement(r.Group,{position:"right",spacing:"xs"},n.createElement(r.Button,{variant:"outline","aria-label":"Previous month",onClick:()=>c(-1)},"<"),n.createElement(r.Button,{variant:"outline","aria-label":"Next month",onClick:()=>c(1)},">"))),n.createElement("table",{className:t.table},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"SUN"),n.createElement("th",null,"MON"),n.createElement("th",null,"TUE"),n.createElement("th",null,"WED"),n.createElement("th",null,"THU"),n.createElement("th",null,"FRI"),n.createElement("th",null,"SAT"))),n.createElement("tbody",null,u.map(((e,t)=>n.createElement("tr",{key:"week-"+t},e.map(((e,t)=>n.createElement("td",{key:"day-"+t},e&&n.createElement(r.Button,{disabled:!e.available,onClick:()=>o(e.date)},e.date.getDate()))))))))));var s}function br(){const e=new Date;return e.setDate(1),e.setHours(0,0,0,0),e}function Cr(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 Tr=r.createStyles((e=>({container:{display:"flex",minHeight:400},info:{minWidth:300,padding:20,borderRight:`1px solid ${e.colors.gray[3]}`},selection:{minWidth:300,padding:20}})));function Sr(e){return Or(e.getTime())}function xr(e){return Or(e.getTime()+26784e5)}function Or(e){return new Date(Math.max(Date.now(),e)).toISOString()}function kr(e){return e.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}e.AddressDisplay=i,e.AddressInput=s,e.AttachmentArrayDisplay=m,e.AttachmentArrayInput=C,e.AttachmentButton=b,e.AttachmentInput=T,e.BackboneElementInput=Ge,e.CheckboxFormSection=q,e.CodeInput=ye,e.CodeableConceptDisplay=ee,e.CodeableConceptInput=Ee,e.ContactDetailDisplay=ne,e.ContactDetailInput=Te,e.ContactPointDisplay=te,e.ContactPointInput=Ce,e.DateTimeInput=Se,e.DefaultResourceTimeline=function(e){return n.createElement(gt,{value:e.resource,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:[{request:{method:"GET",url:`${t.getReferenceString(e)}/_history`}},{request:{method:"GET",url:`AuditEvent?entity=${t.getReferenceString(e)}&_sort=-_lastUpdated`}}]})})},e.DescriptionList=J,e.DescriptionListEntry=Y,e.DiagnosticReportDisplay=Ye,e.Document=S,e.ElementDefinitionInputSelector=_e,e.ElementDefinitionTypeInput=Qe,e.EncounterTimeline=function(e){return n.createElement(gt,{value:e.encounter,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:[{request:{method:"GET",url:`${t.getReferenceString(e)}/_history`}},{request:{method:"GET",url:`Communication?encounter=${t.getReferenceString(e)}`}},{request:{method:"GET",url:`Media?encounter=${t.getReferenceString(e)}`}}]}),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",encounter:t.createReference(e),subject:e.subject,sender:t.createReference(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",encounter:t.createReference(e),subject:e.subject,operator:t.createReference(n),issued:(new Date).toISOString(),content:r})})},e.ErrorBoundary=lt,e.FhirPathTable=Sn,e.Form=j,e.FormSection=Q,e.HumanNameDisplay=re,e.HumanNameInput=Ie,e.IdentifierInput=we,e.Logo=R,e.MedplumLink=se,e.MedplumProvider=function(e){const t=e.medplum,[r,a]=n.useState({profile:t.getProfile(),loading:!1});n.useEffect((()=>{function e(){a(Object.assign(Object.assign({},r),{profile:t.getProfile()}))}return t.addEventListener("change",e),()=>t.removeEventListeneer("change",e)}),[t,r]);const o=Object.assign(Object.assign({},r),{medplum:t});return n.createElement(p.Provider,{value:o},e.children)},e.MemoizedFhirPathTable=xn,e.MemoizedSearchControl=yn,e.ObservationTable=Xe,e.PatientTimeline=function(e){return n.createElement(gt,{value:e.patient,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:On.map((n=>({request:{method:"GET",url:n.replaceAll("$",t.getReferenceString(e))}})))}),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",subject:t.createReference(e),sender:t.createReference(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",subject:t.createReference(e),operator:t.createReference(n),issued:(new Date).toISOString(),content:r})})},e.PlanDefinitionBuilder=function(e){const t=h(),a=G(e.value),[o,l]=n.useState(void 0),[i,c]=n.useState(),[u,s]=n.useState(),[d,m]=n.useState();function p(){s(void 0)}function g(){c(void 0)}const f=n.useRef();if(f.current=d,n.useEffect((()=>{t.requestSchema("PlanDefinition").then(l).catch(console.log)}),[t]),n.useEffect((()=>{var e;return m((e=null!=a?a:{resourceType:"PlanDefinition"},Object.assign(Object.assign({},e),{action:Fn(e.action)}))),document.addEventListener("mouseover",p),document.addEventListener("click",g),()=>{document.removeEventListener("mouseover",p),document.removeEventListener("click",g)}}),[a]),!o||!d)return null;function v(e,t){m(Object.assign(Object.assign({},f.current),{[e]:t}))}return n.createElement("div",null,n.createElement(j,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(d)},n.createElement(r.TextInput,{label:"Plan Title",defaultValue:d.title,onChange:e=>v("title",e.currentTarget.value)}),n.createElement(In,{actions:d.action||[],selectedKey:i,setSelectedKey:c,hoverKey:u,setHoverKey:s,onChange:e=>v("action",e)}),n.createElement(r.Button,{type:"submit"},"Save")))},e.QuestionnaireBuilder=function(e){const t=h(),a=G(e.questionnaire),[o,l]=n.useState(),[i,c]=n.useState(),[u,s]=n.useState(),[d,m]=n.useState();function p(){m(void 0)}function g(){s(void 0)}return n.useEffect((()=>{t.requestSchema("Questionnaire").then(l).catch(console.log)}),[t]),n.useEffect((()=>{var e;return c((e=null!=a?a:{resourceType:"Questionnaire"},Object.assign(Object.assign({},e),{id:e.id||nr(),item:rr(e.item)}))),document.addEventListener("mouseover",p),document.addEventListener("click",g),()=>{document.removeEventListener("mouseover",p),document.removeEventListener("click",g)}}),[a]),o&&i?n.createElement("div",null,n.createElement(j,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(i)},n.createElement(Yn,{item:i,selectedKey:u,setSelectedKey:s,hoverKey:d,setHoverKey:m,onChange:c}),n.createElement(r.Button,{type:"submit"},"Save"))):null},e.QuestionnaireForm=$n,e.QuestionnaireFormItem=Un,e.RangeDisplay=ie,e.RangeInput=De,e.ReferenceInput=Le,e.RegisterForm=function(e){const{type:t,projectId:r,googleClientId:a,recaptchaSiteKey:o,onSuccess:l}=e,i=h(),[c,u]=n.useState(void 0),[s,d]=n.useState();function m(e){e.code?i.processCode(e.code).then((()=>l())).catch(console.log):e.login&&u(e.login)}return n.useEffect((()=>{"patient"===t&&c&&i.startNewPatient({login:c,projectId:r}).then((e=>i.processCode(e.code))).then((()=>l())).catch((e=>d(e)))}),[i,t,r,c,l]),n.createElement(S,{width:450},s&&n.createElement("pre",null,JSON.stringify(s,null,2)),!c&&n.createElement($,{projectId:r,googleClientId:a,recaptchaSiteKey:o,handleAuthResponse:m},e.children),c&&"project"===t&&n.createElement(V,{login:c,handleAuthResponse:m}))},e.RequestGroupDisplay=function(e){var o;const l=h(),i=G(e.value),[c,u]=n.useState(!1),[s,d]=n.useState();return n.useEffect((()=>{i&&!c&&(l.executeBatch(function(e){var t;const n=[];if(e.action)for(const r of e.action)(null===(t=r.resource)||void 0===t?void 0:t.reference)&&n.push({request:{method:"GET",url:r.resource.reference}});return{resourceType:"Bundle",type:"batch",entry:n}}(i)).then(d).catch(console.log),u(!0))}),[l,i,c]),i&&s?n.createElement(r.Grid,null,null===(o=i.action)||void 0===o?void 0:o.map(((o,l)=>{var i,c,u,d,m,p;const g=o.resource&&function(e){for(const n of null==s?void 0:s.entry)if(n.resource&&e.reference===t.getReferenceString(n.resource))return n.resource;return}(o.resource),h=null===(c=null===(i=null==g?void 0:g.input)||void 0===i?void 0:i[0])||void 0===c?void 0:c.valueReference,f=null===(d=null===(u=null==g?void 0:g.output)||void 0===u?void 0:u[0])||void 0===d?void 0:d.valueReference;return n.createElement(n.Fragment,{key:`action-${l}`},n.createElement(r.Grid.Col,{span:1,p:"md"},"completed"===(null==g?void 0:g.status)?n.createElement(a.IconCheckbox,null):n.createElement(a.IconSquare,{color:"gray"})),n.createElement(r.Grid.Col,{span:9,p:"xs"},n.createElement(r.Text,{weight:500},o.title),o.description&&n.createElement("div",null,o.description),n.createElement("div",null,"Last edited by ",n.createElement(He,{value:null===(m=null==g?void 0:g.meta)||void 0===m?void 0:m.author})," on ",t.formatDateTime(null===(p=null==g?void 0:g.meta)||void 0===p?void 0:p.lastUpdated)),n.createElement("div",null,"Status: ",n.createElement(lr,{status:(null==g?void 0:g.status)||"unknown"}))),n.createElement(r.Grid.Col,{span:2,p:"md"},h&&!f&&n.createElement(r.Button,{onClick:()=>e.onStart(g,h)},"Start"),h&&f&&n.createElement(r.Button,{onClick:()=>e.onEdit(g,h,f)},"Edit")))}))):null},e.ResourceArrayDisplay=me,e.ResourceArrayInput=ze,e.ResourceAvatar=Ve,e.ResourceBadge=Ke,e.ResourceBlame=function(e){var t,r;const{classes:a}=sr(),o=h(),[l,i]=n.useState(e.history);if(n.useEffect((()=>{!e.history&&e.resourceType&&e.id&&o.readHistory(e.resourceType,e.id).then(i).catch(console.log)}),[o,e.history,e.resourceType,e.id]),!l)return n.createElement("div",null,"Loading...");const c=null===(r=null===(t=l.entry)||void 0===t?void 0:t[0])||void 0===r?void 0:r.resource,u=ur(l);return n.createElement("div",{className:a.container},n.createElement("table",{className:a.root},n.createElement("tbody",null,u.map(((e,t)=>n.createElement("tr",{key:"row-"+t,className:e.span>0?a.startRow:a.normalRow},e.span>0&&n.createElement(n.Fragment,null,n.createElement("td",{className:a.author,rowSpan:e.span},n.createElement(Ke,{value:e.meta.author,link:!0})),n.createElement("td",{className:a.dateTime,rowSpan:e.span},n.createElement(se,{to:dr(c,e.meta.versionId)},mr(e.meta.lastUpdated)))),n.createElement("td",{className:a.lineNumber},t+1),n.createElement("td",{className:a.line},n.createElement("pre",{className:a.pre},e.value))))))))},e.ResourceDiff=function(e){let r=e.original,a=e.revised;e.ignoreMeta&&(r=Object.assign(Object.assign({},r),{meta:void 0}),a=Object.assign(Object.assign({},a),{meta:void 0}));const o=ir(t.stringify(r,!0).match(/[^\r\n]+/g),t.stringify(a,!0).match(/[^\r\n]+/g));return n.createElement("pre",{style:{color:"gray"}},o.map(((e,t)=>n.createElement(hr,{key:"delta"+t,delta:e}))))},e.ResourceForm=function(e){const t=h(),a=G(e.defaultValue),[o,l]=n.useState(),[i,c]=n.useState();return n.useEffect((()=>{a&&(c(JSON.parse(JSON.stringify(a))),t.requestSchema(a.resourceType).then(l).catch(console.log))}),[t,a]),o&&i?n.createElement("form",{noValidate:!0,autoComplete:"off",onSubmit:t=>{t.preventDefault(),e.onSubmit&&e.onSubmit(i)}},n.createElement(r.Stack,{mb:"xl"},n.createElement(Q,{title:"Resource Type",htmlFor:"resourceType",outcome:e.outcome},n.createElement(r.TextInput,{name:"resourceType",defaultValue:i.resourceType,disabled:!0})),n.createElement(Q,{title:"ID",htmlFor:"id",outcome:e.outcome},n.createElement(r.TextInput,{name:"id",defaultValue:i.id,disabled:!0}))),n.createElement(Ge,{typeName:i.resourceType,defaultValue:i,outcome:e.outcome,onChange:c}),n.createElement(r.Group,null,n.createElement(r.Button,{type:"submit"},"OK"),e.onDelete&&n.createElement(r.Button,{variant:"outline",color:"red",type:"button",onClick:()=>{e.onDelete(i)}},"Delete"))):n.createElement("div",null,"Loading...")},e.ResourceHistoryTable=function(e){var t;const a=h(),[o,l]=n.useState(e.history);return n.useEffect((()=>{!e.history&&e.resourceType&&e.id&&a.readHistory(e.resourceType,e.id).then(l).catch(console.log)}),[a,e.history,e.resourceType,e.id]),o?n.createElement(r.Table,{withBorder:!0,withColumnBorders:!0},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Author"),n.createElement("th",null,"Date"),n.createElement("th",null,"Version"))),n.createElement("tbody",null,null===(t=o.entry)||void 0===t?void 0:t.map(((e,t)=>n.createElement(fr,{key:"entry-"+t,entry:e}))))):n.createElement("div",null,"Loading...")},e.ResourceInput=Ne,e.ResourceName=He,e.ResourcePropertyDisplay=pe,e.ResourcePropertyInput=qe,e.ResourceTable=ot,e.ResourceTimeline=gt,e.Scheduler=function(e){var a;const{classes:o}=Tr(),l=h(),i=G(e.schedule),c=G(e.questionnaire),[u,s]=n.useState();n.useRef().current=u;const[d,m]=n.useState(br()),[p,g]=n.useState(),[f,v]=n.useState(),[E,y]=n.useState();if(n.useEffect((()=>{i?(s([]),l.searchResources("Slot",new URLSearchParams([["_count",720..toString()],["schedule",t.getReferenceString(i)],["start","gt"+Sr(d)],["start","lt"+xr(d)]])).then(s).catch(console.log)):s(void 0)}),[l,i,d]),!i||!u||!c)return null;const b=null===(a=i.actor)||void 0===a?void 0:a[0];return n.createElement("div",{className:o.container,"data-testid":"scheduler"},n.createElement("div",{className:o.info},b&&n.createElement(Ve,{value:b,size:"xl"}),b&&n.createElement(r.Text,{size:"xl",weight:500},n.createElement(He,{value:b})),n.createElement("p",null,"1 hour"),p&&n.createElement("p",null,p.toLocaleDateString()),f&&n.createElement("p",null,kr(new Date(f.start)))),n.createElement("div",{className:o.selection},!p&&n.createElement("div",null,n.createElement("h3",null,"Select date"),n.createElement(yr,{slots:u,onChangeMonth:m,onClick:g})),p&&!f&&n.createElement("div",null,n.createElement("h3",null,"Select time"),n.createElement(r.Stack,null,u.map((e=>{const t=new Date(e.start);return t.getTime()>p.getTime()&&t.getTime()<p.getTime()+864e5&&n.createElement("div",{key:e.id},n.createElement(r.Button,{variant:"outline",style:{width:150},onClick:()=>v(e)},kr(t)))})))),p&&f&&!E&&n.createElement($n,{questionnaire:c,submitButtonText:"Next",onSubmit:y}),p&&f&&E&&n.createElement("div",null,n.createElement("h3",null,"You're all set!"),n.createElement("p",null,"Check your email for a calendar invite."))))},e.SearchChangeEvent=gn,e.SearchClickEvent=fn,e.SearchControl=En,e.SearchFieldEditor=Xt,e.SearchFilterEditor=nn,e.SearchLoadEvent=hn,e.ServiceRequestTimeline=function(e){return n.createElement(gt,{value:e.serviceRequest,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:[{request:{method:"GET",url:`${t.getReferenceString(e)}/_history`}},{request:{method:"GET",url:`Communication?based-on=${t.getReferenceString(e)}&_sort=-_lastUpdated`}},{request:{method:"GET",url:`Media?_count=100&based-on=${t.getReferenceString(e)}&_sort=-_lastUpdated`}},{request:{method:"GET",url:`DiagnosticReport?based-on=${t.getReferenceString(e)}&_sort=-_lastUpdated`}}]}),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",basedOn:[t.createReference(e)],subject:e.subject,sender:t.createReference(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",basedOn:[t.createReference(e)],subject:e.subject,operator:t.createReference(n),issued:(new Date).toISOString(),content:r})})},e.SignInForm=function(e){const t=h(),[r,a]=n.useState(void 0),[o,l]=n.useState(void 0);function i(n){n.login&&a(n.login),n.memberships&&l(n.memberships),n.code&&(e.onCode?e.onCode(n.code):t.processCode(n.code).then((()=>{e.onSuccess&&e.onSuccess()})).catch(console.log))}return n.createElement(S,{width:450},r?o?n.createElement(U,{login:r,memberships:o,handleAuthResponse:i}):"new"===e.projectId?n.createElement(V,{login:r,handleAuthResponse:i}):n.createElement("div",null,"Success"):n.createElement(B,{projectId:e.projectId,clientId:e.clientId,resourceType:e.resourceType,scope:e.scope,nonce:e.nonce,googleClientId:e.googleClientId,generatePkce:!e.onCode,codeChallenge:e.codeChallenge,codeChallengeMethod:e.codeChallengeMethod,onForgotPassword:e.onForgotPassword,onRegister:e.onRegister,handleAuthResponse:i},e.children))},e.StatusBadge=lr,e.Timeline=it,e.TimelineItem=ct,e.addDateEqualsFilter=function(e,t,n){return $t(e,t,n,n)},e.addDateFilter=function(e,t,n,r){return Bt(e=wt(e,t),t,n,r)},e.addDateFilterBetween=$t,e.addField=function(e,t){if(e.fields&&e.fields.includes(t))return e;const n=[];return e.fields&&n.push(...e.fields),n.push(t),Object.assign(Object.assign({},e),{fields:n,name:void 0})},e.addFilter=jt,e.addLastMonthFilter=Mt,e.addMissingFilter=Ut,e.addNextMonthFilter=Ft,e.addThisMonthFilter=Nt,e.addTodayFilter=Dt,e.addTomorrowFilter=At,e.addYearToDateFilter=zt,e.addYesterdayFilter=Pt,e.buildFieldNameString=Jt,e.clearFilters=function(e){return It(e,[])},e.clearFiltersOnField=wt,e.convertIsoToLocal=xe,e.convertLocalToIso=Oe,e.createScriptTag=M,e.deleteFilter=Rt,e.formatRangeString=ce,e.getErrorsForInput=P,e.getIssuesForExpression=D,e.getOpString=Kt,e.getRecaptcha=z,e.getSearchOperators=Ht,e.getSortField=Wt,e.getTimeString=mr,e.getValueAndType=ge,e.hasFilterOnField=function(e,t){return!!e.filters&&void 0!==e.filters.find((e=>e.code===t))},e.initRecaptcha=L,e.isChoiceQuestion=zn,e.isQuestionEnabled=Kn,e.isSortDescending=Gt,e.parseForm=k,e.renderValue=Yt,e.setFilters=It,e.setOffset=qt,e.setPage=_t,e.setPropertyValue=H,e.setSort=Qt,e.sortByDateAndPriority=ut,e.toggleSort=function(e,t){let n=!1;return Wt(e)===t&&(n=!Gt(e)),Qt(e,t,n)},e.useMedplum=h,e.useMedplumContext=g,e.useMedplumProfile=f,e.useResource=G}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@medplum/core"),require("react"),require("@mantine/core"),require("@tabler/icons"),require("react-router-dom"),require("@mantine/notifications")):"function"==typeof define&&define.amd?define(["exports","@medplum/core","react","@mantine/core","@tabler/icons","react-router-dom","@mantine/notifications"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).medplum=e.medplum||{},e.medplum.react={}),e.medplum.core,e.React,e.mantine.core,e.tabler.icons,e.ReactRouterDOM,e.mantine.notifications)}(this,(function(e,t,n,r,a,o,l){"use strict";function i(e){const r=e.value;return r?n.createElement(n.Fragment,null,t.formatAddress(r)):null}function c(e,t){return e&&e.line&&e.line.length>t?e.line[t]:""}function u(e,t,n){const r=e.line||[];for(;r.length<=t;)r.push("");return r[t]=n,Object.assign(Object.assign({},e),{line:r})}function s(e){const[t,a]=n.useState(e.defaultValue||{}),o=n.useRef();function l(t){a(t),e.onChange&&e.onChange(t)}return o.current=t,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{"data-testid":"address-use",defaultValue:null==t?void 0:t.use,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{use:t}));var t},data:["","home","work","temp","old","billing"]}),n.createElement(r.NativeSelect,{"data-testid":"address-type",defaultValue:null==t?void 0:t.type,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{type:t}));var t},data:["","postal","physical","both"]}),n.createElement(r.TextInput,{placeholder:"Line 1",defaultValue:c(t,0),onChange:e=>{return t=e.currentTarget.value,void l(u(o.current||{},0,t));var t}}),n.createElement(r.TextInput,{placeholder:"Line 2",defaultValue:c(t,1),onChange:e=>{return t=e.currentTarget.value,void l(u(o.current||{},1,t));var t}}),n.createElement(r.TextInput,{placeholder:"City",defaultValue:t.city,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{city:t}));var t}}),n.createElement(r.TextInput,{placeholder:"State",defaultValue:t.state,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{state:t}));var t}}),n.createElement(r.TextInput,{placeholder:"Postal Code",defaultValue:t.postalCode,onChange:e=>{return t=e.currentTarget.value,void l(Object.assign(Object.assign({},o.current),{postalCode:t}));var t}}))}function d(e){const t=e.value,{contentType:r,url:a,title:o}=null!=t?t:{};return a?n.createElement("div",{"data-testid":"attachment-display"},(null==r?void 0:r.startsWith("image/"))&&n.createElement("img",{"data-testid":"attachment-image",style:{maxWidth:e.maxWidth},src:a,alt:null==t?void 0:t.title}),(null==r?void 0:r.startsWith("video/"))&&n.createElement("video",{"data-testid":"attachment-video",style:{maxWidth:e.maxWidth},controls:!0},n.createElement("source",{type:r,src:a})),"application/pdf"===r&&!(null==o?void 0:o.endsWith(".pdf"))&&n.createElement("div",{"data-testid":"attachment-pdf",style:{maxWidth:e.maxWidth,minHeight:400}},n.createElement("iframe",{width:"100%",height:"400",src:a+"#navpanes=0",allowFullScreen:!0,frameBorder:0,seamless:!0})),n.createElement("div",{"data-testid":"download-link",style:{padding:"2px 16px 16px 16px"}},n.createElement("a",{href:null==t?void 0:t.url,"data-testid":"attachment-details",target:"_blank",rel:"noopener noreferrer"},(null==t?void 0:t.title)||"Download"))):null}function m(e){return n.createElement("div",null,e.values&&e.values.map(((t,r)=>n.createElement("div",{key:"attatchment-"+r},n.createElement(d,{value:t,maxWidth:e.maxWidth})))))}const p=n.createContext(void 0);function g(){return n.useContext(p)}function f(){return g().medplum}function v(){return g().profile}function h(e){e.preventDefault(),e.stopPropagation()}function E(e){if(y(e))return!0;if(e instanceof HTMLTableCellElement){const t=e.children;if(1===t.length&&y(t[0]))return!0}return!1}function y(e){return e instanceof HTMLInputElement&&"checkbox"===e.type}function b(e){const t=f(),r=n.useRef(null);function a(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=>{var t,n,r;alert(null===(r=null===(n=null===(t=null==e?void 0:e.issue)||void 0===t?void 0:t[0])||void 0===n?void 0:n.details)||void 0===r?void 0:r.text)}))}return n.createElement(n.Fragment,null,n.createElement("input",{type:"file","data-testid":"upload-file-input",style:{display:"none"},ref:r,onChange:e=>function(e){h(e);const t=e.target.files;t&&Array.from(t).forEach(a)}(e)}),e.children({onClick:function(e){var t;h(e),null===(t=r.current)||void 0===t||t.click()}}))}function C(e){var t;const[o,l]=n.useState(null!==(t=e.defaultValue)&&void 0!==t?t:[]),i=n.useRef();function c(t){l(t),e.onChange&&e.onChange(t)}return i.current=o,n.createElement("table",{style:{width:"100%"}},n.createElement("colgroup",null,n.createElement("col",{width:"97%"}),n.createElement("col",{width:"3%"})),n.createElement("tbody",null,o.map(((e,t)=>n.createElement("tr",{key:`${t}-${o.length}`},n.createElement("td",null,n.createElement(d,{value:e,maxWidth:200})),n.createElement("td",null,n.createElement(r.ActionIcon,{title:"Remove",size:"sm",onClick:e=>{h(e);const n=o.slice();n.splice(t,1),c(n)}},n.createElement(a.IconCircleMinus,null)))))),n.createElement("tr",null,n.createElement("td",null),n.createElement("td",null,n.createElement(b,{onUpload:e=>{c([...i.current,e])}},(e=>n.createElement(r.ActionIcon,Object.assign({},e,{title:"Add",size:"sm",color:"green"}),n.createElement(a.IconCloudUpload,{size:16}))))))))}function T(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return t?n.createElement(n.Fragment,null,n.createElement(d,{value:t,maxWidth:200}),n.createElement(r.Button,{onClick:e=>{h(e),o(void 0)}},"Remove")):n.createElement(b,{onUpload:o},(e=>n.createElement(r.Button,Object.assign({},e),"Upload...")))}function S(e){let t;return e.width&&(t={maxWidth:e.width}),n.createElement(r.Container,null,n.createElement(r.Paper,{style:t,mx:"auto",my:"lg",p:"lg",shadow:"xs",radius:"sm",withBorder:!0},e.children))}function x(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}function O(e,t,n,r){return new(n||(n=Promise))((function(a,o){function l(e){try{c(r.next(e))}catch(e){o(e)}}function i(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,i)}c((r=r.apply(e,t||[])).next())}))}function k(e){const t={};for(const n of Array.from(e.elements))n instanceof HTMLInputElement?I(t,n):n instanceof HTMLTextAreaElement?t[n.name]=n.value:n instanceof HTMLSelectElement&&j(t,n);return t}function I(e,t){t.disabled||("checkbox"!==t.type&&"radio"!==t.type||t.checked)&&(e[t.name]=t.value)}function j(e,t){e[t.name]=t.value}function w(e){return n.createElement("form",{style:e.style,"data-testid":e.testid,onSubmit:t=>{t.preventDefault();const n=k(t.target);e.onSubmit&&e.onSubmit(n)}},e.children)}function R(e){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 491 491",style:{width:e.size,height:e.size}},n.createElement("title",null,"Medplum Logo"),n.createElement("path",{fill:e.fill||"#ad7136",d:"M282 67c6-16 16-29 29-40L289 0c-22 17-37 41-43 68l17 23 19-24z"}),n.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"}),n.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"}),n.createElement("path",{fill:e.fill||"#40bc26",d:"M207 220a176 176 0 01-177 43A176 176 0 01251 43l1 5c17 59 2 125-45 172z"}),n.createElement("path",{fill:e.fill||"#33961e",d:"M252 48A421 421 0 0057 270l-27-7A176 176 0 01251 43l1 5z"}))}function P(e,t){var n,r,a;return null===(a=null===(r=null===(n=null==e?void 0:e.issue)||void 0===n?void 0:n.filter((e=>{var n;return D(null===(n=e.expression)||void 0===n?void 0:n[0],t)})))||void 0===r?void 0:r.map((e=>{var t;return null===(t=e.details)||void 0===t?void 0:t.text})))||void 0===a?void 0:a.join("\n")}function A(e,t){var n;return null===(n=null==e?void 0:e.issue)||void 0===n?void 0:n.filter((e=>{var n;return D(null===(n=e.expression)||void 0===n?void 0:n[0],t)}))}function D(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 V(e){const t=f(),[a,o]=n.useState();return n.createElement(w,{style:{maxWidth:400},onSubmit:n=>O(this,void 0,void 0,(function*(){try{e.handleAuthResponse(yield t.startNewProject({login:e.login,projectName:n.projectName}))}catch(e){o(e)}}))},n.createElement(r.Center,{sx:{flexDirection:"column"}},n.createElement(R,{size:32}),n.createElement(r.Title,null,"Create project")),n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:"projectName",label:"Project Name",placeholder:"My Project",required:!0,autoFocus:!0,error:P(a,"firstName")}),n.createElement(r.Text,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum ",n.createElement("a",{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",n.createElement("a",{href:"https://www.medplum.com/terms"},"Terms of Service"),".")),n.createElement(r.Group,{position:"right",mt:"xl",noWrap:!0},n.createElement(r.Button,{type:"submit"},"Create project")))}function M(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 N(e){const t=f(),{googleClientId:r,handleGoogleCredential:a}=e,o=n.useRef(null),[l,i]=n.useState("undefined"!=typeof google),[c,u]=n.useState(!1),[s,d]=n.useState(!1);return n.useEffect((()=>{"undefined"!=typeof google?(c||(google.accounts.id.initialize({client_id:r,callback:a}),u(!0)),o.current&&!s&&(google.accounts.id.renderButton(o.current,{}),d(!0))):M("https://accounts.google.com/gsi/client",(()=>i(!0)))}),[t,r,c,l,o,s,a]),r?n.createElement("div",{ref:o}):null}function F(e){var t,n;if(e)return e;const r=window.location.protocol+"//"+window.location.host;return(null!==(n=null===(t="http://localhost:3000,http://127.0.0.1:3000,http://localhost:6006,http://127.0.0.1:6006,https://app.medplum.com,https://docs.medplum.com,https://storybook.medplum.com,https://graphiql.medplum.com,https://www.medplum.com")?void 0:t.split(","))&&void 0!==n?n:[]).includes(r)?"921088377005-3j1sa10vr6hj86jgmdfh2l53v3mp7lfi.apps.googleusercontent.com":void 0}function $(e){"undefined"==typeof grecaptcha&&M("https://www.google.com/recaptcha/api.js?render="+e)}function L(e){return new Promise(((t,n)=>{grecaptcha.ready((()=>O(this,void 0,void 0,(function*(){try{t(yield grecaptcha.execute(e,{action:"submit"}))}catch(e){n(e)}}))))}))}function z(e){const t=F(e.googleClientId),o=e.recaptchaSiteKey,l=f(),[i,c]=n.useState(),u=A(i,void 0);return n.useEffect((()=>$(o)),[o]),n.createElement(w,{style:{maxWidth:400},onSubmit:t=>O(this,void 0,void 0,(function*(){try{const n=yield L(o);e.handleAuthResponse(yield l.startNewUser({projectId:e.projectId,firstName:t.firstName,lastName:t.lastName,email:t.email,password:t.password,remember:"true"===t.remember,recaptchaSiteKey:o,recaptchaToken:n}))}catch(e){c(e)}}))},n.createElement(r.Center,{sx:{flexDirection:"column"}},e.children),u&&n.createElement(r.Alert,{icon:n.createElement(a.IconAlertCircle,{size:16}),color:"red"},u.map((e=>{var t,r;return n.createElement("div",{"data-testid":"text-field-error",key:null===(t=e.details)||void 0===t?void 0:t.text},null===(r=e.details)||void 0===r?void 0:r.text)}))),t&&n.createElement(n.Fragment,null,n.createElement(r.Group,{position:"center",p:"xl",style:{height:70}},n.createElement(N,{googleClientId:t,handleGoogleCredential:t=>O(this,void 0,void 0,(function*(){try{yield l.startPkce(),e.handleAuthResponse(yield l.startGoogleLogin({googleClientId:t.clientId,googleCredential:t.credential,createUser:!0}))}catch(e){c(e)}}))})),n.createElement(r.Divider,{label:"or",labelPosition:"center",my:"lg"})),n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:"firstName",type:"text",label:"First name",placeholder:"First name",required:!0,autoFocus:!0,error:P(i,"firstName")}),n.createElement(r.TextInput,{name:"lastName",type:"text",label:"Last name",placeholder:"Last name",required:!0,error:P(i,"lastName")}),n.createElement(r.TextInput,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,error:P(i,"email")}),n.createElement(r.PasswordInput,{name:"password",label:"Password",autoComplete:"off",required:!0,error:P(i,"password")}),n.createElement(r.Text,{color:"dimmed",size:"xs"},"By clicking submit you agree to the Medplum ",n.createElement("a",{href:"https://www.medplum.com/privacy"},"Privacy Policy")," and ",n.createElement("a",{href:"https://www.medplum.com/terms"},"Terms of Service"),"."),n.createElement(r.Text,{color:"dimmed",size:"xs"},"This site is protected by reCAPTCHA and the Google"," ",n.createElement("a",{href:"https://policies.google.com/privacy"},"Privacy Policy")," and ",n.createElement("a",{href:"https://policies.google.com/terms"},"Terms of Service")," apply.")),n.createElement(r.Group,{position:"apart",mt:"xl",noWrap:!0},n.createElement(r.Checkbox,{name:"remember",label:"Remember me",size:"xs"}),n.createElement(r.Button,{type:"submit"},"Create account")))}function B(e){const{generatePkce:t,onForgotPassword:o,onRegister:l,handleAuthResponse:i,children:c}=e,u=x(e,["generatePkce","onForgotPassword","onRegister","handleAuthResponse","children"]),s=f(),d=F(e.googleClientId),[m,p]=n.useState(),g=A(m,void 0);function v(){return O(this,void 0,void 0,(function*(){t&&(yield s.startPkce())}))}return n.createElement(w,{style:{maxWidth:400},onSubmit:e=>{v().then((()=>s.startLogin(Object.assign(Object.assign({},u),{email:e.email,password:e.password,remember:"on"===e.remember})))).then(i).catch(p)}},n.createElement(r.Center,{sx:{flexDirection:"column"}},c),g&&n.createElement(r.Alert,{icon:n.createElement(a.IconAlertCircle,{size:16}),color:"red"},g.map((e=>{var t,r;return n.createElement("div",{"data-testid":"text-field-error",key:null===(t=e.details)||void 0===t?void 0:t.text},null===(r=e.details)||void 0===r?void 0:r.text)}))),d&&n.createElement(n.Fragment,null,n.createElement(r.Group,{position:"center",p:"xl",style:{height:70}},n.createElement(N,{googleClientId:d,handleGoogleCredential:t=>{v().then((()=>s.startGoogleLogin(Object.assign(Object.assign({},u),{googleCredential:t.credential})))).then(e.handleAuthResponse).catch(p)}})),n.createElement(r.Divider,{label:"or",labelPosition:"center",my:"lg"})),n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:"email",type:"email",label:"Email",placeholder:"name@domain.com",required:!0,autoFocus:!0,error:P(m,"email")}),n.createElement(r.PasswordInput,{name:"password",type:"password",label:"Password",autoComplete:"off",required:!0,error:P(m,"password")})),n.createElement(r.Group,{position:"apart",mt:"xl",noWrap:!0},o&&n.createElement(r.Anchor,{component:"button",type:"button",color:"dimmed",onClick:o,size:"xs"},"Forgot password"),l&&n.createElement(r.Anchor,{component:"button",type:"button",color:"dimmed",onClick:l,size:"xs"},"Register"),n.createElement(r.Checkbox,{id:"remember",name:"remember",label:"Remember me",size:"xs"}),n.createElement(r.Button,{type:"submit"},"Sign in")))}function q(e){const t=f();return n.createElement(r.Stack,null,n.createElement(r.Center,{sx:{flexDirection:"column"}},n.createElement(R,{size:32}),n.createElement(r.Title,null,"Choose profile")),e.memberships.map((a=>{var o,l;return n.createElement(r.UnstyledButton,{key:a.id,onClick:()=>{t.post("auth/profile",{login:e.login,profile:a.id}).then(e.handleAuthResponse).catch(console.log)}},n.createElement(r.Group,null,n.createElement(r.Avatar,{radius:"xl"}),n.createElement("div",{style:{flex:1}},n.createElement(r.Text,{size:"sm",weight:500},null===(o=a.profile)||void 0===o?void 0:o.display),n.createElement(r.Text,{color:"dimmed",size:"xs"},null===(l=a.project)||void 0===l?void 0:l.display))))})))}function U(e){const t=f();return n.createElement(w,{style:{maxWidth:400},onSubmit:n=>{t.post("auth/scope",{login:e.login,scope:Object.keys(n).join(" ")}).then(e.handleAuthResponse).catch(console.log)}},n.createElement(r.Stack,null,n.createElement(r.Center,{sx:{flexDirection:"column"}},n.createElement(R,{size:32}),n.createElement(r.Title,null,"Choose scope")),n.createElement(r.Stack,null,(e.scope||"openid").split(" ").map((e=>n.createElement(r.Checkbox,{key:e,id:e,name:e,label:e,defaultChecked:!0})))),n.createElement(r.Group,{position:"right",mt:"xl"},n.createElement(r.Button,{type:"submit"},"Set scope"))))}function _(e){return n.createElement(r.Group,{noWrap:!0},n.createElement("div",null,e.children),n.createElement("div",null,n.createElement(r.Input.Wrapper,{id:e.htmlFor,label:e.title,description:e.description},null)))}const G=["meta","implicitRules","language","text","contained","extension","modifierExtension"];function Q(e){return n.createElement(r.Input.Wrapper,{id:e.htmlFor,label:e.title,description:e.description,error:P(e.outcome,e.htmlFor)},e.children)}const W={resourceType:"Device",id:"system",deviceName:[{name:"System"}]};function H(e){const t=f(),[r,a]=n.useState(function(e,t){if(!t)return;if("resourceType"in t)return t;if("reference"in t)return"system"===t.reference?W:e.getCachedReference(t);return}(t,e));return n.useEffect((()=>{let n=!0;return!r&&e&&"reference"in e&&e.reference&&t.readReference(e).then((e=>{n&&a(e)})).catch((()=>a(void 0))),()=>n=!1}),[t,r,e]),r}function K(e,n,r,a,o){const l=a.type;if(l.length>1)for(const r of l){const a=n.replace("[x]",t.capitalize(r.code));a in e&&delete e[a]}return e[r]=o,e}const Y=r.createStyles((e=>({root:{display:"grid",gridTemplateColumns:"30% 70%",margin:0,"& > dt, & > dd":{padding:`${e.spacing.sm}px ${e.spacing.sm}px`,borderTop:`0.1px solid ${e.colors.gray[3]}`,margin:0}},compact:{gridTemplateColumns:"20% 80%","& > dt, & > dd":{padding:`0 ${e.spacing.xs}px ${e.spacing.xs}px 0`,border:0}}})));function J(e){const{children:t,compact:r}=e,{classes:a,cx:o}=Y();return n.createElement("dl",{className:o(a.root,{[a.compact]:r})},t)}function X(e){return n.createElement(n.Fragment,null,n.createElement("dt",null,e.term),n.createElement("dd",null,e.children))}function Z(e){const r=e.value,a=r.value;if(!a)return null;const o=r.type,l=t.globalSchema.types[o];return l?"object"==typeof a&&"name"in a&&1===Object.keys(a).length&&"string"==typeof a.name?n.createElement("div",null,a.name):n.createElement(J,{compact:e.compact},Object.entries(l.properties).map((a=>{const o=a[0];if(G.indexOf(o)>=0)return null;const l=a[1],[i,c]=pe(r,o);return e.ignoreMissingValues&&(!i||Array.isArray(i)&&0===i.length)?null:n.createElement(X,{key:o,term:t.getPropertyDisplayName(o)},n.createElement(me,{property:l,propertyType:c,value:i,ignoreMissingValues:e.ignoreMissingValues,link:e.link}))}))):n.createElement("div",null,o," not implemented")}function ee(e){var t,r;return n.createElement(n.Fragment,null,(null===(t=e.value)||void 0===t?void 0:t.display)||(null===(r=e.value)||void 0===r?void 0:r.code))}function te(e){const t=e.value;return t?t.text?n.createElement(n.Fragment,null,t.text):t.coding?n.createElement(n.Fragment,null,t.coding.map(((e,t)=>n.createElement(n.Fragment,{key:"coding-"+t},t>0&&n.createElement(n.Fragment,null,", "),n.createElement(ee,{value:e}))))):null:null}function ne(e){const t=e.value;if(!t)return null;const r=[];return t.value&&r.push(t.value),(t.use||t.system)&&(r.push(" ["),t.use&&r.push(t.use),t.use&&t.system&&r.push(" "),t.system&&r.push(t.system),r.push("]")),n.createElement(n.Fragment,null,r.join("").trim())}function re(e){var t;const r=e.value;return r?n.createElement(n.Fragment,null,r.name,r.name&&": ",null===(t=r.telecom)||void 0===t?void 0:t.map(((e,t)=>n.createElement(ne,{key:"telecom-"+t,value:e})))):null}function ae(e){const r=e.value;return r?n.createElement(n.Fragment,null,t.formatHumanName(r,e.options)):null}function oe(e){var t,r;return n.createElement("div",null,null===(t=e.value)||void 0===t?void 0:t.system,": ",null===(r=e.value)||void 0===r?void 0:r.value)}function le(e){return n.createElement(n.Fragment,null,t.formatQuantity(e.value))}function ie(e){return n.createElement(n.Fragment,null,t.formatRange(e.value))}function ce(e){const t=e.value;return t?n.createElement(n.Fragment,null,n.createElement(le,{value:t.numerator})," / ",n.createElement(le,{value:t.denominator})):null}function ue(e){const t=o.useNavigate(),{to:a,suffix:l,label:i,onClick:c,children:u}=e,s=x(e,["to","suffix","label","onClick","children"]);let d=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("resourceType"in e)return function(e){return`/${e.resourceType}/${e.id}`}(e);if("reference"in e)return function(e){return`/${e.reference}`}(e)}return"#"}(a);return l&&(d+="/"+l),n.createElement(r.Anchor,Object.assign({href:d,"aria-label":i,onClick:e=>{h(e),c?c():a&&t(d)}},s),u)}function se(e){if(!e.value)return null;const r=e.value.display||e.value.reference||t.stringify(e.value);return!1!==e.link&&e.value.reference?n.createElement(ue,{to:e.value},r):n.createElement(n.Fragment,null,r)}function de(e){var t,r,a;const o=e.property,l=null!==(t=e.values)&&void 0!==t?t:[],i=null===(a=null===(r=o.type)||void 0===r?void 0:r[0])||void 0===a?void 0:a.code;return n.createElement(n.Fragment,null,l.map(((t,r)=>n.createElement("div",{key:`${r}-${l.length}`},n.createElement(me,{arrayElement:!0,property:o,propertyType:i,value:t,ignoreMissingValues:e.ignoreMissingValues,link:e.link})))))}function me(e){var r;const{property:a,propertyType:o,value:l}=e;if("*"===(null==a?void 0:a.max)&&!e.arrayElement)return"Attachment"===o?n.createElement(m,{values:l,maxWidth:e.maxWidth}):n.createElement(de,{property:a,values:l,ignoreMissingValues:e.ignoreMissingValues,link:e.link});switch(o){case t.PropertyType.boolean:return n.createElement(n.Fragment,null,void 0===l?"":Boolean(l).toString());case t.PropertyType.SystemString:case t.PropertyType.code:case t.PropertyType.date:case t.PropertyType.integer:case t.PropertyType.positiveInt:case t.PropertyType.string:case t.PropertyType.unsignedInt:case t.PropertyType.uri:case t.PropertyType.url:return n.createElement(n.Fragment,null,l);case t.PropertyType.canonical:return n.createElement(se,{value:{reference:l},link:e.link});case t.PropertyType.dateTime:case t.PropertyType.instant:return n.createElement(n.Fragment,null,t.formatDateTime(l));case t.PropertyType.markdown:return n.createElement("pre",null,l);case t.PropertyType.Address:return n.createElement(i,{value:l});case t.PropertyType.Annotation:return n.createElement(n.Fragment,null,null==l?void 0:l.text);case t.PropertyType.Attachment:return n.createElement(d,{value:l,maxWidth:e.maxWidth});case t.PropertyType.CodeableConcept:return n.createElement(te,{value:l});case t.PropertyType.Coding:return n.createElement(ee,{value:l});case t.PropertyType.ContactDetail:return n.createElement(re,{value:l});case t.PropertyType.ContactPoint:return n.createElement(ne,{value:l});case t.PropertyType.HumanName:return n.createElement(ae,{value:l});case t.PropertyType.Identifier:return n.createElement(oe,{value:l});case t.PropertyType.Period:return n.createElement(n.Fragment,null,t.formatPeriod(l));case t.PropertyType.Quantity:return n.createElement(le,{value:l});case t.PropertyType.Range:return n.createElement(ie,{value:l});case t.PropertyType.Ratio:return n.createElement(ce,{value:l});case t.PropertyType.Reference:return n.createElement(se,{value:l,link:e.link});case t.PropertyType.Timing:return n.createElement(n.Fragment,null,t.formatTiming(l));default:if(!(null==a?void 0:a.path))throw Error(`Displaying property of type ${e.propertyType} requires element definition path`);return n.createElement(Z,{value:{type:t.buildTypeName(null===(r=null==a?void 0:a.path)||void 0===r?void 0:r.split(".")),value:l},compact:!0,ignoreMissingValues:e.ignoreMissingValues})}}function pe(e,n){const r=t.getTypedPropertyValue(e,n);return r?Array.isArray(r)?[r.map((e=>e.value)),r[0].type]:[r.value,r.type]:[void 0,"undefined"]}function ge(e){const a=v(),[o,l]=n.useState(e.defaultValue||{});return n.useRef().current=o,n.createElement(r.TextInput,{name:e.name,placeholder:"Annotation text",defaultValue:o.text,onChange:n=>function(n){const r=n?{text:n,authorReference:a&&t.createReference(a),time:(new Date).toISOString()}:{};l(r),e.onChange&&e.onChange(r)}(n.currentTarget.value)})}function fe(e){return{value:e.code,label:(t=e,t.display||t.code||""),element:e};var t}function ve(e){const t=f(),{property:a,defaultValue:o}=e,[l,i]=n.useState((null==o?void 0:o.code)?[o.code]:[]),[c,u]=n.useState((null==o?void 0:o.code)?[fe(o)]:[]),s=n.useRef();s.current=c;const d=n.useCallback((e=>O(this,void 0,void 0,(function*(){var n,r;const o=null===(n=a.binding)||void 0===n?void 0:n.valueSet,l=null===(r=(yield t.searchValueSet(o,e)).expansion)||void 0===r?void 0:r.contains,i=[...s.current];for(const e of l)e.code&&!i.some((t=>t.value===e.code))&&i.push(fe(e));u(i)}))),[t,a,s]);return n.useEffect((()=>{d("").catch(console.log)}),[d]),n.createElement(r.MultiSelect,{data:c,placeholder:e.placeholder,searchable:!0,creatable:!0,clearable:!0,value:l,filter:(e,t,n)=>{var r,a;return!(0!==l.length||t||!(null===(r=n.element.display)||void 0===r?void 0:r.toLowerCase().includes(e.toLowerCase().trim()))&&!(null===(a=n.element.code)||void 0===a?void 0:a.toLowerCase().includes(e.toLowerCase().trim())))},onChange:function(t){i(t);const n=t[0];let r;if(n&&(r=s.current.find((e=>e.value===t[0])),!r)){r=fe({code:n,display:n}),u([...s.current,r])}e.onChange&&e.onChange(null==r?void 0:r.element)},getCreateLabel:e=>`+ Create ${e}`,onCreate:e=>fe({code:e,display:e})})}function he(e){const[t,r]=n.useState(e.defaultValue);return n.createElement(ve,{property:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(a=t,{system:null===(l=null===(o=a.coding)||void 0===o?void 0:o[0])||void 0===l?void 0:l.system,code:null===(c=null===(i=a.coding)||void 0===i?void 0:i[0])||void 0===c?void 0:c.code,display:null===(s=null===(u=a.coding)||void 0===u?void 0:u[0])||void 0===s?void 0:s.display}),onChange:function(t){const n=t&&{text:(a=t).display,coding:[{system:a.system,code:a.code,display:a.display}]};var a;r(n),e.onChange&&e.onChange(n)}});var a,o,l,i,c,u,s}function Ee(e){const[t,r]=n.useState(e.defaultValue);return n.createElement(ve,{property:e.property,name:e.name,placeholder:e.placeholder,defaultValue:(a=t,a?{code:a}:void 0),onChange:function(t){const n=null==(a=t)?void 0:a.code;var a;r(n),e.onChange&&e.onChange(n)}});var a}function ye(e){const[t,r]=n.useState(e.defaultValue);return n.createElement(ve,{property:e.property,name:e.name,placeholder:e.placeholder,defaultValue:t&&(a=t,{system:a.system,code:a.code,display:a.display}),onChange:function(t){const n=t&&{system:(a=t).system,code:a.code,display:a.display};var a;r(n),e.onChange&&e.onChange(n)}});var a}function be(e){const[t,a]=n.useState(e.defaultValue),o=n.useRef();function l(t){t&&0===Object.keys(t).length&&(t=void 0),a(t),e.onChange&&e.onChange(t)}return o.current=t,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{"data-testid":"system",defaultValue:null==t?void 0:t.system,onChange:e=>function(e){const t=Object.assign(Object.assign({},o.current),{system:e});e||delete t.system,l(t)}(e.currentTarget.value),data:["","email","phone","fax","pager","sms","other"]}),n.createElement(r.NativeSelect,{"data-testid":"use",defaultValue:null==t?void 0:t.use,onChange:e=>function(e){const t=Object.assign(Object.assign({},o.current),{use:e});e||delete t.use,l(t)}(e.currentTarget.value),data:["","home","work","temp","old","mobile"]}),n.createElement(r.TextInput,{placeholder:"Value",defaultValue:null==t?void 0:t.value,onChange:e=>function(e){const t=Object.assign(Object.assign({},o.current),{value:e});e||delete t.value,l(t)}(e.currentTarget.value)}))}function Ce(e){var t;const[a,o]=n.useState(e.defaultValue),l=n.useRef();function i(t){o(t),e.onChange&&e.onChange(t)}return l.current=a,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.TextInput,{"data-testid":e.name+"-name",name:e.name+"-name",placeholder:"Name",style:{width:180},defaultValue:null==a?void 0:a.name,onChange:e=>function(e){const t=Object.assign(Object.assign({},l.current),{name:e});e||delete t.name,i(t)}(e.currentTarget.value)}),n.createElement(be,{name:e.name+"-telecom",defaultValue:null===(t=null==a?void 0:a.telecom)||void 0===t?void 0:t[0],onChange:function(e){const t=Object.assign(Object.assign({},l.current),{telecom:e&&[e]});e||delete t.telecom,i(t)}}))}function Te(e){return n.createElement(r.TextInput,{id:e.name,name:e.name,"data-testid":e.name,placeholder:e.placeholder,type:"datetime-local",defaultValue:Se(e.defaultValue),error:P(e.outcome,e.name),onChange:t=>{if(e.onChange){const n=t.currentTarget.value;e.onChange(xe(n))}}})}function Se(e){if(!e)return"";const n=new Date(e);return t.isValidDate(n)?n.toLocaleDateString("sv")+"T"+n.toLocaleTimeString("sv"):""}function xe(e){if(!e)return"";const n=new Date(e);return t.isValidDate(n)?n.toISOString():""}function Oe(e){return n.createElement(r.JsonInput,{id:e.name,name:e.name,"data-testid":"extension-input",defaultValue:t.stringify(e.defaultValue),onChange:t=>{e.onChange&&e.onChange(JSON.parse(t))}})}function ke(e){var t,a,o;const[l,i]=n.useState(e.defaultValue),c=n.useRef();function u(t){i(t),e.onChange&&e.onChange(t)}return c.current=l,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{defaultValue:null==l?void 0:l.use,"data-testid":"use",onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{use:t||void 0}));var t},data:["","temp","old","usual","official","nickname","anonymous","maiden"]}),n.createElement(r.TextInput,{placeholder:"Prefix",defaultValue:null===(t=null==l?void 0:l.prefix)||void 0===t?void 0:t.join(" "),onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{prefix:t?t.split(" "):void 0}));var t}}),n.createElement(r.TextInput,{placeholder:"Given",defaultValue:null===(a=null==l?void 0:l.given)||void 0===a?void 0:a.join(" "),onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{given:t?t.split(" "):void 0}));var t}}),n.createElement(r.TextInput,{placeholder:"Family",defaultValue:null==l?void 0:l.family,onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{family:t||void 0}));var t}}),n.createElement(r.TextInput,{placeholder:"Suffix",defaultValue:null===(o=null==l?void 0:l.suffix)||void 0===o?void 0:o.join(" "),onChange:e=>{return t=e.currentTarget.value,void u(Object.assign(Object.assign({},c.current),{suffix:t?t.split(" "):void 0}));var t}}))}function Ie(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.TextInput,{placeholder:"System",defaultValue:null==t?void 0:t.system,onChange:e=>o(Object.assign(Object.assign({},t),{system:e.currentTarget.value}))}),n.createElement(r.TextInput,{placeholder:"Value",defaultValue:null==t?void 0:t.value,onChange:e=>o(Object.assign(Object.assign({},t),{value:e.currentTarget.value}))}))}function je(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(Te,{name:e.name+".start",placeholder:"Start",defaultValue:null==t?void 0:t.start,onChange:e=>o(Object.assign(Object.assign({},t),{start:e}))}),n.createElement(Te,{name:e.name+".end",placeholder:"End",defaultValue:null==t?void 0:t.end,onChange:e=>o(Object.assign(Object.assign({},t),{end:e}))}))}function we(e){var t;const[a,o]=n.useState(e.defaultValue);function l(t){o(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{style:{width:80},"data-testid":e.name+"-comparator",defaultValue:null==a?void 0:a.comparator,data:["","<","<=",">=",">"],onChange:e=>l(Object.assign(Object.assign({},a),{comparator:e.currentTarget.value}))}),n.createElement(r.TextInput,{id:e.name,name:e.name,"data-testid":e.name+"-value",type:"number",step:"any",placeholder:"Value",defaultValue:null===(t=null==a?void 0:a.value)||void 0===t?void 0:t.toString(),onChange:e=>l(Object.assign(Object.assign({},a),{value:Re(e.currentTarget.value)}))}),n.createElement(r.TextInput,{placeholder:"Unit","data-testid":e.name+"-unit",defaultValue:null==a?void 0:a.unit,onChange:e=>l(Object.assign(Object.assign({},a),{unit:e.currentTarget.value}))}))}function Re(e){if(e)return parseFloat(e)}function Pe(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(we,{name:e.name+"-low",defaultValue:null==t?void 0:t.low,onChange:e=>o(Object.assign(Object.assign({},t),{low:e}))}),n.createElement(we,{name:e.name+"-high",defaultValue:null==t?void 0:t.high,onChange:e=>o(Object.assign(Object.assign({},t),{high:e}))}))}function Ae(e){const[t,a]=n.useState(e.defaultValue);function o(t){a(t),e.onChange&&e.onChange(t)}return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(we,{name:e.name+"-numerator",defaultValue:null==t?void 0:t.numerator,onChange:e=>o(Object.assign(Object.assign({},t),{numerator:e}))}),n.createElement(we,{name:e.name+"-denominator",defaultValue:null==t?void 0:t.denominator,onChange:e=>o(Object.assign(Object.assign({},t),{denominator:e}))}))}function De(e){var a,o,l;const i=H(e.value),c=i?t.getDisplayString(i):null!==(a=e.alt)&&void 0!==a?a:"",u=null!==(o=i&&t.getImageSrc(i))&&void 0!==o?o:e.src,s=null!==(l=e.radius)&&void 0!==l?l:"xl",d=Object.assign({},e);return delete d.value,delete d.link,e.link?n.createElement(ue,{to:i},n.createElement(r.Avatar,Object.assign({src:u,alt:c,radius:s},d))):n.createElement(r.Avatar,Object.assign({src:u,alt:c,radius:s},d))}const Ve={Schedule:"_id",Task:"_id",Patient:"name",Practitioner:"name",Questionnaire:"name",ServiceRequest:"_id",DiagnosticReport:"_id",Specimen:"_id",Observation:"code",RequestGroup:"_id",ActivityDefinition:"name"};function Me(e){const a=f(),o=H(e.defaultValue),[l,i]=n.useState(o?t.getDisplayString(o):""),[c,u]=n.useState(!1),[s,d]=n.useState([]);function m(n){return O(this,void 0,void 0,(function*(){u(!0);const r=Ve[e.resourceType]||"name",o=new URLSearchParams({[r]:encodeURIComponent(n),_count:"10"}),l=yield a.searchResources(e.resourceType,o);d(l.map((e=>({value:t.getDisplayString(e),resource:e})))),u(!1)}))}return n.useEffect((()=>{o&&i(t.getDisplayString(o))}),[o,i]),n.createElement(r.Autocomplete,{itemComponent:Ne,value:l,data:s,placeholder:e.placeholder,onFocus:()=>m(l),onChange:function(e){return O(this,void 0,void 0,(function*(){return i(e),m(e)}))},onItemSubmit:function(t){i(t.value),d([]),e.onChange&&e.onChange(t.resource)},rightSection:c?n.createElement(r.Loader,{size:16}):null})}const Ne=n.forwardRef(((e,t)=>{var{value:a,resource:o}=e,l=x(e,["value","resource"]);return n.createElement("div",Object.assign({ref:t},l),n.createElement(r.Group,{noWrap:!0},n.createElement(De,{value:o}),n.createElement("div",null,n.createElement(r.Text,null,a),n.createElement(r.Text,{size:"xs",color:"dimmed"},o.birthDate))))}));function Fe(e){const a=e.targetTypes,o=function(e,t){var n;const r=null===(n=null==e?void 0:e.reference)||void 0===n?void 0:n.split("/")[0];if(r)return r;if(t&&t.length>0)return t[0];return}(e.defaultValue,a),[l,i]=n.useState(e.defaultValue),[c,u]=n.useState(o);n.useRef().current=l;return n.useRef().current=c,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},a?n.createElement(r.NativeSelect,{"data-testid":"reference-input-resource-type-select",defaultValue:c,onChange:e=>u(e.currentTarget.value),data:a}):n.createElement(r.TextInput,{"data-testid":"reference-input-resource-type-input",defaultValue:c,onChange:e=>u(e.currentTarget.value)}),n.createElement(Me,{resourceType:c,name:e.name+"-id",placeholder:e.placeholder,defaultValue:l,onChange:n=>{var r;r=n?t.createReference(n):void 0,i(r),e.onChange&&e.onChange(r)}}))}function $e(e){const[t,o]=n.useState(e.defaultValue&&Array.isArray(e.defaultValue)?e.defaultValue:[]),l=n.useRef();function i(t){o(t),e.onChange&&e.onChange(t)}return l.current=t,n.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},n.createElement("colgroup",null,n.createElement("col",{width:"97%"}),n.createElement("col",{width:"3%"})),n.createElement("tbody",null,t.map(((o,c)=>n.createElement("tr",{key:`${c}-${t.length}`},n.createElement("td",null,n.createElement(qe,{arrayElement:!0,property:e.property,name:e.name+"."+c,defaultValue:o,onChange:e=>{const t=[...l.current];t[c]=e,i(t)}})),n.createElement("td",{style:{textAlign:"right"}},n.createElement(r.ActionIcon,{title:"Remove",size:"sm",onClick:e=>{h(e);const t=[...l.current];t.splice(c,1),i(t)}},n.createElement(a.IconCircleMinus,null)))))),n.createElement("tr",null,n.createElement("td",null),n.createElement("td",{style:{textAlign:"right"}},n.createElement(r.ActionIcon,{title:"Add",size:"sm",color:"green",onClick:e=>{h(e);const t=[...l.current];t.push(void 0),i(t)}},n.createElement(a.IconCirclePlus,null))))))}const Le=["sun","mon","tue","wed","thu","fri","sat"];function ze(e){const[a,o]=n.useState(e.defaultValue||{}),[l,i]=n.useState(!1),c=n.useRef();return c.current=a,n.createElement(n.Fragment,null,n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement("span",null,t.formatTiming(c.current)||"No repeat"),n.createElement(r.Button,{onClick:()=>i(!0)},"Edit")),n.createElement(Be,{visible:l,defaultValue:c.current,onOk:t=>{e.onChange&&e.onChange(t),o(t),i(!1)},onCancel:()=>i(!1)}))}function Be(e){var t,a;const[o,l]=n.useState(e.defaultValue||{}),i=n.useRef();function c(e){l(Object.assign(Object.assign({},i.current),{repeat:e}))}function u(e,t){t?function(e){var t,n,r;const a=(null===(n=null===(t=i.current)||void 0===t?void 0:t.repeat)||void 0===n?void 0:n.dayOfWeek)||[];a.includes(e)||c(Object.assign(Object.assign({},null===(r=i.current)||void 0===r?void 0:r.repeat),{dayOfWeek:[...a,e]}))}(e):function(e){var t,n,r;const a=(null===(n=null===(t=i.current)||void 0===t?void 0:t.repeat)||void 0===n?void 0:n.dayOfWeek)||[];a.includes(e)&&c(Object.assign(Object.assign({},null===(r=i.current)||void 0===r?void 0:r.repeat),{dayOfWeek:a.filter((t=>t!==e))}))}(e)}return i.current=o,n.createElement(r.Modal,{title:"Timing",closeButtonLabel:"Close",opened:e.visible,onClose:()=>e.onCancel()},n.createElement("div",{style:{padding:"5px 20px",textAlign:"left"}},n.createElement(Q,{title:"Starts on",htmlFor:"timing-dialog-start"},n.createElement(Te,{name:"timing-dialog-start",onChange:e=>{return t=e,void l(Object.assign(Object.assign({},i.current),{event:[t]}));var t}})),n.createElement(Q,{title:"Repeat every",htmlFor:"timing-dialog-period"},n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.TextInput,{type:"number",step:1,id:"timing-dialog-period",name:"timing-dialog-period",defaultValue:null===(t=null==o?void 0:o.repeat)||void 0===t?void 0:t.period,onChange:e=>function(e){var t;c(Object.assign(Object.assign({},null===(t=i.current)||void 0===t?void 0:t.repeat),{period:e}))}(parseInt(e.currentTarget.value))}),n.createElement(r.NativeSelect,{id:"timing-dialog-periodUnit",name:"timing-dialog-periodUnit",defaultValue:null===(a=null==o?void 0:o.repeat)||void 0===a?void 0:a.periodUnit,onChange:e=>function(e){var t;c(Object.assign(Object.assign({},null===(t=i.current)||void 0===t?void 0:t.repeat),{periodUnit:e}))}(e.currentTarget.value),data:[{label:"day",value:"d"},{label:"week",value:"wk"},{label:"month",value:"mo"},{label:"year",value:"a"}]}))),n.createElement(Q,{title:"Repeat on"},n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},Le.map((e=>n.createElement(n.Fragment,{key:e},n.createElement("label",{htmlFor:"timing-dialog-repeat-"+e},e.charAt(0).toUpperCase()),n.createElement(r.Checkbox,{id:"timing-dialog-repeat-"+e,name:"timing-dialog-repeat-"+e,onChange:t=>u(e,t.currentTarget.checked)}))))))),n.createElement(r.Button,{onClick:()=>e.onOk(o)},"OK"))}function qe(e){var t,r,a;const o=e.property,l=null!==(t=e.defaultPropertyType)&&void 0!==t?t:null===(a=null===(r=o.type)||void 0===r?void 0:r[0])||void 0===a?void 0:a.code,i=e.name,c=e.defaultValue;if("*"===o.max&&!e.arrayElement)return"Attachment"===l?n.createElement(C,{name:i,defaultValue:c,onChange:e.onChange}):n.createElement($e,{property:o,name:i,defaultValue:c,onChange:e.onChange});const u=o.type;return u.length>1?n.createElement(Ue,Object.assign({elementDefinitionTypes:u},e)):n.createElement(_e,Object.assign({elementDefinitionType:u[0]},e))}function Ue(e){const a=e.elementDefinitionTypes;let o;e.defaultPropertyType&&(o=a.find((t=>t.code===e.defaultPropertyType))),o||(o=a[0]);const[l,i]=n.useState(o);return n.createElement(r.Group,{spacing:"xs",grow:!0,noWrap:!0},n.createElement(r.NativeSelect,{style:{width:"200px"},defaultValue:null==l?void 0:l.code,onChange:e=>{i(a.find((t=>t.code===e.currentTarget.value)))},data:a.map((e=>({value:e.code,label:e.code})))}),n.createElement(_e,Object.assign({},e,{elementDefinitionType:l,onChange:n=>{e.onChange&&e.onChange(n,e.name.replace("[x]",t.capitalize(l.code)))}})))}function _e(e){var a;const o=e.property,l=e.elementDefinitionType.code,i=e.name,c=e.defaultValue;switch(l){case t.PropertyType.SystemString:case t.PropertyType.canonical:case t.PropertyType.string:case t.PropertyType.time:case t.PropertyType.uri:case t.PropertyType.url:return n.createElement(r.TextInput,{id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:P(e.outcome,i)});case t.PropertyType.date:return n.createElement(r.TextInput,{type:"date",id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)},error:P(e.outcome,i)});case t.PropertyType.dateTime:case t.PropertyType.instant:return n.createElement(Te,{name:i,defaultValue:c,onChange:e.onChange,outcome:e.outcome});case t.PropertyType.decimal:case t.PropertyType.integer:case t.PropertyType.positiveInt:case t.PropertyType.unsignedInt:return n.createElement(r.TextInput,{type:"number",step:l===t.PropertyType.decimal?"any":"1",id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.valueAsNumber)}});case t.PropertyType.code:return n.createElement(Ee,{property:o,name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.boolean:return n.createElement(r.Checkbox,{id:i,name:i,"data-testid":i,defaultChecked:!!c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.checked)}});case t.PropertyType.markdown:return n.createElement(r.Textarea,{id:i,name:i,"data-testid":i,defaultValue:c,onChange:t=>{e.onChange&&e.onChange(t.currentTarget.value)}});case t.PropertyType.Address:return n.createElement(s,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Annotation:return n.createElement(ge,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Attachment:return n.createElement(T,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.CodeableConcept:return n.createElement(he,{property:o,name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Coding:return n.createElement(ye,{property:o,name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.ContactDetail:return n.createElement(Ce,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.ContactPoint:return n.createElement(be,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Extension:return n.createElement(Oe,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.HumanName:return n.createElement(ke,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Identifier:return n.createElement(Ie,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Period:return n.createElement(je,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Quantity:return n.createElement(we,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Range:return n.createElement(Pe,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Ratio:return n.createElement(Ae,{name:i,defaultValue:c,onChange:e.onChange});case t.PropertyType.Reference:return n.createElement(Fe,{name:i,defaultValue:c,targetTypes:Ge(o),onChange:e.onChange});case t.PropertyType.Timing:return n.createElement(ze,{name:i,defaultValue:c,onChange:e.onChange});default:return n.createElement(Qe,{typeName:t.buildTypeName(null===(a=o.path)||void 0===a?void 0:a.split(".")),defaultValue:c,onChange:e.onChange,outcome:e.outcome})}}function Ge(e){var t,n,r;return null===(r=null===(n=null===(t=null==e?void 0:e.type)||void 0===t?void 0:t[0])||void 0===n?void 0:n.targetProfile)||void 0===r?void 0:r.map((e=>e.split("/").pop()))}function Qe(e){var a;const[o,l]=n.useState(null!==(a=e.defaultValue)&&void 0!==a?a:{});function i(t){l(t),e.onChange&&e.onChange(t)}const c=e.typeName,u=t.globalSchema.types[c];if(!u)return n.createElement("div",null,c," not implemented");const s={type:c,value:o};return n.createElement(r.Stack,null,Object.entries(u.properties).map((r=>{const a=r[0];if("id"===a||G.indexOf(a)>=0)return null;const l=r[1];if(!l.type)return null;const[c,u]=pe(s,a);return 1===l.type.length&&"boolean"===l.type[0].code?n.createElement(_,{key:a,title:t.getPropertyDisplayName(a),description:l.definition,htmlFor:a},n.createElement(qe,{property:l,name:a,defaultValue:c,defaultPropertyType:u,outcome:e.outcome,onChange:(e,t)=>{i(K(o,a,null!=t?t:a,r[1],e))}})):n.createElement(Q,{key:a,title:t.getPropertyDisplayName(a),description:l.definition,htmlFor:a,outcome:e.outcome},n.createElement(qe,{property:l,name:a,defaultValue:c,defaultPropertyType:u,outcome:e.outcome,onChange:(e,t)=>{i(K(o,a,null!=t?t:a,r[1],e))}}))})))}function We(e){const{value:a,link:o}=e,l=x(e,["value","link"]),i=H(a);if(!i)return null;const c=t.getDisplayString(i);return o?n.createElement(ue,Object.assign({to:i},l),c):n.createElement(r.Text,Object.assign({component:"span"},l),c)}function He(e){return n.createElement(r.Group,{spacing:"xs"},n.createElement(De,{size:24,radius:12,value:e.value,link:e.link}),n.createElement(We,{value:e.value,link:e.link}))}const Ke=r.createStyles((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]}`}}})));function Ye(e){var a,o;const l=H(e.value),i=H(null===(a=null==l?void 0:l.specimen)||void 0===a?void 0:a[0]);if(!l)return null;let c="";if(l.presentedForm&&l.presentedForm.length>0){const e=l.presentedForm[0];(null===(o=e.contentType)||void 0===o?void 0:o.startsWith("text/plain"))&&e.data&&(c=window.atob(e.data))}if(null==i?void 0:i.note)for(const e of i.note)c+=e.text+"\n\n";return n.createElement(r.Stack,null,n.createElement(r.Title,null,"Diagnostic Report"),n.createElement(r.Group,{mt:"md",spacing:30},l.subject&&n.createElement("div",null,n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Subject"),n.createElement(r.Text,null,n.createElement(He,{value:l.subject,link:!0}))),l.resultsInterpreter&&l.resultsInterpreter.map((e=>n.createElement("div",{key:e.reference},n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Interpreter"),n.createElement(r.Text,null,n.createElement(He,{value:e,link:!0}))))),l.issued&&n.createElement("div",null,n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Issued"),n.createElement(r.Text,null,t.formatDateTime(l.issued))),l.status&&n.createElement("div",null,n.createElement(r.Text,{size:"xs",transform:"uppercase",color:"dimmed"},"Status"),n.createElement(r.Text,null,t.capitalize(l.status)))),l.result&&n.createElement(Je,{value:l.result}),c&&n.createElement("pre",null,c.trim()))}function Je(e){var t;const{classes:r}=Ke();return n.createElement("table",{className:r.table},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Test"),n.createElement("th",null,"Value"),n.createElement("th",null,"Reference Range"),n.createElement("th",null,"Interpretation"))),n.createElement("tbody",null,null===(t=e.value)||void 0===t?void 0:t.map(((e,t)=>n.createElement(Xe,{key:"obs-"+t,value:e})))))}function Xe(e){const{classes:t,cx:r}=Ke(),a=H(e.value);if(!a)return null;const o=function(e){var t,n,r,a;const o=null===(a=null===(r=null===(n=null===(t=e.interpretation)||void 0===t?void 0:t[0])||void 0===n?void 0:n.coding)||void 0===r?void 0:r[0])||void 0===a?void 0:a.code;return"AA"===o||"LL"===o||"HH"===o||"A"===o}(a);return n.createElement("tr",{className:r({[t.criticalRow]:o})},n.createElement("td",null,n.createElement(ue,{to:a},n.createElement(te,{value:a.code}))),n.createElement("td",null,n.createElement(Ze,{value:a})),n.createElement("td",null,n.createElement(et,{value:a.referenceRange})),n.createElement("td",null,a.interpretation&&a.interpretation.length>0&&n.createElement(te,{value:a.interpretation[0]})))}function Ze(e){var t;const r=e.value;return(null==r?void 0:r.valueQuantity)?n.createElement(le,{value:null===(t=e.value)||void 0===t?void 0:t.valueQuantity}):(null==r?void 0:r.valueString)?n.createElement(n.Fragment,null,r.valueString):r&&"component"in r&&(null==r?void 0:r.component)?n.createElement(n.Fragment,null,r.component.map(((e,t)=>n.createElement(Ze,{key:`obs-${t}`,value:e}))).reduce(((e,t)=>[e," / ",t]))):null}function et(e){const t=e.value&&e.value.length>0&&e.value[0];return t?t.text?n.createElement(n.Fragment,null,t.text):n.createElement(ie,{value:t}):null}const tt=r.createStyles((e=>({root:{borderCollapse:"collapse",width:"100%","& tr":{borderTop:`0.1px solid ${e.colors.gray[3]}`},"& th, & td":{padding:`${e.spacing.sm}px ${e.spacing.sm}px`,verticalAlign:"top"}},removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function nt(e){const{classes:r}=tt(),a=f(),[o,l]=n.useState();if(n.useEffect((()=>{a.requestSchema(e.original.resourceType).then(l).catch(console.log)}),[a,e.original.resourceType]),!o)return null;const i=o.types[e.original.resourceType];return i?n.createElement("table",{className:r.root},n.createElement("colgroup",null,n.createElement("col",{style:{width:"30%"}}),n.createElement("col",{style:{width:"35%"}}),n.createElement("col",{style:{width:"35%"}})),n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Property"),n.createElement("th",null,"Before"),n.createElement("th",null,"After"))),n.createElement("tbody",null,Object.entries(i.properties).map((a=>{const o=a[0];if("id"===o||"meta"===o)return null;const l=a[1],[i,c]=pe(t.toTypedValue(e.original),o),[u,s]=pe(t.toTypedValue(e.revised),o);return rt(i)&&rt(u)||t.stringify(i)===t.stringify(u)?null:n.createElement("tr",{key:o},n.createElement("td",null,t.getPropertyDisplayName(o)),n.createElement("td",{className:r.removed},n.createElement(me,{property:l,propertyType:c,value:i,ignoreMissingValues:!0})),n.createElement("td",{className:r.added},n.createElement(me,{property:l,propertyType:s,value:u,ignoreMissingValues:!0})))})))):null}function rt(e){return!e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length}function at(e){const t=f(),r=H(e.value),[a,o]=n.useState();return n.useEffect((()=>{r&&t.requestSchema(r.resourceType).then(o).catch(console.log)}),[t,r]),a&&r?n.createElement(Z,{value:{type:r.resourceType,value:r},ignoreMissingValues:e.ignoreMissingValues}):null}class ot extends n.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?n.createElement(r.Alert,{icon:n.createElement(a.IconAlertCircle,{size:16}),title:"Something went wrong",color:"red"},t.normalizeErrorString(this.state.error)):this.props.children}}function lt(e){return n.createElement(r.Container,null,e.children)}function it(e){var o,l,i;const c=null!==(o=e.profile)&&void 0!==o?o:null===(l=e.resource.meta)||void 0===l?void 0:l.author;return n.createElement(r.Paper,{"data-testid":"timeline-item",m:"lg",p:"sm",shadow:"xs",radius:"sm",withBorder:!0,className:e.className},n.createElement(r.Group,{position:"apart",spacing:8},n.createElement(De,{value:c,link:!0,size:"md"}),n.createElement("div",{style:{flex:1}},n.createElement(r.Text,{size:"sm"},n.createElement(We,{color:"dark",weight:500,value:c,link:!0})),n.createElement(r.Text,{size:"xs"},n.createElement(ue,{color:"dimmed",to:e.resource},t.formatDateTime(null===(i=e.resource.meta)||void 0===i?void 0:i.lastUpdated)),n.createElement(r.Text,{component:"span",color:"dimmed",mx:8},"·"),n.createElement(ue,{color:"dimmed",to:e.resource},e.resource.resourceType))),e.popupMenuItems&&n.createElement(r.Menu,{position:"bottom-end",shadow:"md",width:200},n.createElement(r.Menu.Target,null,n.createElement(r.ActionIcon,{radius:"xl","aria-label":`Actions for ${t.getReferenceString(e.resource)}`},n.createElement(a.IconDots,null))),e.popupMenuItems)),n.createElement(ot,null,e.padding&&n.createElement("div",{style:{padding:"2px 16px 16px 16px"}},e.children),!e.padding&&n.createElement(n.Fragment,null,e.children)))}function ct(e){e.sort(ut)}function ut(e,t){const n=st(e),r=st(t);return n>r?1:n<r?-1:dt(e)-dt(t)}function st(e){const t=e.priority;return"string"==typeof t&&{stat:4,asap:3,urgent:2}[t]||0}function dt(e){var t;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();const n=null===(t=e.meta)||void 0===t?void 0:t.lastUpdated;return n?new Date(n).getTime():0}const mt=r.createStyles((e=>({pinnedComment:{backgroundColor:e.colors.blue[0]}})));function pt(e){const i=o.useNavigate(),c=f(),u=c.getProfile(),s=n.useRef(null),d=H(e.value),[m,p]=n.useState(),[g,v]=n.useState([]),h=e.buildSearchRequests,E=n.useRef(g);E.current=g;const y=n.useCallback((()=>{if(!d)return v([]),void p({});c.executeBatch(h(d)).then(C).catch(console.log)}),[c,d,h]);function C(e){const t=[];if(e.entry){for(const n of e.entry){const e=n.resource;if(e&&("history"===e.type&&p(e),e.entry))for(const n of e.entry)n.resource&&t.push(n.resource)}ct(t),t.reverse()}v(t)}function T(e){const t=[...E.current,...e];ct(t),t.reverse(),v(t)}function S(e,t){return c.updateResource(Object.assign(Object.assign({},e),{priority:t}))}function x(e){S(e,"stat").then(y).catch(console.log)}function O(e){S(e,"routine").then(y).catch(console.log)}function k(e){i(`/${e.resourceType}/${e.id}`)}function I(e){i(`/${e.resourceType}/${e.id}/edit`)}function j(e){i(`/${e.resourceType}/${e.id}/delete`)}function R(e){var t;i(`/${e.resourceType}/${e.id}/_history/${null===(t=e.meta)||void 0===t?void 0:t.versionId}`)}return n.useEffect((()=>{y()}),[y]),d?n.createElement(lt,null,e.createCommunication&&n.createElement(r.Paper,{m:"lg",p:"sm",shadow:"xs",radius:"sm",withBorder:!0},n.createElement(w,{testid:"timeline-form",onSubmit:t=>{var n;n=t.text,d&&e.createCommunication&&c.createResource(e.createCommunication(d,u,n)).then((e=>{T([e])})).catch(console.log);const r=s.current;r&&(r.value="",r.focus())}},n.createElement(r.Group,{spacing:"xs",noWrap:!0,style:{width:"100%"}},n.createElement(De,{value:u}),n.createElement(r.TextInput,{name:"text",ref:s,placeholder:"Add comment",style:{width:"100%",maxWidth:300}}),n.createElement(r.ActionIcon,{type:"submit",radius:"xl",color:"blue",variant:"filled"},n.createElement(a.IconMessage,{size:16})),n.createElement(b,{onUpload:function(r){d&&e.createMedia&&c.createResource(e.createMedia(d,u,r)).then((e=>T([e]))).then((()=>l.updateNotification({id:"upload-notification",color:"teal",title:"Upload complete",message:"",icon:n.createElement(a.IconCheck,{size:16}),autoClose:2e3}))).catch((e=>l.updateNotification({id:"upload-notification",color:"red",title:"Upload error",message:t.normalizeErrorString(e),icon:n.createElement(a.IconFileAlert,{size:16}),autoClose:2e3})))},onUploadStart:function(){l.showNotification({id:"upload-notification",loading:!0,title:"Initializing upload...",message:"Please wait...",autoClose:!1,disallowClose:!0})},onUploadProgress:function(e){l.updateNotification({id:"upload-notification",loading:!0,title:"Uploading...",message:bt(e),autoClose:!1,disallowClose:!0})}},(e=>n.createElement(r.ActionIcon,Object.assign({},e,{radius:"xl",color:"blue",variant:"filled"}),n.createElement(a.IconCloudUpload,{size:16}))))))),g.map((e=>{var t;if(e.resourceType===d.resourceType&&e.id===d.id)return n.createElement(ft,{key:null===(t=e.meta)||void 0===t?void 0:t.versionId,history:m,resource:e,onDetails:R});const r=`${e.resourceType}/${e.id}`;switch(e.resourceType){case"AuditEvent":return n.createElement(Et,{key:r,resource:e,onDetails:k});case"Communication":return n.createElement(vt,{key:r,resource:e,onPin:"stat"!==e.priority?x:void 0,onUnpin:"stat"===e.priority?O:void 0,onDetails:k,onEdit:I,onDelete:j});case"DiagnosticReport":return n.createElement(yt,{key:r,resource:e,onDetails:k,onEdit:I,onDelete:j});case"Media":return n.createElement(ht,{key:r,resource:e,onDetails:k,onEdit:I,onDelete:j});default:return n.createElement(it,{key:r,resource:e,padding:!0},n.createElement(at,{value:e,ignoreMissingValues:!0}))}}))):n.createElement(r.Center,{style:{width:"100%",height:"100%"}},n.createElement(r.Loader,null))}function gt(e){return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Label,null,"Resource"),e.onPin&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconPin,{size:14}),onClick:()=>e.onPin(e.resource),"aria-label":`Pin ${t.getReferenceString(e.resource)}`},"Pin"),e.onUnpin&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconPinnedOff,{size:14}),onClick:()=>e.onUnpin(e.resource),"aria-label":`Unpin ${t.getReferenceString(e.resource)}`},"Unpin"),e.onDetails&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconListDetails,{size:14}),onClick:()=>e.onDetails(e.resource),"aria-label":`Details ${t.getReferenceString(e.resource)}`},"Details"),e.onEdit&&n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEdit,{size:14}),onClick:()=>e.onEdit(e.resource),"aria-label":`Edit ${t.getReferenceString(e.resource)}`},"Edit"),e.onDelete&&n.createElement(n.Fragment,null,n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Label,null,"Danger zone"),n.createElement(r.Menu.Item,{color:"red",icon:n.createElement(a.IconTrash,{size:14}),onClick:()=>e.onDelete(e.resource),"aria-label":`Delete ${t.getReferenceString(e.resource)}`},"Delete")))}function ft(e){const t=function(e,t){const n=e.entry,r=n.findIndex((e=>{var n,r,a;return(null===(r=null===(n=e.resource)||void 0===n?void 0:n.meta)||void 0===r?void 0:r.versionId)===(null===(a=t.meta)||void 0===a?void 0:a.versionId)}));if(r>=n.length-1)return;return n[r+1].resource}(e.history,e.resource);return t?n.createElement(it,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(gt,Object.assign({},e))},n.createElement(nt,{original:t,revised:e.resource})):n.createElement(it,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(gt,Object.assign({},e))},n.createElement("h3",null,"Created"),n.createElement(at,{value:e.resource,ignoreMissingValues:!0}))}function vt(e){var t,r;const{classes:a}=mt(),o=!e.resource.priority||"routine"===e.resource.priority?void 0:a.pinnedComment;return n.createElement(it,{resource:e.resource,profile:e.resource.sender,padding:!0,className:o,popupMenuItems:n.createElement(gt,Object.assign({},e))},n.createElement("p",null,null===(r=null===(t=e.resource.payload)||void 0===t?void 0:t[0])||void 0===r?void 0:r.contentString))}function ht(e){var t;const r=null===(t=e.resource.content)||void 0===t?void 0:t.contentType,a=r&&!r.startsWith("image/")&&!r.startsWith("video/")&&"application/pdf"!==r;return n.createElement(it,{resource:e.resource,padding:!!a,popupMenuItems:n.createElement(gt,Object.assign({},e))},n.createElement(d,{value:e.resource.content}))}function Et(e){return n.createElement(it,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(gt,Object.assign({},e))},n.createElement(r.ScrollArea,null,n.createElement("pre",null,e.resource.outcomeDesc)))}function yt(e){return n.createElement(it,{resource:e.resource,padding:!0,popupMenuItems:n.createElement(gt,Object.assign({},e))},n.createElement(Ye,{value:e.resource}))}function bt(e){if(e.lengthComputable){const t=100*e.loaded/e.total;return`Uploaded: ${Ct(e.loaded)} / ${Ct(e.total)} ${t.toFixed(2)}%`}return`Uploaded: ${Ct(e.loaded)}`}function Ct(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 Tt(e){let r;try{r=t.evalFhirPath(e.path,e.resource)}catch(e){return console.warn("FhirPathDisplay:",e),null}if(r.length>1)throw new Error(`Component "path" for "FhirPathDisplay" must resolve to a single element. Received ${r.length} elements [${JSON.stringify(r,null,2)}]`);return n.createElement(me,{value:r[0]||"",propertyType:e.propertyType})}const St={string:[t.Operator.EQUALS,t.Operator.NOT,t.Operator.CONTAINS,t.Operator.EXACT],fulltext:[t.Operator.EQUALS,t.Operator.NOT,t.Operator.CONTAINS,t.Operator.EXACT],token:[t.Operator.EQUALS,t.Operator.NOT],reference:[t.Operator.EQUALS,t.Operator.NOT],numeric:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS],quantity:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS],date:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS,t.Operator.STARTS_AFTER,t.Operator.ENDS_BEFORE,t.Operator.APPROXIMATELY],datetime:[t.Operator.EQUALS,t.Operator.NOT_EQUALS,t.Operator.GREATER_THAN,t.Operator.LESS_THAN,t.Operator.GREATER_THAN_OR_EQUALS,t.Operator.LESS_THAN_OR_EQUALS,t.Operator.STARTS_AFTER,t.Operator.ENDS_BEFORE,t.Operator.APPROXIMATELY]},xt={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"};function Ot(e,t){return Object.assign(Object.assign({},e),{filters:t,offset:0,name:void 0})}function kt(e,t){return Ot(e,(e.filters||[]).filter((e=>e.code!==t)))}function It(e,t,n,r,a){a&&(e=kt(e,t));const o=[];return e.filters&&o.push(...e.filters),o.push({code:t,operator:n,value:r||""}),Ot(e,o)}function jt(e,t){if(!e.filters)return e;const n=[...e.filters];return n.splice(t,1),Object.assign(Object.assign({},e),{filters:n,name:void 0})}function wt(e,t){return At(e,t,-1)}function Rt(e,t){return At(e,t,0)}function Pt(e,t){return At(e,t,1)}function At(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),$t(e,t,r,a)}function Dt(e,t){return Nt(e,t,-1)}function Vt(e,t){return Nt(e,t,0)}function Mt(e,t){return Nt(e,t,1)}function Nt(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),$t(e,t,r,a)}function Ft(e,t){const n=new Date;n.setMonth(0),n.setDate(1),n.setHours(0,0,0,0);return $t(e,t,n,new Date)}function $t(e,n,r,a){return e=Lt(e=kt(e,n),n,t.Operator.GREATER_THAN_OR_EQUALS,r),e=Lt(e,n,t.Operator.LESS_THAN_OR_EQUALS,a)}function Lt(e,t,n,r){return It(e,t,n,r.toISOString())}function zt(e,n,r=!0){return It(e,n,t.Operator.MISSING,r.toString())}function Bt(e,t){return e.offset===t?e:Object.assign(Object.assign({},e),{offset:t,name:void 0})}function qt(e,n){var r;return Bt(e,(n-1)*(null!==(r=e.count)&&void 0!==r?r:t.DEFAULT_SEARCH_COUNT))}function Ut(e,t,n){return t===_t(e)&&void 0!==n&&n===Gt(e)?e:Object.assign(Object.assign({},e),{sortRules:[{code:t,descending:!!n}],name:void 0})}function _t(e){const t=e.sortRules;if(!t||0===t.length)return;const n=t[0].code;return n.startsWith("-")?n.substr(1):n}function Gt(e){const t=e.sortRules;return!(!t||0===t.length)&&!!t[0].descending}function Qt(e){return St[e.type]}function Wt(e){var t;return null!==(t=xt[e])&&void 0!==t?t:""}function Ht(e){let n=e;return n.includes(".")&&(n=n.split(".").pop()),"id"===n?"ID":"versionId"===n?"Version ID":(n=n.replace("[x]",""),n=n.replace(/([A-Z])/g," $1"),n=n.replace(/[-_]/g," "),n=n.replace(/\s+/g," "),n=n.trim(),n.split(/\s/).map(t.capitalize).join(" "))}function Kt(e,r){var a,o;const l=r.name;return"id"===l?e.id:"meta.versionId"===l?null===(a=e.meta)||void 0===a?void 0:a.versionId:"_lastUpdated"===l?t.formatDateTime(null===(o=e.meta)||void 0===o?void 0:o.lastUpdated):r.elementDefinition&&`${e.resourceType}.${r.name}`===r.elementDefinition.path?function(e,t){var r,a,o;const l=(null===(o=null===(a=null===(r=t.path)||void 0===r?void 0:r.split("."))||void 0===a?void 0:a.pop())||void 0===o?void 0:o.replaceAll("[x]",""))||"",[i,c]=pe({type:e.resourceType,value:e},l);if(!i)return null;return n.createElement(me,{property:t,propertyType:c,value:i,maxWidth:200,ignoreMissingValues:!0,link:!1})}(e,r.elementDefinition):r.searchParams&&1===r.searchParams.length&&r.name===r.searchParams[0].code?function(e,r,a){const o=t.evalFhirPathTyped(r.expression,[{type:e.resourceType,value:e}]);if(!o||0===o.length)return null;if(a)return n.createElement(me,{propertyType:o[0].type,value:o[0].value,maxWidth:200,ignoreMissingValues:!0,link:!1});return n.createElement(n.Fragment,null,o.map(((e,t)=>n.createElement("span",{key:`${t}-${o.length}`},"object"==typeof e?JSON.stringify(e):e))))}(e,r.searchParams[0],r.elementDefinition):null}function Yt(e){var a;const[o,l]=n.useState({search:JSON.parse(t.stringify(e.search))}),i=n.useRef(null),c=n.useRef(null);function u(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=i.current)||void 0===t?void 0:t.value;if(r){const e=[...n,r];l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}function s(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=c.current)||void 0===t?void 0:t.value;if(r){const e=[...n];e.splice(e.indexOf(r),1),l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}function d(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}if(n.useEffect((()=>{l({search:e.search})}),[e.search]),!e.visible)return null;const m=e.search.resourceType,p=t.globalSchema.types[m],g=null!==(a=o.search.fields)&&void 0!==a?a:[],f=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(Ht(a));if(e.searchParams)for(const a of Object.keys(e.searchParams)){const e=Ht(a);n.has(a)||r.has(e)||(t.push(a),n.add(a),r.add(Ht(a)))}return t}(p).filter((e=>!(null==g?void 0:g.includes(e)))).sort();return n.createElement(r.Modal,{title:"Fields",closeButtonLabel:"Close",opened:e.visible,onClose:e.onCancel},n.createElement("div",null,n.createElement("table",{style:{margin:"auto"}},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",{colSpan:2,align:"center"},"Available"),n.createElement("th",{colSpan:2,align:"center"},"Selected"))),n.createElement("tbody",null,n.createElement("tr",null,n.createElement("td",{colSpan:2,align:"center"},n.createElement("select",{ref:i,size:15,tabIndex:1,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&u()}(e),onDoubleClick:()=>{u()},"data-testid":"available"},f.map((e=>n.createElement("option",{key:e,value:e},Ht(e)))))),n.createElement("td",{colSpan:2,align:"center"},n.createElement("select",{ref:c,size:15,tabIndex:4,style:{width:"200px"},onKeyDown:e=>function(e){"Enter"===e.key&&s()}(e),onDoubleClick:()=>{s()},"data-testid":"selected"},g.map((e=>n.createElement("option",{key:e,value:e},Ht(e)))))))),n.createElement("tfoot",null,n.createElement("tr",null,n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:u},"Add")),n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:s},"Remove")),n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:function(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=c.current)||void 0===t?void 0:t.value;if(r){const e=[...n],t=e.indexOf(r);d(e,t,t-1),l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}},"Up")),n.createElement("td",{align:"center"},n.createElement(r.Button,{compact:!0,variant:"outline",onClick:function(){var e,t;const n=null!==(e=o.search.fields)&&void 0!==e?e:[],r=null===(t=c.current)||void 0===t?void 0:t.value;if(r){const e=[...n],t=e.indexOf(r);d(e,t,t+1),l({search:Object.assign(Object.assign({},o.search),{fields:e})})}}},"Down")))))),n.createElement(r.Button,{onClick:()=>e.onOk(o.search)},"OK"))}function Jt(e){var r,a;const{resourceType:o,filter:l}=e,i=null===(a=null===(r=t.globalSchema.types[o])||void 0===r?void 0:r.searchParams)||void 0===a?void 0:a[l.code];if(i){if("reference"===i.type)return n.createElement(We,{value:{reference:l.value}});const e=t.getSearchParameterDetails(o,i);if("_lastUpdated"===l.code||e.type===t.SearchParameterType.DATETIME)return n.createElement(n.Fragment,null,t.formatDateTime(l.value))}return n.createElement(n.Fragment,null,l.value)}function Xt(e){var a;const o="filter-value";switch(t.getSearchParameterDetails(e.resourceType,e.searchParam).type){case t.SearchParameterType.REFERENCE:return n.createElement(Fe,{name:o,defaultValue:{reference:e.defaultValue},targetTypes:null===(a=e.searchParam)||void 0===a?void 0:a.target,onChange:t=>{t?e.onChange(t.reference):e.onChange("")}});case t.SearchParameterType.BOOLEAN:return n.createElement(r.Checkbox,{name:o,"data-testid":o,defaultChecked:"true"===e.defaultValue,onChange:t=>e.onChange(t.currentTarget.checked.toString())});case t.SearchParameterType.DATE:return n.createElement(r.TextInput,{type:"date",name:o,"data-testid":o,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case t.SearchParameterType.DATETIME:return n.createElement(Te,{name:o,defaultValue:e.defaultValue,onChange:e.onChange});case t.SearchParameterType.NUMBER:return n.createElement(r.TextInput,{type:"number",name:o,"data-testid":o,defaultValue:e.defaultValue,onChange:t=>e.onChange(t.currentTarget.value)});case t.SearchParameterType.QUANTITY:return n.createElement(we,{name:o,defaultValue:Zt(e.defaultValue),onChange:t=>{t?e.onChange(`${t.value}`):e.onChange("")}});default:return n.createElement(r.TextInput,{name:o,"data-testid":o,defaultValue:e.defaultValue,autoFocus:e.autoFocus,onChange:t=>e.onChange(t.currentTarget.value),placeholder:"Search value"})}}function Zt(e){if(e){const[t,n,r]=e.split("|");if(t)return{value:parseFloat(t),system:n,unit:r}}}function en(e){const[a,o]=n.useState(JSON.parse(t.stringify(e.search))),[l,i]=n.useState(-1),c=n.useRef(a);if(c.current=a,n.useEffect((()=>{o(JSON.parse(t.stringify(e.search)))}),[e.search]),!e.visible)return null;const u=e.search.resourceType,s=t.globalSchema.types[u].searchParams,d=a.filters||[];return n.createElement(r.Modal,{title:"Filters",closeButtonLabel:"Close",size:900,opened:e.visible,onClose:e.onCancel},n.createElement("div",null,n.createElement("table",null,n.createElement("colgroup",null,n.createElement("col",{style:{width:200}}),n.createElement("col",{style:{width:200}}),n.createElement("col",{style:{width:380}}),n.createElement("col",{style:{width:120}})),n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Field"),n.createElement("th",null,"Operation"),n.createElement("th",null,"Value"),n.createElement("th",null,"Actions"))),n.createElement("tbody",null,d.map(((e,t)=>t===l?n.createElement(nn,{key:`filter-${t}-${d.length}-input`,resourceType:u,searchParams:s,defaultValue:e,okText:"Save",onOk:e=>{const n=[...d];n[t]=e,o(Ot(c.current,n)),i(-1)},onCancel:()=>i(-1)}):n.createElement(tn,{key:`filter-${t}-${d.length}-display`,resourceType:u,searchParams:s,filter:e,onEdit:()=>i(t),onDelete:()=>o(jt(c.current,t))}))),n.createElement(nn,{resourceType:u,searchParams:s,okText:"Add",onOk:function(e){o(It(c.current,e.code,e.operator,e.value))}})))),n.createElement(r.Group,{position:"right",mt:"xl"},n.createElement(r.Button,{onClick:()=>e.onOk(c.current)},"OK")))}function tn(e){const{filter:t}=e;return n.createElement("tr",null,n.createElement("td",null,Ht(t.code)),n.createElement("td",null,Wt(t.operator)),n.createElement("td",null,n.createElement(Jt,{resourceType:e.resourceType,filter:t})),n.createElement("td",null,n.createElement(r.Button,{compact:!0,variant:"outline",onClick:e.onEdit},"Edit"),n.createElement(r.Button,{compact:!0,variant:"outline",onClick:e.onDelete},"Delete")))}function nn(e){var t;const[a,o]=n.useState(null!==(t=e.defaultValue)&&void 0!==t?t:{}),l=n.useRef(a);l.current=a;const i=e.searchParams[a.code],c=i&&Qt(i);return n.createElement("tr",null,n.createElement("td",null,n.createElement(r.NativeSelect,{"data-testid":"filter-field",defaultValue:l.current.code,onChange:e=>{return t=e.currentTarget.value,void o(Object.assign(Object.assign({},l.current),{code:t}));var t},data:Object.keys(e.searchParams).map((e=>({value:e,label:Ht(e)})))})),n.createElement("td",null,c&&n.createElement(r.NativeSelect,{"data-testid":"filter-operation",defaultValue:a.operator,onChange:e=>{return t=e.currentTarget.value,void o(Object.assign(Object.assign({},l.current),{operator:t}));var t},data:["",...c.map((e=>({value:e,label:Wt(e)})))]})),n.createElement("td",null,i&&a.operator&&n.createElement(Xt,{resourceType:e.resourceType,searchParam:i,defaultValue:a.value,onChange:function(e){o(Object.assign(Object.assign({},l.current),{value:e}))}})),n.createElement("td",null,a.code&&a.operator&&a.value&&n.createElement(r.Button,{compact:!0,variant:"outline",onClick:()=>{e.onOk(l.current),o({})}},e.okText),e.onCancel&&n.createElement(r.Button,{compact:!0,variant:"outline",onClick:e.onCancel},"Cancel")))}function rn(e){var t;const[a,o]=n.useState(null!==(t=e.defaultValue)&&void 0!==t?t:"");if(!e.visible||!e.searchParam||!e.filter)return null;function l(){e.onOk(Object.assign(Object.assign({},e.filter),{value:a}))}return n.createElement(r.Modal,{title:e.title,size:"xl",opened:e.visible,onClose:e.onCancel},n.createElement("div",{style:{width:500}},n.createElement(w,{onSubmit:l},n.createElement(Xt,{resourceType:e.resourceType,searchParam:e.searchParam,defaultValue:a,autoFocus:!0,onChange:o}))),n.createElement(r.Button,{onClick:l},"OK"))}function an(e){if(!e.searchParams)return null;function t(t){e.onChange(t)}return 1===e.searchParams.length?n.createElement(on,{search:e.search,searchParam:e.searchParams[0],onSort:function(n,r){t(Ut(e.search,n.code,r))},onPrompt:function(t,n){e.onPrompt(t,{code:t.code,operator:n,value:""})},onChange:t,onClear:function(n){t(kt(e.search,n.code))}}):n.createElement(r.Menu.Dropdown,null,e.searchParams.map((e=>n.createElement(r.Menu.Item,{key:e.code},Ht(e.code)))))}function on(e){switch(e.searchParam.type){case"date":return n.createElement(ln,Object.assign({},e));case"number":case"quantity":return n.createElement(cn,Object.assign({},e));case"reference":return n.createElement(un,Object.assign({},e));case"string":case"token":case"uri":return n.createElement(sn,Object.assign({},e));default:return n.createElement(n.Fragment,null,"Unknown search param type: ",e.searchParam.type)}}function ln(e){const{searchParam:o}=e,l=o.code;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortAscending,{size:14}),onClick:()=>e.onSort(o,!1)},"Sort Oldest to Newest"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortDescending,{size:14}),onClick:()=>e.onSort(o,!0)},"Sort Newest to Oldest"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT_EQUALS)},"Does not equal..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathLower,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.ENDS_BEFORE)},"Before..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathGreater,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.STARTS_AFTER)},"After..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBracketsContain,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Between..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Pt(e.search,l))},"Tomorrow"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Rt(e.search,l))},"Today"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(wt(e.search,l))},"Yesterday"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Mt(e.search,l))},"Next Month"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Vt(e.search,l))},"This Month"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Dt(e.search,l))},"Last Month"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconCalendar,{size:14}),onClick:()=>e.onChange(Ft(e.search,l))},"Year to date"),n.createElement(dn,Object.assign({},e)))}function cn(e){const{searchParam:o}=e;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortAscending,{size:14}),onClick:()=>e.onSort(o,!1)},"Sort Smallest to Largest"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortDescending,{size:14}),onClick:()=>e.onSort(o,!0)},"Sort Largest to Smallest"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT_EQUALS)},"Does not equal..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathGreater,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.GREATER_THAN)},"Greater than..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSettings,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.GREATER_THAN_OR_EQUALS)},"Greater than or equal to..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconMathLower,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.LESS_THAN)},"Less than..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSettings,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.LESS_THAN_OR_EQUALS)},"Less than or equal to..."),n.createElement(dn,Object.assign({},e)))}function un(e){const{searchParam:o}=e;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT)},"Does not equal..."),n.createElement(dn,Object.assign({},e)))}function sn(e){const{searchParam:o}=e;return n.createElement(r.Menu.Dropdown,null,n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortAscending,{size:14}),onClick:()=>e.onSort(o,!1)},"Sort A to Z"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconSortDescending,{size:14}),onClick:()=>e.onSort(o,!0)},"Sort Z to A"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqual,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Equals..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconEqualNot,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.NOT)},"Does not equal..."),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBucket,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.CONTAINS)},"Contains..."),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBucketOff,{size:14}),onClick:()=>e.onPrompt(o,t.Operator.EQUALS)},"Does not contain..."),n.createElement(dn,Object.assign({},e)))}function dn(e){const{searchParam:t}=e,o=t.code;return n.createElement(n.Fragment,null,n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBleach,{size:14}),onClick:()=>e.onChange(zt(e.search,o))},"Missing"),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconBleachOff,{size:14}),onClick:()=>e.onChange(zt(e.search,o,!1))},"Not missing"),n.createElement(r.Menu.Divider,null),n.createElement(r.Menu.Item,{icon:n.createElement(a.IconX,{size:14}),onClick:()=>e.onClear(t)},"Clear filters"))}function mn(e,n){var r;if("_lastUpdated"===n)return{name:"_lastUpdated",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_lastUpdated",name:"_lastUpdated",type:"date",expression:"Resource.meta.lastUpdated"}]};if("meta.versionId"===n)return{name:"meta.versionId",searchParams:[{resourceType:"SearchParameter",base:["Resource"],code:"_versionId",name:"_versionId",type:"token",expression:"Resource.meta.versionId"}]};const a=t.globalSchema.types[e],o=a.properties[n],l=null===(r=a.searchParams)||void 0===r?void 0:r[n.toLowerCase()];if(o&&l)return{name:n,elementDefinition:o,searchParams:[l]};if(o){let t;if(a.searchParams){const r=`${e}.${n.replaceAll("[x]","")}`;t=Object.values(a.searchParams).filter((e=>{var t;return null===(t=e.expression)||void 0===t?void 0:t.includes(r)})),0===t.length&&(t=void 0)}return{name:n,elementDefinition:o,searchParams:t}}if(l){return{name:n,elementDefinition:t.getSearchParameterDetails(e,l).elementDefinition,searchParams:[l]}}return{name:n}}class pn extends Event{constructor(e){super("change"),this.definition=e}}class gn extends Event{constructor(e){super("load"),this.response=e}}class fn extends Event{constructor(e,t){super("click"),this.resource=e,this.browserEvent=t}}const vn=r.createStyles((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}px ${e.spacing.md}px`,"&:hover":{backgroundColor:"dark"===e.colorScheme?e.colors.dark[6]:e.colors.gray[0]}},icon:{width:21,height:21,borderRadius:21}})));function hn(e){var o,l,i;const{classes:c}=vn(),u=f(),[s,d]=n.useState(!1),[m,p]=n.useState(),{search:g,onLoad:v}=e,[y,b]=n.useState({selected:{},fieldEditorVisible:!1,filterEditorVisible:!1,filterDialogVisible:!1}),C=n.useRef(y);function T(t){e.onChange&&e.onChange(new pn(t))}function S(t,n){E(t.target)||2!==t.button&&(h(t),1!==t.button&&e.onClick&&e.onClick(new fn(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new fn(n,t)))}C.current=y,n.useEffect((()=>{p(void 0),u.search(g.resourceType,t.formatSearchQuery(Object.assign(Object.assign({},g),{total:"accurate",fields:void 0}))).then((e=>{b(Object.assign(Object.assign({},C.current),{searchResponse:e})),v&&v(new gn(e))})).catch((e=>{b(Object.assign(Object.assign({},C.current),{searchResponse:void 0})),p(e)}))}),[u,g,v]),n.useEffect((()=>{d(!1),u.requestSchema(e.search.resourceType).then((()=>d(!0))).catch(console.log)}),[u,e.search.resourceType]);if(!(s&&(null===(o=null===t.globalSchema||void 0===t.globalSchema?void 0:t.globalSchema.types)||void 0===o?void 0:o[e.search.resourceType])))return n.createElement(r.Center,{style:{width:"100%",height:"100%"}},n.createElement(r.Loader,null));const x=e.checkboxesEnabled,O=function(e){const t=e.resourceType,n=[];for(const r of e.fields||["id","_lastUpdated"])n.push(mn(t,r));return n}(g),k=g.resourceType,I=y.searchResponse,j=null==I?void 0:I.entry,w=null==j?void 0:j.map((e=>e.resource)),R="subtle",P="gray",A=16,D=window.innerWidth<768;return n.createElement("div",{className:c.root,"data-testid":"search-control"},!e.hideToolbar&&n.createElement(r.Group,{position:"apart",mb:"xl"},n.createElement(r.Group,{spacing:2},n.createElement(r.Button,{compact:!0,variant:R,color:P,leftIcon:n.createElement(a.IconFilter,{size:A}),onClick:()=>b(Object.assign(Object.assign({},C.current),{fieldEditorVisible:!0}))},"Fields"),n.createElement(r.Button,{compact:!0,variant:R,color:P,leftIcon:n.createElement(a.IconColumns,{size:A}),onClick:()=>b(Object.assign(Object.assign({},C.current),{filterEditorVisible:!0}))},"Filters"),e.onNew&&n.createElement(r.Button,{compact:!0,variant:R,color:P,leftIcon:n.createElement(a.IconFilePlus,{size:A}),onClick:e.onNew},"New..."),!D&&e.onExport&&n.createElement(r.Button,{compact:!0,variant:R,color:P,leftIcon:n.createElement(a.IconTableExport,{size:A}),onClick:e.onExport},"Export..."),!D&&e.onDelete&&n.createElement(r.Button,{compact:!0,variant:R,color:P,leftIcon:n.createElement(a.IconTrash,{size:A}),onClick:()=>e.onDelete(Object.keys(y.selected))},"Delete..."),!D&&e.onBulk&&n.createElement(r.Button,{compact:!0,variant:R,color:P,leftIcon:n.createElement(a.IconBoxMultiple,{size:A}),onClick:()=>e.onBulk(Object.keys(y.selected))},"Bulk...")),I&&n.createElement(r.Text,{size:"xs",color:"dimmed"},function(e,t){var n;return Math.min(t,(null!==(n=e.offset)&&void 0!==n?n:0)+1)}(g,I.total),"-",function(e,n){var r,a;return Math.min(n,((null!==(r=e.offset)&&void 0!==r?r:0)+1)*(null!==(a=e.count)&&void 0!==a?a:t.DEFAULT_SEARCH_COUNT))}(g,I.total)," of"," ",null===(l=I.total)||void 0===l?void 0:l.toLocaleString())),n.createElement(r.Table,{className:c.table},n.createElement("thead",null,n.createElement("tr",null,x&&n.createElement("th",null,n.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){var e,t;const n=C.current;if(!(null===(e=n.searchResponse)||void 0===e?void 0:e.entry)||0===n.searchResponse.entry.length)return!1;for(const e of n.searchResponse.entry)if((null===(t=e.resource)||void 0===t?void 0:t.id)&&!n.selected[e.resource.id])return!1;return!0}(),onChange:e=>function(e){var t;e.stopPropagation();const n=e.target.checked,r={},a=null===(t=C.current)||void 0===t?void 0:t.searchResponse;n&&(null==a?void 0:a.entry)&&a.entry.forEach((e=>{var t;(null===(t=e.resource)||void 0===t?void 0:t.id)&&(r[e.resource.id]=!0)})),b(Object.assign(Object.assign({},C.current),{selected:r}))}(e)})),O.map((t=>n.createElement("th",{key:t.name},n.createElement(r.Menu,{shadow:"md",width:240,position:"bottom-end"},n.createElement(r.Menu.Target,null,n.createElement(r.UnstyledButton,{className:c.control},n.createElement(r.Group,{position:"apart",noWrap:!0},n.createElement(r.Text,{weight:500,size:"sm"},Ht(t.name)),n.createElement(r.Center,{className:c.icon},n.createElement(a.IconAdjustmentsHorizontal,{size:14,stroke:1.5}))))),n.createElement(an,{search:e.search,searchParams:t.searchParams,onPrompt:(e,t)=>{b(Object.assign(Object.assign({},C.current),{filterDialogVisible:!0,filterDialogSearchParam:e,filterDialogFilter:t}))},onChange:e=>{T(e)}})))))),!e.hideFilters&&n.createElement("tr",null,x&&n.createElement("th",null),O.map((t=>n.createElement("th",{key:t.name},t.searchParams&&n.createElement(yn,{resourceType:k,searchParams:t.searchParams,filters:e.search.filters})))))),n.createElement("tbody",null,null==w?void 0:w.map((e=>e&&n.createElement("tr",{key:e.id,className:c.tr,"data-testid":"search-control-row",onClick:t=>S(t,e),onAuxClick:t=>S(t,e)},x&&n.createElement("td",null,n.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!y.selected[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r=Object.assign({},C.current.selected);n?r[t]=!0:delete r[t],b(Object.assign(Object.assign({},C.current),{selected:r}))}(t,e.id)})),O.map((t=>n.createElement("td",{key:t.name},Kt(e,t))))))))),0===(null==w?void 0:w.length)&&n.createElement(r.Container,null,n.createElement(r.Center,null,n.createElement(r.Text,{size:"xl",color:"dimmed"},"No results"))),void 0!==(null==I?void 0:I.total)&&I.total>0&&n.createElement(r.Center,{m:"md",p:"md"},n.createElement(r.Pagination,{page:bn(g),total:Cn(g,I.total),onChange:e=>T(qt(g,e)),getItemAriaLabel:e=>{switch(e){case"prev":return"Previous page";case"next":return"Next page";default:return}}})),m&&n.createElement("div",{"data-testid":"search-error"},n.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(m,void 0,2))),n.createElement(Yt,{search:e.search,visible:C.current.fieldEditorVisible,onOk:e=>{T(e),b(Object.assign(Object.assign({},C.current),{fieldEditorVisible:!1}))},onCancel:()=>{b(Object.assign(Object.assign({},C.current),{fieldEditorVisible:!1}))}}),n.createElement(en,{search:e.search,visible:C.current.filterEditorVisible,onOk:e=>{T(e),b(Object.assign(Object.assign({},C.current),{filterEditorVisible:!1}))},onCancel:()=>{b(Object.assign(Object.assign({},C.current),{filterEditorVisible:!1}))}}),n.createElement(rn,{key:null===(i=y.filterDialogSearchParam)||void 0===i?void 0:i.code,visible:C.current.filterDialogVisible,title:"Input",resourceType:k,searchParam:y.filterDialogSearchParam,filter:y.filterDialogFilter,defaultValue:"",onOk:t=>{T(It(e.search,t.code,t.operator,t.value)),b(Object.assign(Object.assign({},C.current),{filterDialogVisible:!1}))},onCancel:()=>{b(Object.assign(Object.assign({},C.current),{filterDialogVisible:!1}))}}))}const En=n.memo(hn);function yn(e){var t;const r=(null!==(t=e.filters)&&void 0!==t?t:[]).filter((t=>e.searchParams.find((e=>e.code===t.code))));return 0===r.length?n.createElement("span",null,"no filters"):n.createElement(n.Fragment,null,r.map(((t,a)=>n.createElement("div",{key:`filter-${a}-${r.length}`},Wt(t.operator)," ",n.createElement(Jt,{resourceType:e.resourceType,filter:t})))))}function bn(e){return Math.floor((e.offset||0)/(e.count||t.DEFAULT_SEARCH_COUNT))+1}function Cn(e,n){const r=e.count||t.DEFAULT_SEARCH_COUNT;return Math.ceil(n/r)}function Tn(e){var t,a,o,l,i;const c=f(),[u,s]=n.useState(),[d,m]=n.useState(),{query:p,fields:g}=e,[v,y]=n.useState(),[b,C]=n.useState({}),T=n.useRef();T.current=v;const S=n.useRef({});function x(t,n){E(t.target)||(h(t),1!==t.button&&e.onClick&&e.onClick(new fn(n,t)),1===t.button&&e.onAuxClick&&e.onAuxClick(new fn(n,t)))}S.current=b,n.useEffect((()=>{m(void 0),c.graphql(p).then(y).catch(m)}),[c,p]),n.useEffect((()=>{c.requestSchema(e.resourceType).then((e=>{s(Object.assign({},e))})).catch(console.log)}),[c,e.resourceType]);if(!(null===(t=null==u?void 0:u.types)||void 0===t?void 0:t[e.resourceType]))return n.createElement(r.Loader,null);const O=e.checkboxesEnabled;return n.createElement("div",{onContextMenu:e=>h(e),"data-testid":"search-control"},n.createElement(r.Table,null,n.createElement("thead",null,n.createElement("tr",null,O&&n.createElement("th",null,n.createElement("input",{type:"checkbox",value:"checked","aria-label":"all-checkbox","data-testid":"all-checkbox",checked:function(){var e,t;const n=null===(t=null===(e=T.current)||void 0===e?void 0:e.data)||void 0===t?void 0:t.ResourceList;if(!n||0===n.length)return!1;for(const e of n)if((null==e?void 0:e.id)&&!S.current[e.id])return!1;return!0}(),onChange:e=>function(e){var t,n;e.stopPropagation();const r=e.target.checked,a={},o=null===(n=null===(t=T.current)||void 0===t?void 0:t.data)||void 0===n?void 0:n.ResourceList;r&&o&&o.forEach((e=>{(null==e?void 0:e.id)&&(a[e.id]=!0)})),C(a)}(e)})),g.map((e=>n.createElement("th",{key:e.name},e.name))))),n.createElement("tbody",null,null===(o=null===(a=null==v?void 0:v.data)||void 0===a?void 0:a.ResourceList)||void 0===o?void 0:o.map((e=>e&&n.createElement("tr",{key:e.id,"data-testid":"search-control-row",onClick:t=>x(t,e),onAuxClick:t=>x(t,e)},O&&n.createElement("td",null,n.createElement("input",{type:"checkbox",value:"checked","data-testid":"row-checkbox","aria-label":`Checkbox for ${e.id}`,checked:!!b[e.id],onChange:t=>function(e,t){e.stopPropagation();const n=e.target.checked,r=Object.assign({},S.current);n?r[t]=!0:delete r[t],C(r)}(t,e.id)})),g.map((t=>n.createElement("td",{key:t.name},n.createElement(Tt,{propertyType:t.propertyType,path:t.fhirPath,resource:e}))))))))),0===(null===(i=null===(l=null==v?void 0:v.data)||void 0===l?void 0:l.ResourceList)||void 0===i?void 0:i.length)&&n.createElement("div",{"data-testid":"empty-search"},"No results"),d&&n.createElement("div",{"data-testid":"search-error"},n.createElement("pre",{style:{textAlign:"left"}},JSON.stringify(d,void 0,2))),e.onBulk&&n.createElement(r.Button,{onClick:()=>e.onBulk(Object.keys(S.current))},"Bulk..."))}const Sn=n.memo(Tn),xn=["$/_history","Communication?subject=$","Device?patient=$","DeviceRequest?patient=$","DiagnosticReport?subject=$","Media?subject=$","ServiceRequest?subject=$"];const On=r.createStyles((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 kn(e){const{classes:t}=On(),r=n.useRef();function a(t){e.onChange(r.current.map((e=>e.id===t.id?t:e)))}return r.current=e.actions,n.createElement("div",{className:t.section},e.actions.map((t=>n.createElement("div",{key:t.id},n.createElement(In,{action:t,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:a,onRemove:()=>{return n=t,void e.onChange(r.current.filter((e=>e!==n)));var n}})))),n.createElement("div",{className:t.bottomActions},n.createElement("a",{href:"#",onClick:t=>{var n;h(t),n={id:Mn()},e.onChange([...r.current,n]),e.setSelectedKey(n.id)}},"Add action")))}function In(e){const{classes:t,cx:r}=On(),{action:a}=e,o=function(e){var t,n,r;if(null===(t=e.definitionCanonical)||void 0===t?void 0:t.startsWith("Schedule"))return"appointment";if(null===(n=e.definitionCanonical)||void 0===n?void 0:n.startsWith("Questionnaire/"))return"questionnaire";if(null===(r=e.definitionCanonical)||void 0===r?void 0:r.startsWith("ActivityDefinition/"))return"task";return}(a),l=e.selectedKey===e.action.id,i=e.hoverKey===e.action.id;const c=r(t.section,{[t.editing]:l,[t.hovering]:i&&!l});return n.createElement("div",{"data-testid":a.id,className:c,onClick:function(t){t.stopPropagation(),e.setSelectedKey(e.action.id)},onMouseOver:function(t){h(t),e.setHoverKey(e.action.id)}},l?n.createElement(Rn,{action:a,actionType:o,onChange:e.onChange,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onRemove:e.onRemove}):n.createElement(wn,{action:a,actionType:o}),n.createElement("div",{className:t.bottomActions},n.createElement("a",{href:"#",onClick:t=>{t.preventDefault(),e.onRemove()}},"Remove")))}const jn={path:"PlanDefinition.action.timing[x]",min:0,max:"1",type:[{code:"dateTime"},{code:"Period"},{code:"Range"},{code:"Timing"}]};function wn(e){const{action:t,actionType:r}=e,[a,o]=Dn(t);return n.createElement("div",null,n.createElement("div",null,t.title||"Untitled"," ",r&&`(${r})`),t.definitionCanonical&&n.createElement("div",null,n.createElement(se,{value:{reference:t.definitionCanonical}})),a&&n.createElement("div",null,n.createElement(me,{property:jn,propertyType:o,value:a})))}function Rn(e){const{action:t}=e,[a,o]=n.useState(e.actionType);function l(n,r){e.onChange(Object.assign(Object.assign({},t),{[n]:r}))}return n.createElement(r.Stack,{spacing:"xl"},n.createElement(r.TextInput,{name:`actionTitle-${t.id}`,label:"Title",defaultValue:t.title,onChange:e=>l("title",e.currentTarget.value)}),n.createElement(r.TextInput,{name:`actionDescription-${t.id}`,label:"Description",defaultValue:t.description,onChange:e=>l("description",e.currentTarget.value)}),n.createElement(r.NativeSelect,{label:"Type of Action",description:"The type of the action to be performed.",name:`actionType-${t.id}`,defaultValue:a,onChange:e=>o(e.currentTarget.value),data:["","appointment","lab","questionnaire","task"]}),t.action&&t.action.length>0&&n.createElement(kn,{actions:t.action,selectedKey:e.selectedKey,setSelectedKey:e.setSelectedKey,hoverKey:e.hoverKey,setHoverKey:e.setHoverKey,onChange:e=>l("action",e)}),(()=>{switch(a){case"appointment":return n.createElement(Pn,{title:"Appointment",description:"The subject must schedule an appointment from the schedule.",resourceType:"Schedule",action:t,onChange:e.onChange});case"lab":return n.createElement(Pn,{title:"Lab",description:"The subject must complete the following lab panel.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});case"questionnaire":return n.createElement(Pn,{title:"Questionnaire",description:"The subject must complete the selected questionnaire.",resourceType:"Questionnaire",action:t,onChange:e.onChange});case"task":return n.createElement(Pn,{title:"Task",description:"The subject must complete the following task.",resourceType:"ActivityDefinition",action:t,onChange:e.onChange});default:return null}})(),n.createElement(Q,{title:"Timing",description:"When the action should take place."},n.createElement(An,{name:"timing-"+t.id,action:t,onChange:e.onChange})))}function Pn(e){const{id:r,definitionCanonical:a}=e.action,o=(null==a?void 0:a.startsWith(e.resourceType+"/"))?{reference:a}:void 0;return n.createElement(Me,{name:r,resourceType:e.resourceType,defaultValue:o,loadOnFocus:!0,onChange:n=>{n?e.onChange(Object.assign(Object.assign({},e.action),{definitionCanonical:t.getReferenceString(n)})):e.onChange(Object.assign(Object.assign({},e.action),{definitionCanonical:void 0}))}})}function An(e){const t=e.action,r="timing",[a,o]=Dn(t);return n.createElement(qe,{property:jn,name:"timing[x]",defaultValue:a,defaultPropertyType:o,onChange:(n,a)=>{e.onChange(K(t,r,null!=a?a:r,jn,n))}})}function Dn(e){return pe({type:"PlanDefinitionAction",value:e},"timing")}let Vn=1;function Mn(e){if(e){if(e.startsWith("id-")){const t=parseInt(e.substring(3));isNaN(t)||(Vn=Math.max(Vn,t+1))}return e}return"id-"+Vn++}function Nn(e){if(e)return e.map((e=>Object.assign(Object.assign({},e),{id:Mn(e.id),action:Nn(e.action)})))}var Fn;function $n(e){return"choice"===e.type||"open-choice"===e.type}function Ln(e){const a=f(),o=a.getProfile(),[l,i]=n.useState(),c=H(e.questionnaire),[u,s]=n.useState(),[d,m]=n.useState({});return n.useEffect((()=>{a.requestSchema("Questionnaire").then((()=>a.requestSchema("QuestionnaireResponse"))).then(i).catch(console.log)}),[a]),n.useEffect((()=>{s(c?function(e){return{resourceType:"QuestionnaireResponse",questionnaire:t.getReferenceString(e),item:Gn(e.item)}}(c):void 0)}),[c]),l&&c?n.createElement(w,{testid:"questionnaire-form",onSubmit:()=>{e.onSubmit&&u&&e.onSubmit(Object.assign(Object.assign({},u),{questionnaire:t.getReferenceString(c),subject:e.subject,source:t.createReference(o),authored:(new Date).toISOString()}))}},c.title&&n.createElement(r.Title,null,c.title),c.item&&n.createElement(zn,{items:c.item,answers:d,onChange:function(e){const n={resourceType:"QuestionnaireResponse",item:e};s(n),m(t.getQuestionnaireAnswers(n))}}),n.createElement(r.Group,{position:"right",mt:"xl"},n.createElement(r.Button,{type:"submit"},e.submitButtonText||"OK"))):null}function zn(t){const[a,o]=n.useState(Gn(t.items));function l(e,n){const r=a.slice();r[e]=n,o(r),t.onChange(r)}return n.createElement(r.Stack,null,t.items.map(((a,o)=>{if(!Hn(a,t.answers))return null;if(a.type===e.QuestionnaireItemType.display)return n.createElement("p",{key:a.linkId},a.text);if(a.type===e.QuestionnaireItemType.group)return n.createElement(Bn,{key:a.linkId,item:a,answers:t.answers,onChange:e=>l(o,e)});if(a.type===e.QuestionnaireItemType.boolean){const e=a.initial&&a.initial.length>0?a.initial[0]:void 0;return n.createElement(_,{key:a.linkId,title:a.text,htmlFor:a.linkId},n.createElement(r.Checkbox,{id:a.linkId,name:a.linkId,defaultChecked:null==e?void 0:e.valueBoolean,onChange:e=>l(o,{linkId:a.linkId,text:a.text,answer:[{valueBoolean:e.currentTarget.checked}]})}))}return n.createElement(Q,{key:a.linkId,htmlFor:a.linkId,title:a.text||""},n.createElement(Bn,{item:a,answers:t.answers,onChange:e=>l(o,e)}))})))}function Bn(t){const a=t.item,o=a.type;if(!o)return null;const l=a.linkId;if(!l)return null;const i=a.initial&&a.initial.length>0?a.initial[0]:void 0;function c(e){t.onChange({linkId:a.linkId,text:a.text,answer:[e]})}switch(o){case e.QuestionnaireItemType.group:return n.createElement("div",null,n.createElement("h3",null,a.text),a.item&&n.createElement(zn,{items:a.item,answers:t.answers,onChange:function(e){t.onChange({linkId:a.linkId,text:a.text,item:e})}}));case e.QuestionnaireItemType.boolean:return n.createElement(r.Checkbox,{id:l,name:l,defaultChecked:null==i?void 0:i.valueBoolean,onChange:e=>c({valueBoolean:e.currentTarget.checked})});case e.QuestionnaireItemType.decimal:return n.createElement(r.TextInput,{type:"number",step:"any",id:l,name:l,defaultValue:null==i?void 0:i.valueDecimal,onChange:e=>c({valueDecimal:e.currentTarget.valueAsNumber})});case e.QuestionnaireItemType.integer:return n.createElement(r.TextInput,{type:"number",step:1,id:l,name:l,defaultValue:null==i?void 0:i.valueInteger,onChange:e=>c({valueInteger:e.currentTarget.valueAsNumber})});case e.QuestionnaireItemType.date:return n.createElement(r.TextInput,{type:"date",id:l,name:l,defaultValue:null==i?void 0:i.valueDate,onChange:e=>c({valueDate:e.currentTarget.value})});case e.QuestionnaireItemType.dateTime:return n.createElement(Te,{name:l,defaultValue:null==i?void 0:i.valueDateTime,onChange:e=>c({valueDateTime:e})});case e.QuestionnaireItemType.time:return n.createElement(r.TextInput,{type:"time",id:l,name:l,defaultValue:null==i?void 0:i.valueTime,onChange:e=>c({valueTime:e.currentTarget.value})});case e.QuestionnaireItemType.string:case e.QuestionnaireItemType.url:return n.createElement(r.TextInput,{id:l,name:l,defaultValue:null==i?void 0:i.valueString,onChange:e=>c({valueString:e.currentTarget.value})});case e.QuestionnaireItemType.text:return n.createElement(r.Textarea,{id:l,name:l,defaultValue:null==i?void 0:i.valueString,onChange:e=>c({valueString:e.currentTarget.value})});case e.QuestionnaireItemType.attachment:return n.createElement(T,{name:l,defaultValue:null==i?void 0:i.valueAttachment,onChange:e=>c({valueAttachment:e})});case e.QuestionnaireItemType.reference:return n.createElement(Fe,{name:l,defaultValue:null==i?void 0:i.valueReference,onChange:e=>c({valueReference:e})});case e.QuestionnaireItemType.quantity:return n.createElement(we,{name:l,defaultValue:null==i?void 0:i.valueQuantity,onChange:e=>c({valueQuantity:e})});case e.QuestionnaireItemType.choice:case e.QuestionnaireItemType.openChoice:return function(e){var t;return!!(null===(t=e.extension)||void 0===t?void 0:t.some((e=>{var t,n,r;return"http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"===e.url&&"drop-down"===(null===(r=null===(n=null===(t=e.valueCodeableConcept)||void 0===t?void 0:t.coding)||void 0===n?void 0:n[0])||void 0===r?void 0:r.code)})))}(a)?n.createElement(qn,{name:l,item:a,initial:i,onChangeAnswer:c}):n.createElement(_n,{name:l,item:a,initial:i,onChangeAnswer:c})}return null}function qn(e){const{name:a,item:o,initial:l}=e,i=t.getTypedPropertyValue({type:"QuestionnaireItemInitial",value:l},"value"),c=[""];if(o.answerOption)for(const e of o.answerOption){const n=t.getTypedPropertyValue({type:"QuestionnaireItemAnswerOption",value:e},"value");c.push(Un(n))}return n.createElement(r.NativeSelect,{id:a,name:a,onChange:n=>{const r=n.currentTarget.selectedIndex;if(0===r)return void e.onChangeAnswer({});const a=o.answerOption[r-1],l=t.getTypedPropertyValue({type:"QuestionnaireItemAnswerOption",value:a},"value"),i="value"+t.capitalize(l.type);e.onChangeAnswer({[i]:l.value})},defaultValue:Un(i),data:c})}function Un(e){if(e)return"CodeableConcept"===e.type?e.value.coding[0].display:"Coding"===e.type?e.value.display:e.value.toString()}function _n(e){const{name:a,item:o,initial:l,onChangeAnswer:i}=e,c=t.globalSchema.types.QuestionnaireItemAnswerOption.properties["value[x]"],u=t.getTypedPropertyValue({type:"QuestionnaireItemInitial",value:l},"value"),s=[];let d;if(o.answerOption)for(let e=0;e<o.answerOption.length;e++){const n=o.answerOption[e],r=`${a}-option-${e}`,l=t.getTypedPropertyValue({type:"QuestionnaireItemAnswerOption",value:n},"value");u&&t.stringify(l)===t.stringify(u)&&(d=r),s.push([r,l])}return n.createElement(r.Radio.Group,{name:a,orientation:"vertical",defaultValue:d,onChange:e=>{const n=s.find((t=>t[0]===e));if(n){const e=n[1],r="value"+t.capitalize(e.type);i({[r]:e.value})}}},s.map((([e,t])=>n.createElement(r.Radio,{key:e,id:e,value:e,label:n.createElement(me,{property:c,propertyType:t.type,value:t.value})}))))}function Gn(e){var t;return null!==(t=null==e?void 0:e.map(Qn))&&void 0!==t?t:[]}function Qn(e){var t,n;return{linkId:e.linkId,text:e.text,item:Gn(e.item),answer:null!==(n=null===(t=e.initial)||void 0===t?void 0:t.map(Wn))&&void 0!==n?n:[]}}function Wn(e){return Object.assign({},e)}function Hn(e,n){if(!e.enableWhen)return!0;const r=e.enableBehavior||"any";for(const a of e.enableWhen){const e=t.getTypedPropertyValue({type:"QuestionnaireItemEnableWhen",value:a},"answer[x]"),o=t.getTypedPropertyValue({type:"QuestionnaireResponseItemAnswer",value:n[a.question]},"value[x]"),l=t.deepEquals(e,o);if("any"===r&&l)return!0;if("all"===r&&!l)return!1}return"any"!==r}e.QuestionnaireItemType=void 0,(Fn=e.QuestionnaireItemType||(e.QuestionnaireItemType={})).group="group",Fn.display="display",Fn.question="question",Fn.boolean="boolean",Fn.decimal="decimal",Fn.integer="integer",Fn.date="date",Fn.dateTime="dateTime",Fn.time="time",Fn.string="string",Fn.text="text",Fn.url="url",Fn.choice="choice",Fn.openChoice="open-choice",Fn.attachment="attachment",Fn.reference="reference",Fn.quantity="quantity";const Kn=r.createStyles((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 Yn(t){var a;const{classes:o,cx:l}=Kn(),i=t.item,c=t.item,u="resourceType"in t.item,s=u||c.type===e.QuestionnaireItemType.group,d=null!==(a=c.linkId)&&void 0!==a?a:"[untitled]",m=t.selectedKey===t.item.id,p=t.hoverKey===t.item.id,g=n.useRef();function f(e){var n;const r=g.current;t.onChange(Object.assign(Object.assign({},r),{item:null===(n=r.item)||void 0===n?void 0:n.map((t=>t.id===e.id?e:t))}))}function v(e){var n,r;t.onChange(Object.assign(Object.assign({},t.item),{item:[...null!==(r=null===(n=t.item)||void 0===n?void 0:n.item)&&void 0!==r?r:[],e]}))}function E(e,n){t.onChange(Object.assign(Object.assign({},g.current),{[e]:n}))}g.current=t.item;const y=l(o.section,{[o.editing]:m,[o.hovering]:p&&!m});return n.createElement("div",{"data-testid":c.linkId,className:y,onClick:function(e){h(e),t.setSelectedKey(t.item.id)},onMouseOver:function(e){h(e),t.setHoverKey(t.item.id)}},n.createElement("div",{className:o.questionBody},m?n.createElement(n.Fragment,null,u&&n.createElement(r.TextInput,{size:"xl",defaultValue:i.title,onChange:e=>E("title",e.currentTarget.value)}),!u&&n.createElement(r.Textarea,{autosize:!0,minRows:2,defaultValue:c.text,onChange:e=>E("text",e.currentTarget.value)}),$n(c)&&n.createElement(Jn,{options:c.answerOption,onChange:e=>E("answerOption",e)})):n.createElement(n.Fragment,null,i.title&&n.createElement(r.Title,null,i.title),c.text&&n.createElement("div",null,c.text),!s&&n.createElement(Bn,{item:c,answers:{},onChange:()=>{}}))),c.item&&c.item.map((e=>n.createElement("div",{key:e.id},n.createElement(Yn,{item:e,selectedKey:t.selectedKey,setSelectedKey:t.setSelectedKey,hoverKey:t.hoverKey,setHoverKey:t.setHoverKey,onChange:f,onRemove:()=>function(e){var n,r;t.onChange(Object.assign(Object.assign({},t.item),{item:null===(r=null===(n=t.item)||void 0===n?void 0:n.item)||void 0===r?void 0:r.filter((t=>t!==e))}))}(e)})))),!s&&n.createElement("div",{className:o.topActions},m?n.createElement(n.Fragment,null,n.createElement(r.TextInput,{size:"xs",className:o.linkIdInput,defaultValue:c.linkId,onChange:e=>E("linkId",e.currentTarget.value)}),!s&&n.createElement(r.NativeSelect,{size:"xs",className:o.typeSelect,defaultValue:c.type,onChange:e=>E("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"}]})):n.createElement("div",null,d)),n.createElement("div",{className:o.bottomActions},s&&n.createElement(n.Fragment,null,n.createElement("a",{href:"#",onClick:e=>{e.preventDefault(),v({id:tr(),linkId:er("q"),type:"string",text:"Question"})}},"Add item"),n.createElement("a",{href:"#",onClick:e=>{e.preventDefault(),v({id:tr(),linkId:er("g"),type:"group",text:"Group"})}},"Add group")),m&&!u&&n.createElement("a",{href:"#",onClick:e=>{e.preventDefault(),t.onRemove&&t.onRemove()}},"Remove")))}function Jn(e){var r;const a=t.globalSchema.types.QuestionnaireItemAnswerOption.properties["value[x]"],o=null!==(r=e.options)&&void 0!==r?r:[];return n.createElement("div",null,o.map((t=>{const[r,l]=pe({type:"QuestionnaireItemAnswerOption",value:t},"value");return n.createElement("div",{key:t.id,style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"80%"}},n.createElement("div",null,n.createElement(qe,{key:t.id,name:"value[x]",property:a,defaultPropertyType:l,defaultValue:r,onChange:(n,r)=>{const a=[...o],l=a.findIndex((e=>e.id===t.id));a[l]={id:t.id,[r]:n},e.onChange(a)}})),n.createElement("div",null,n.createElement("a",{href:"#",onClick:n=>{h(n),e.onChange(o.filter((e=>e.id!==t.id)))}},"Remove")))})),n.createElement("a",{href:"#",onClick:t=>{h(t),e.onChange([...o,{id:tr()}])}},"Add choice"))}let Xn=1,Zn=1;function er(e){return e+Xn++}function tr(){return"id-"+Zn++}function nr(e){if(e)return e.forEach((e=>{var t,n;(null===(t=e.id)||void 0===t?void 0:t.match(/^id-\d+$/))&&(Zn=Math.max(Zn,parseInt(e.id.substring(3))+1)),(null===(n=e.linkId)||void 0===n?void 0:n.match(/^q\d+$/))&&(Xn=Math.max(Xn,parseInt(e.linkId.substring(1))+1))})),e.map((e=>Object.assign(Object.assign({},e),{id:e.id||tr(),item:nr(e.item),answerOption:rr(e.answerOption)})))}function rr(e){if(e)return e.map((e=>Object.assign(Object.assign({},e),{id:e.id||tr()})))}const ar=r.createStyles((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"}}))),or=["gender","age","gestationalAge","context","appliesTo"],lr={definition:{resourceType:"ObservationDefinition"},onSubmit:()=>{}};function ir(e){const{intervalGroup:t,unit:o}=e,{classes:l}=ar();return n.createElement(r.Container,{"data-testid":t.id,className:l.section},n.createElement(r.Stack,{spacing:"lg"},n.createElement(r.Group,{position:"right"},n.createElement(r.ActionIcon,{title:"Remove Group","data-testid":`remove-group-button-${t.id}`,key:`remove-group-button-${t.id}`,size:"sm",onClick:n=>{h(n),e.onRemoveGroup(t)}},n.createElement(a.IconCircleMinus,null))),n.createElement(cr,{intervalGroup:t,onChange:e.onChange}),n.createElement(r.Divider,null),t.intervals.map((o=>n.createElement(r.Stack,{key:`interval-${o.id}`,spacing:"xs"},n.createElement(r.Group,null,n.createElement(r.TextInput,{key:`condition-${o.id}`,"data-testid":`condition-${o.id}`,defaultValue:o.condition,label:"Condition: ",size:"sm",onChange:n=>{h(n),e.onChange(t.id,Object.assign(Object.assign({},o),{condition:n.currentTarget.value.trim()}))}}),n.createElement(r.ActionIcon,{title:"Remove Interval",size:"sm",key:`remove-interval-${o.id}`,"data-testid":`remove-interval-${o.id}`,onClick:n=>{h(n),e.onRemove(t.id,o)}},n.createElement(a.IconCircleMinus,null))),n.createElement(Pe,{onChange:n=>{e.onChange(t.id,Object.assign(Object.assign({},o),{range:n}))},key:`range-${o.id}`,name:`range-${o.id}`,defaultValue:o.range})))),n.createElement(r.ActionIcon,{title:"Add Interval",size:"sm",onClick:n=>{h(n),e.onAdd(t.id,{range:{low:{unit:o},high:{unit:o}}})}},n.createElement(a.IconCirclePlus,null))))}function cr(e){var t,a;const{intervalGroup:o,onChange:l}=e;o.filters.age||(o.filters.age={});for(const e of["low","high"])(null===(t=o.filters.age[e])||void 0===t?void 0:t.unit)||(o.filters.age[e]=Object.assign(Object.assign({},o.filters.age[e]),{unit:"years",system:"http://unitsofmeasure.org"}));return n.createElement(r.Stack,{style:{maxWidth:"50%"}},n.createElement(r.Group,null,n.createElement(r.NativeSelect,{data:["","male","female"],label:"Gender:",defaultValue:o.filters.gender||"",onChange:e=>{var t;for(const n of o.intervals){let r=null===(t=e.currentTarget)||void 0===t?void 0:t.value;""===r&&(r=void 0),l(o.id,Object.assign(Object.assign({},n),{gender:r}))}}})),n.createElement(r.Group,{spacing:"xs"},n.createElement(r.Text,{component:"label",htmlFor:`div-age-${o.id}`},"Age:"),n.createElement("div",{id:`div-age-${o.id}`},n.createElement(Pe,{key:`age-${o.id}`,name:`age-${o.id}`,defaultValue:o.filters.age,onChange:e=>{for(const t of o.intervals)l(o.id,Object.assign(Object.assign({},t),{age:e}))}}))),n.createElement(r.NativeSelect,{data:["","pre-puberty","follicular","midcycle","luteal","postmenopausal"],label:"Endocrine:",defaultValue:(null===(a=o.filters.context)||void 0===a?void 0:a.text)||"",onChange:e=>{var t;for(const n of o.intervals){let r=null===(t=e.currentTarget)||void 0===t?void 0:t.value;""===r?(r=void 0,l(o.id,Object.assign(Object.assign({},n),{context:void 0}))):l(o.id,Object.assign(Object.assign({},n),{context:{text:r,coding:[{code:r,system:"http://terminology.hl7.org/CodeSystem/referencerange-meaning"}]}}))}}}))}function ur(e){var n,r;return[`gender=${e.gender}`,`age=${t.formatRange(e.age)}`,`gestationalAge=${t.formatRange(e.gestationalAge)}`,`context=${null===(n=e.context)||void 0===n?void 0:n.text}`,`appliesTo=${null===(r=e.appliesTo)||void 0===r?void 0:r.map((e=>e.text)).join("+")}`].join(":")}const sr={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",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 dr(e){return n.createElement(r.Badge,{color:sr[e.status]},e.status)}function mr(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,o=a.j;a=a.prev;const l=a.i,i=a.j,c={position:l,lines:t.slice(l,e)},u={position:i,lines:n.slice(i,o)};let s;s=0===c.lines.length&&u.lines.length>0?"insert":c.lines.length>0&&0===u.lines.length?"delete":"change",r.push({original:c,revised:u,type:s}),a.snake&&(a=a.prev)}return r}(function(e,t){const n=e.length,r=t.length,a=n+r+1,o=1+2*a,l=o/2|0,i=new Array(o);i[l+1]={i:0,j:-1,prev:void 0,snake:!0};for(let o=0;o<a;o++){for(let a=-o;a<=o;a+=2){const c=l+a,u=c-1,s=i[c+1],d=i[u];let m,p=0;a===-o||a!==o&&d.i<s.i?(p=s.i,m=s):(p=d.i+1,m=d),i[u]=void 0;let g=p-a,f={i:p,j:g,prev:pr(m),snake:!1};for(;p<n&&g<r&&e[p]===t[g];)p++,g++;if(p>f.i&&(f={i:p,j:g,prev:f,snake:!0}),i[c]=f,p>=n&&g>=r)return i[c]}i[l+o-1]=void 0}return}(e,t),e,t)}function pr(e){return e&&!e.snake&&e.prev?e.prev:e}function gr(e){const n=e.entry.filter((e=>!!e.resource)).map((e=>{var n;return{meta:null===(n=e.resource)||void 0===n?void 0:n.meta,lines:t.stringify(e.resource,!0).match(/[^\r\n]+/g)}})).sort(((e,t)=>e.meta.lastUpdated.localeCompare(t.meta.lastUpdated))),r=n[0].lines.map((e=>({id:n[0].meta.versionId,meta:n[0].meta,value:e,span:1})));return function(e,t){for(let n=1;n<t.length;n++){const r=mr(t[n-1].lines,t[n].lines);for(const a of r){const r=a.original.position,o=a.original.lines,l=a.revised.lines;if("delete"!==a.type&&"change"!==a.type||e.splice(r,o.length),"insert"===a.type||"change"===a.type)for(let o=0;o<a.revised.lines.length;o++)e.splice(r+o,0,{id:t[n].meta.versionId,meta:t[n].meta,value:l[o],span:1})}}}(r,n),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}}(r),r}const fr=r.createStyles((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}px ${e.spacing.sm}px`,textAlign:"right"},line:{fontFamily:e.fontFamilyMonospace,fontSize:e.fontSizes.sm,padding:`${e.spacing.xs}px ${e.spacing.sm}px`},pre:{margin:0}})));function vr(e,t){return`/${e.resourceType}/${e.id}/_history/${t}`}function hr(e){const t=Math.floor((Date.now()-Date.parse(e))/1e3),n=Math.floor(t/31536e3);if(n>0)return Er(n,"year");const r=Math.floor(t/2592e3);if(r>0)return Er(r,"month");const a=Math.floor(t/86400);if(a>0)return Er(a,"day");const o=Math.floor(t/3600);if(o>0)return Er(o,"hour");const l=Math.floor(t/60);return l>0?Er(l,"minute"):Er(t,"second")}function Er(e,t){return`${e} ${1===e?t:t+"s"} ago`}const yr=r.createStyles((e=>({removed:{color:e.colors.red[7],textDecoration:"line-through"},added:{color:e.colors.green[7]}})));function br(e){const{classes:t}=yr();return n.createElement(n.Fragment,null,"...",n.createElement("br",null),e.delta.original.lines.length>0&&n.createElement("div",{className:t.removed},e.delta.original.lines.join("\n")),e.delta.revised.lines.length>0&&n.createElement("div",{className:t.added},e.delta.revised.lines.join("\n")),"...",n.createElement("br",null))}function Cr(e){var r,a,o;const{response:l,resource:i}=e.entry;return i?n.createElement("tr",null,n.createElement("td",null,n.createElement(He,{value:null===(r=i.meta)||void 0===r?void 0:r.author,link:!0})),n.createElement("td",null,t.formatDateTime(null===(a=i.meta)||void 0===a?void 0:a.lastUpdated)),n.createElement("td",null,n.createElement(ue,{to:Tr(i)},null===(o=i.meta)||void 0===o?void 0:o.versionId))):n.createElement("tr",null,n.createElement("td",{colSpan:3},t.normalizeErrorString(null==l?void 0:l.outcome)))}function Tr(e){var t;return`/${e.resourceType}/${e.id}/_history/${null===(t=e.meta)||void 0===t?void 0:t.versionId}`}const Sr=r.createStyles((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 xr(e){const{classes:t}=Sr(),{onChangeMonth:a,onClick:o}=e,[l,i]=n.useState(Or);function c(e){i((t=>{const n=new Date(t.getTime());return n.setMonth(t.getMonth()+e),a(n),n}))}const u=n.useMemo((()=>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:kr(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}(l,e.slots)),[l,e.slots]);return n.createElement("div",null,n.createElement(r.Group,{position:"apart",spacing:"xs",grow:!0,noWrap:!0},n.createElement("p",{style:{flex:1}},(s=l).toLocaleString("default",{month:"long"})+" "+s.getFullYear()),n.createElement(r.Group,{position:"right",spacing:"xs"},n.createElement(r.Button,{variant:"outline","aria-label":"Previous month",onClick:()=>c(-1)},"<"),n.createElement(r.Button,{variant:"outline","aria-label":"Next month",onClick:()=>c(1)},">"))),n.createElement("table",{className:t.table},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"SUN"),n.createElement("th",null,"MON"),n.createElement("th",null,"TUE"),n.createElement("th",null,"WED"),n.createElement("th",null,"THU"),n.createElement("th",null,"FRI"),n.createElement("th",null,"SAT"))),n.createElement("tbody",null,u.map(((e,t)=>n.createElement("tr",{key:"week-"+t},e.map(((e,t)=>n.createElement("td",{key:"day-"+t},e&&n.createElement(r.Button,{disabled:!e.available,onClick:()=>o(e.date)},e.date.getDate()))))))))));var s}function Or(){const e=new Date;return e.setDate(1),e.setHours(0,0,0,0),e}function kr(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 Ir=r.createStyles((e=>({container:{display:"flex",minHeight:400},info:{minWidth:300,padding:20,borderRight:`1px solid ${e.colors.gray[3]}`},selection:{minWidth:300,padding:20}})));function jr(e){return Rr(e.getTime())}function wr(e){return Rr(e.getTime()+26784e5)}function Rr(e){return new Date(Math.max(Date.now(),e)).toISOString()}function Pr(e){return e.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}e.AddressDisplay=i,e.AddressInput=s,e.AttachmentArrayDisplay=m,e.AttachmentArrayInput=C,e.AttachmentButton=b,e.AttachmentInput=T,e.BackboneElementInput=Qe,e.CheckboxFormSection=_,e.CodeInput=Ee,e.CodeableConceptDisplay=te,e.CodeableConceptInput=he,e.ContactDetailDisplay=re,e.ContactDetailInput=Ce,e.ContactPointDisplay=ne,e.ContactPointInput=be,e.DateTimeInput=Te,e.DefaultResourceTimeline=function(e){return n.createElement(pt,{value:e.resource,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:[{request:{method:"GET",url:`${t.getReferenceString(e)}/_history`}},{request:{method:"GET",url:`AuditEvent?entity=${t.getReferenceString(e)}&_sort=-_lastUpdated`}}]})})},e.DescriptionList=J,e.DescriptionListEntry=X,e.DiagnosticReportDisplay=Ye,e.Document=S,e.ElementDefinitionInputSelector=Ue,e.ElementDefinitionTypeInput=_e,e.EncounterTimeline=function(e){return n.createElement(pt,{value:e.encounter,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:[{request:{method:"GET",url:`${t.getReferenceString(e)}/_history`}},{request:{method:"GET",url:`Communication?encounter=${t.getReferenceString(e)}`}},{request:{method:"GET",url:`Media?encounter=${t.getReferenceString(e)}`}}]}),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",encounter:t.createReference(e),subject:e.subject,sender:t.createReference(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",encounter:t.createReference(e),subject:e.subject,operator:t.createReference(n),issued:(new Date).toISOString(),content:r})})},e.ErrorBoundary=ot,e.FhirPathTable=Tn,e.Form=w,e.FormSection=Q,e.HumanNameDisplay=ae,e.HumanNameInput=ke,e.IdentifierInput=Ie,e.Logo=R,e.MedplumLink=ue,e.MedplumProvider=function(e){const t=e.medplum,[r,a]=n.useState({profile:t.getProfile(),loading:!1});n.useEffect((()=>{function e(){a(Object.assign(Object.assign({},r),{profile:t.getProfile()}))}return t.addEventListener("change",e),()=>t.removeEventListeneer("change",e)}),[t,r]);const o=Object.assign(Object.assign({},r),{medplum:t});return n.createElement(p.Provider,{value:o},e.children)},e.MemoizedFhirPathTable=Sn,e.MemoizedSearchControl=En,e.ObservationTable=Je,e.PatientTimeline=function(e){return n.createElement(pt,{value:e.patient,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:xn.map((n=>({request:{method:"GET",url:n.replaceAll("$",t.getReferenceString(e))}})))}),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",subject:t.createReference(e),sender:t.createReference(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",subject:t.createReference(e),operator:t.createReference(n),issued:(new Date).toISOString(),content:r})})},e.PlanDefinitionBuilder=function(e){const t=f(),a=H(e.value),[o,l]=n.useState(void 0),[i,c]=n.useState(),[u,s]=n.useState(),[d,m]=n.useState();function p(){s(void 0)}function g(){c(void 0)}const v=n.useRef();if(v.current=d,n.useEffect((()=>{t.requestSchema("PlanDefinition").then(l).catch(console.log)}),[t]),n.useEffect((()=>{var e;return m((e=null!=a?a:{resourceType:"PlanDefinition"},Object.assign(Object.assign({},e),{action:Nn(e.action)}))),document.addEventListener("mouseover",p),document.addEventListener("click",g),()=>{document.removeEventListener("mouseover",p),document.removeEventListener("click",g)}}),[a]),!o||!d)return null;function h(e,t){m(Object.assign(Object.assign({},v.current),{[e]:t}))}return n.createElement("div",null,n.createElement(w,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(d)},n.createElement(r.TextInput,{label:"Plan Title",defaultValue:d.title,onChange:e=>h("title",e.currentTarget.value)}),n.createElement(kn,{actions:d.action||[],selectedKey:i,setSelectedKey:c,hoverKey:u,setHoverKey:s,onChange:e=>h("action",e)}),n.createElement(r.Button,{type:"submit"},"Save")))},e.QuestionnaireBuilder=function(e){const t=f(),a=H(e.questionnaire),[o,l]=n.useState(),[i,c]=n.useState(),[u,s]=n.useState(),[d,m]=n.useState();function p(){m(void 0)}function g(){s(void 0)}return n.useEffect((()=>{t.requestSchema("Questionnaire").then(l).catch(console.log)}),[t]),n.useEffect((()=>{var e;return c((e=null!=a?a:{resourceType:"Questionnaire"},Object.assign(Object.assign({},e),{id:e.id||tr(),item:nr(e.item)}))),document.addEventListener("mouseover",p),document.addEventListener("click",g),()=>{document.removeEventListener("mouseover",p),document.removeEventListener("click",g)}}),[a]),o&&i?n.createElement("div",null,n.createElement(w,{testid:"questionnaire-form",onSubmit:()=>e.onSubmit(i)},n.createElement(Yn,{item:i,selectedKey:u,setSelectedKey:s,hoverKey:d,setHoverKey:m,onChange:c}),n.createElement(r.Button,{type:"submit"},"Save"))):null},e.QuestionnaireForm=Ln,e.QuestionnaireFormItem=Bn,e.RangeDisplay=ie,e.RangeInput=Pe,e.ReferenceInput=Fe,e.ReferenceRangeEditor=function(e){const o=(e=Object.assign(lr,e)).definition,[l,i]=n.useState([]),[c,u]=n.useState(1),[s,d]=n.useState(1);return n.useEffect((()=>{const e=function(e,t){const n=e.qualifiedInterval||[];let r=Math.max(...n.map((e=>{var t;const n=parseInt((null===(t=e.id)||void 0===t?void 0:t.substring(3))||"");return isNaN(n)?Number.NEGATIVE_INFINITY:n})))+1;Number.isFinite(r)||(r=1);return e=Object.assign(Object.assign({},e),{qualifiedInterval:n.map((e=>Object.assign(Object.assign({},e),{id:e.id||"id-"+r++})))}),t(r),e}(o,d);i(function(e,t){let n=1;const r={};for(const t of e){const e=ur(t);e in r||(r[e]={id:"group-id-"+n++,filters:Object.fromEntries(or.map((e=>[e,t[e]]))),intervals:[]}),r[e].intervals.push(t)}return t(n),Object.values(r)}(e.qualifiedInterval||[],u))}),[o]),n.createElement(w,{testid:"reference-range-editor",onSubmit:function(){const t=l.flatMap((e=>e.intervals)).filter((e=>!function(e){var t,n,r,a;return void 0===(null===(n=null===(t=e.range)||void 0===t?void 0:t.low)||void 0===n?void 0:n.value)&&void 0===(null===(a=null===(r=e.range)||void 0===r?void 0:r.high)||void 0===a?void 0:a.value)}(e)));e.onSubmit(Object.assign(Object.assign({},o),{qualifiedInterval:t}))}},n.createElement(r.Stack,null,l.map((e=>{var r,a;return n.createElement(ir,{unit:(a=null===(r=o.quantitativeDetails)||void 0===r?void 0:r.unit,a&&(t.getCodeBySystem(a,"http://unitsofmeasure.org")||a.text)),onChange:p,onAdd:g,onRemove:f,onRemoveGroup:m,key:`group-${e.id}`,intervalGroup:e})}))),n.createElement(r.ActionIcon,{title:"Add Group",size:"sm",onClick:e=>{var t;h(e),t={id:`group-id-${c}`,filters:{},intervals:[]},i((e=>[...e,t])),u((e=>e+1))}},n.createElement(a.IconCirclePlus,null)),n.createElement(r.Group,{position:"right"},n.createElement(r.Button,{type:"submit"},"Save")));function m(e){i((t=>t.filter((t=>t.id!==e.id))))}function p(e,t){i((n=>{var r,a;const o=(n=[...n]).find((t=>t.id===e)),l=null===(r=null==o?void 0:o.intervals)||void 0===r?void 0:r.findIndex((e=>e.id===t.id));return void 0!==l&&(null===(a=null==o?void 0:o.intervals)||void 0===a?void 0:a[l])&&(o.intervals[l]=t),n}))}function g(e,t){void 0===t.id&&(t.id=`id-${s}`,d((e=>e+1))),i((n=>{const r=(n=[...n]).findIndex((t=>t.id===e));if(-1!=r){const e=Object.assign({},n[r]);t=Object.assign(Object.assign({},t),e.filters),e.intervals=[...e.intervals,t],n[r]=e}return n}))}function f(e,t){i((n=>{const r=(n=[...n]).find((t=>t.id===e));return r&&(r.intervals=r.intervals.filter((e=>e.id!==t.id))),n}))}},e.ReferenceRangeGroupEditor=ir,e.RegisterForm=function(e){const{type:t,projectId:r,googleClientId:a,recaptchaSiteKey:o,onSuccess:l}=e,i=f(),[c,u]=n.useState(void 0),[s,d]=n.useState();function m(e){e.code?i.processCode(e.code).then((()=>l())).catch(console.log):e.login&&u(e.login)}return n.useEffect((()=>{"patient"===t&&c&&i.startNewPatient({login:c,projectId:r}).then((e=>i.processCode(e.code))).then((()=>l())).catch((e=>d(e)))}),[i,t,r,c,l]),n.createElement(S,{width:450},s&&n.createElement("pre",null,JSON.stringify(s,null,2)),!c&&n.createElement(z,{projectId:r,googleClientId:a,recaptchaSiteKey:o,handleAuthResponse:m},e.children),c&&"project"===t&&n.createElement(V,{login:c,handleAuthResponse:m}))},e.RequestGroupDisplay=function(e){var o;const l=f(),i=H(e.value),[c,u]=n.useState(!1),[s,d]=n.useState();return n.useEffect((()=>{i&&!c&&(l.executeBatch(function(e){var t;const n=[];if(e.action)for(const r of e.action)(null===(t=r.resource)||void 0===t?void 0:t.reference)&&n.push({request:{method:"GET",url:r.resource.reference}});return{resourceType:"Bundle",type:"batch",entry:n}}(i)).then(d).catch(console.log),u(!0))}),[l,i,c]),i&&s?n.createElement(r.Grid,null,null===(o=i.action)||void 0===o?void 0:o.map(((o,l)=>{var i,c,u,d,m,p;const g=o.resource&&function(e){for(const n of null==s?void 0:s.entry)if(n.resource&&e.reference===t.getReferenceString(n.resource))return n.resource;return}(o.resource),f=null===(c=null===(i=null==g?void 0:g.input)||void 0===i?void 0:i[0])||void 0===c?void 0:c.valueReference,v=null===(d=null===(u=null==g?void 0:g.output)||void 0===u?void 0:u[0])||void 0===d?void 0:d.valueReference;return n.createElement(n.Fragment,{key:`action-${l}`},n.createElement(r.Grid.Col,{span:1,p:"md"},"completed"===(null==g?void 0:g.status)?n.createElement(a.IconCheckbox,null):n.createElement(a.IconSquare,{color:"gray"})),n.createElement(r.Grid.Col,{span:9,p:"xs"},n.createElement(r.Text,{weight:500},o.title),o.description&&n.createElement("div",null,o.description),n.createElement("div",null,"Last edited by ",n.createElement(We,{value:null===(m=null==g?void 0:g.meta)||void 0===m?void 0:m.author})," on ",t.formatDateTime(null===(p=null==g?void 0:g.meta)||void 0===p?void 0:p.lastUpdated)),n.createElement("div",null,"Status: ",n.createElement(dr,{status:(null==g?void 0:g.status)||"unknown"}))),n.createElement(r.Grid.Col,{span:2,p:"md"},f&&!v&&n.createElement(r.Button,{onClick:()=>e.onStart(g,f)},"Start"),f&&v&&n.createElement(r.Button,{onClick:()=>e.onEdit(g,f,v)},"Edit")))}))):null},e.ResourceArrayDisplay=de,e.ResourceArrayInput=$e,e.ResourceAvatar=De,e.ResourceBadge=He,e.ResourceBlame=function(e){var t,r;const{classes:a}=fr(),o=f(),[l,i]=n.useState(e.history);if(n.useEffect((()=>{!e.history&&e.resourceType&&e.id&&o.readHistory(e.resourceType,e.id).then(i).catch(console.log)}),[o,e.history,e.resourceType,e.id]),!l)return n.createElement("div",null,"Loading...");const c=null===(r=null===(t=l.entry)||void 0===t?void 0:t[0])||void 0===r?void 0:r.resource,u=gr(l);return n.createElement("div",{className:a.container},n.createElement("table",{className:a.root},n.createElement("tbody",null,u.map(((e,t)=>n.createElement("tr",{key:"row-"+t,className:e.span>0?a.startRow:a.normalRow},e.span>0&&n.createElement(n.Fragment,null,n.createElement("td",{className:a.author,rowSpan:e.span},n.createElement(He,{value:e.meta.author,link:!0})),n.createElement("td",{className:a.dateTime,rowSpan:e.span},n.createElement(ue,{to:vr(c,e.meta.versionId)},hr(e.meta.lastUpdated)))),n.createElement("td",{className:a.lineNumber},t+1),n.createElement("td",{className:a.line},n.createElement("pre",{className:a.pre},e.value))))))))},e.ResourceDiff=function(e){let r=e.original,a=e.revised;e.ignoreMeta&&(r=Object.assign(Object.assign({},r),{meta:void 0}),a=Object.assign(Object.assign({},a),{meta:void 0}));const o=mr(t.stringify(r,!0).match(/[^\r\n]+/g),t.stringify(a,!0).match(/[^\r\n]+/g));return n.createElement("pre",{style:{color:"gray"}},o.map(((e,t)=>n.createElement(br,{key:"delta"+t,delta:e}))))},e.ResourceForm=function(e){const t=f(),a=H(e.defaultValue),[o,l]=n.useState(),[i,c]=n.useState();return n.useEffect((()=>{a&&(c(JSON.parse(JSON.stringify(a))),t.requestSchema(a.resourceType).then(l).catch(console.log))}),[t,a]),o&&i?n.createElement("form",{noValidate:!0,autoComplete:"off",onSubmit:t=>{t.preventDefault(),e.onSubmit&&e.onSubmit(i)}},n.createElement(r.Stack,{mb:"xl"},n.createElement(Q,{title:"Resource Type",htmlFor:"resourceType",outcome:e.outcome},n.createElement(r.TextInput,{name:"resourceType",defaultValue:i.resourceType,disabled:!0})),n.createElement(Q,{title:"ID",htmlFor:"id",outcome:e.outcome},n.createElement(r.TextInput,{name:"id",defaultValue:i.id,disabled:!0}))),n.createElement(Qe,{typeName:i.resourceType,defaultValue:i,outcome:e.outcome,onChange:c}),n.createElement(r.Group,{position:"right",mt:"xl"},n.createElement(r.Button,{type:"submit"},"OK"),e.onDelete&&n.createElement(r.Button,{variant:"outline",color:"red",type:"button",onClick:()=>{e.onDelete(i)}},"Delete"))):n.createElement("div",null,"Loading...")},e.ResourceHistoryTable=function(e){var t;const a=f(),[o,l]=n.useState(e.history);return n.useEffect((()=>{!e.history&&e.resourceType&&e.id&&a.readHistory(e.resourceType,e.id).then(l).catch(console.log)}),[a,e.history,e.resourceType,e.id]),o?n.createElement(r.Table,{withBorder:!0,withColumnBorders:!0},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null,"Author"),n.createElement("th",null,"Date"),n.createElement("th",null,"Version"))),n.createElement("tbody",null,null===(t=o.entry)||void 0===t?void 0:t.map(((e,t)=>n.createElement(Cr,{key:"entry-"+t,entry:e}))))):n.createElement("div",null,"Loading...")},e.ResourceInput=Me,e.ResourceName=We,e.ResourcePropertyDisplay=me,e.ResourcePropertyInput=qe,e.ResourceTable=at,e.ResourceTimeline=pt,e.Scheduler=function(e){var a;const{classes:o}=Ir(),l=f(),i=H(e.schedule),c=H(e.questionnaire),[u,s]=n.useState();n.useRef().current=u;const[d,m]=n.useState(Or()),[p,g]=n.useState(),[v,h]=n.useState(),[E,y]=n.useState();if(n.useEffect((()=>{i?(s([]),l.searchResources("Slot",new URLSearchParams([["_count",720..toString()],["schedule",t.getReferenceString(i)],["start","gt"+jr(d)],["start","lt"+wr(d)]])).then(s).catch(console.log)):s(void 0)}),[l,i,d]),!i||!u||!c)return null;const b=null===(a=i.actor)||void 0===a?void 0:a[0];return n.createElement("div",{className:o.container,"data-testid":"scheduler"},n.createElement("div",{className:o.info},b&&n.createElement(De,{value:b,size:"xl"}),b&&n.createElement(r.Text,{size:"xl",weight:500},n.createElement(We,{value:b})),n.createElement("p",null,"1 hour"),p&&n.createElement("p",null,p.toLocaleDateString()),v&&n.createElement("p",null,Pr(new Date(v.start)))),n.createElement("div",{className:o.selection},!p&&n.createElement("div",null,n.createElement("h3",null,"Select date"),n.createElement(xr,{slots:u,onChangeMonth:m,onClick:g})),p&&!v&&n.createElement("div",null,n.createElement("h3",null,"Select time"),n.createElement(r.Stack,null,u.map((e=>{const t=new Date(e.start);return t.getTime()>p.getTime()&&t.getTime()<p.getTime()+864e5&&n.createElement("div",{key:e.id},n.createElement(r.Button,{variant:"outline",style:{width:150},onClick:()=>h(e)},Pr(t)))})))),p&&v&&!E&&n.createElement(Ln,{questionnaire:c,submitButtonText:"Next",onSubmit:y}),p&&v&&E&&n.createElement("div",null,n.createElement("h3",null,"You're all set!"),n.createElement("p",null,"Check your email for a calendar invite."))))},e.SearchChangeEvent=pn,e.SearchClickEvent=fn,e.SearchControl=hn,e.SearchFieldEditor=Yt,e.SearchFilterEditor=en,e.SearchLoadEvent=gn,e.ServiceRequestTimeline=function(e){return n.createElement(pt,{value:e.serviceRequest,buildSearchRequests:e=>({resourceType:"Bundle",type:"batch",entry:[{request:{method:"GET",url:`${t.getReferenceString(e)}/_history`}},{request:{method:"GET",url:`Communication?based-on=${t.getReferenceString(e)}&_sort=-_lastUpdated`}},{request:{method:"GET",url:`Media?_count=100&based-on=${t.getReferenceString(e)}&_sort=-_lastUpdated`}},{request:{method:"GET",url:`DiagnosticReport?based-on=${t.getReferenceString(e)}&_sort=-_lastUpdated`}}]}),createCommunication:(e,n,r)=>({resourceType:"Communication",status:"completed",basedOn:[t.createReference(e)],subject:e.subject,sender:t.createReference(n),sent:(new Date).toISOString(),payload:[{contentString:r}]}),createMedia:(e,n,r)=>({resourceType:"Media",status:"completed",basedOn:[t.createReference(e)],subject:e.subject,operator:t.createReference(n),issued:(new Date).toISOString(),content:r})})},e.SignInForm=function(e){const{chooseScopes:t,onSuccess:r,onForgotPassword:a,onRegister:o,onCode:l}=e,i=x(e,["chooseScopes","onSuccess","onForgotPassword","onRegister","onCode"]),c=f(),[u,s]=n.useState(void 0),[d,m]=n.useState(void 0);function p(e){e.login&&s(e.login),e.memberships&&m(e.memberships),e.code&&(t?m(void 0):v(e.code))}function g(e){v(e.code)}function v(e){l?l(e):c.processCode(e).then((()=>{r&&r()})).catch(console.log)}return n.createElement(S,{width:450},u?d?n.createElement(q,{login:u,memberships:d,handleAuthResponse:p}):"new"===e.projectId?n.createElement(V,{login:u,handleAuthResponse:p}):e.chooseScopes?n.createElement(U,{login:u,scope:e.scope,handleAuthResponse:g}):n.createElement("div",null,"Success"):n.createElement(B,Object.assign({generatePkce:!l,onForgotPassword:a,onRegister:o,handleAuthResponse:p},i),e.children))},e.StatusBadge=dr,e.Timeline=lt,e.TimelineItem=it,e.addDateFilterBetween=$t,e.addField=function(e,t){if(e.fields&&e.fields.includes(t))return e;const n=[];return e.fields&&n.push(...e.fields),n.push(t),Object.assign(Object.assign({},e),{fields:n,name:void 0})},e.addFilter=It,e.addLastMonthFilter=Dt,e.addMissingFilter=zt,e.addNextMonthFilter=Mt,e.addThisMonthFilter=Vt,e.addTodayFilter=Rt,e.addTomorrowFilter=Pt,e.addYearToDateFilter=Ft,e.addYesterdayFilter=wt,e.buildFieldNameString=Ht,e.clearFilters=function(e){return Ot(e,[])},e.clearFiltersOnField=kt,e.convertIsoToLocal=Se,e.convertLocalToIso=xe,e.createScriptTag=M,e.deleteFilter=jt,e.getErrorsForInput=P,e.getIssuesForExpression=A,e.getOpString=Wt,e.getRecaptcha=L,e.getSearchOperators=Qt,e.getSortField=_t,e.getTimeString=hr,e.getValueAndType=pe,e.initRecaptcha=$,e.isChoiceQuestion=$n,e.isQuestionEnabled=Hn,e.isSortDescending=Gt,e.parseForm=k,e.renderValue=Kt,e.setFilters=Ot,e.setOffset=Bt,e.setPage=qt,e.setPropertyValue=K,e.setSort=Ut,e.sortByDateAndPriority=ct,e.toggleSort=function(e,t){let n=!1;return _t(e)===t&&(n=!Gt(e)),Ut(e,t,n)},e.useMedplum=f,e.useMedplumContext=g,e.useMedplumProfile=v,e.useResource=H}));
|
|
2
2
|
//# sourceMappingURL=index.min.js.map
|