@medplum/react 1.0.5 → 2.0.0

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.
Files changed (373) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/MoneyDisplay/MoneyDisplay.d.ts +6 -0
  3. package/dist/cjs/MoneyInput/MoneyInput.d.ts +10 -0
  4. package/dist/cjs/MoneyInput/MoneyInput.stories.d.ts +6 -0
  5. package/dist/cjs/OperationOutcomeAlert/OperationOutcomeAlert.d.ts +6 -0
  6. package/dist/cjs/auth/AuthenticationForm.d.ts +15 -1
  7. package/dist/cjs/auth/SignInForm.d.ts +1 -0
  8. package/dist/cjs/{index.js → index.cjs} +675 -549
  9. package/dist/cjs/index.cjs.map +1 -0
  10. package/dist/cjs/index.d.ts +2 -0
  11. package/dist/cjs/index.min.cjs +1 -0
  12. package/dist/esm/AddressDisplay/{AddressDisplay.js → AddressDisplay.mjs} +1 -1
  13. package/dist/esm/AddressDisplay/AddressDisplay.mjs.map +1 -0
  14. package/dist/esm/AddressInput/{AddressInput.js → AddressInput.mjs} +9 -9
  15. package/dist/esm/AddressInput/AddressInput.mjs.map +1 -0
  16. package/dist/esm/AnnotationInput/{AnnotationInput.js → AnnotationInput.mjs} +2 -2
  17. package/dist/esm/AnnotationInput/AnnotationInput.mjs.map +1 -0
  18. package/dist/esm/AsyncAutocomplete/{AsyncAutocomplete.js → AsyncAutocomplete.mjs} +7 -10
  19. package/dist/esm/AsyncAutocomplete/AsyncAutocomplete.mjs.map +1 -0
  20. package/dist/esm/AttachmentArrayDisplay/{AttachmentArrayDisplay.js → AttachmentArrayDisplay.mjs} +2 -2
  21. package/dist/esm/AttachmentArrayDisplay/AttachmentArrayDisplay.mjs.map +1 -0
  22. package/dist/esm/AttachmentArrayInput/{AttachmentArrayInput.js → AttachmentArrayInput.mjs} +6 -7
  23. package/dist/esm/AttachmentArrayInput/AttachmentArrayInput.mjs.map +1 -0
  24. package/dist/esm/AttachmentButton/{AttachmentButton.js → AttachmentButton.mjs} +5 -7
  25. package/dist/esm/AttachmentButton/AttachmentButton.mjs.map +1 -0
  26. package/dist/esm/AttachmentDisplay/AttachmentDisplay.mjs +21 -0
  27. package/dist/esm/AttachmentDisplay/AttachmentDisplay.mjs.map +1 -0
  28. package/dist/esm/AttachmentInput/{AttachmentInput.js → AttachmentInput.mjs} +5 -5
  29. package/dist/esm/AttachmentInput/AttachmentInput.mjs.map +1 -0
  30. package/dist/esm/BackboneElementDisplay/{BackboneElementDisplay.js → BackboneElementDisplay.mjs} +4 -4
  31. package/dist/esm/BackboneElementDisplay/BackboneElementDisplay.mjs.map +1 -0
  32. package/dist/esm/BackboneElementInput/{BackboneElementInput.js → BackboneElementInput.mjs} +10 -11
  33. package/dist/esm/BackboneElementInput/BackboneElementInput.mjs.map +1 -0
  34. package/dist/esm/CalendarInput/{CalendarInput.js → CalendarInput.mjs} +1 -1
  35. package/dist/esm/CalendarInput/CalendarInput.mjs.map +1 -0
  36. package/dist/esm/CheckboxFormSection/{CheckboxFormSection.js → CheckboxFormSection.mjs} +1 -1
  37. package/dist/esm/CheckboxFormSection/CheckboxFormSection.mjs.map +1 -0
  38. package/dist/esm/CodeInput/{CodeInput.js → CodeInput.mjs} +3 -3
  39. package/dist/esm/CodeInput/CodeInput.mjs.map +1 -0
  40. package/dist/esm/CodeableConceptDisplay/{CodeableConceptDisplay.js → CodeableConceptDisplay.mjs} +1 -1
  41. package/dist/esm/CodeableConceptDisplay/CodeableConceptDisplay.mjs.map +1 -0
  42. package/dist/esm/CodeableConceptInput/{CodeableConceptInput.js → CodeableConceptInput.mjs} +3 -4
  43. package/dist/esm/CodeableConceptInput/CodeableConceptInput.mjs.map +1 -0
  44. package/dist/esm/CodingDisplay/{CodingDisplay.js → CodingDisplay.mjs} +1 -1
  45. package/dist/esm/CodingDisplay/CodingDisplay.mjs.map +1 -0
  46. package/dist/esm/CodingInput/{CodingInput.js → CodingInput.mjs} +2 -2
  47. package/dist/esm/CodingInput/CodingInput.mjs.map +1 -0
  48. package/dist/esm/ContactDetailDisplay/{ContactDetailDisplay.js → ContactDetailDisplay.mjs} +4 -5
  49. package/dist/esm/ContactDetailDisplay/ContactDetailDisplay.mjs.map +1 -0
  50. package/dist/esm/ContactDetailInput/{ContactDetailInput.js → ContactDetailInput.mjs} +6 -7
  51. package/dist/esm/ContactDetailInput/ContactDetailInput.mjs.map +1 -0
  52. package/dist/esm/ContactPointDisplay/{ContactPointDisplay.js → ContactPointDisplay.mjs} +1 -1
  53. package/dist/esm/ContactPointDisplay/ContactPointDisplay.mjs.map +1 -0
  54. package/dist/esm/ContactPointInput/{ContactPointInput.js → ContactPointInput.mjs} +7 -7
  55. package/dist/esm/ContactPointInput/ContactPointInput.mjs.map +1 -0
  56. package/dist/esm/Container/{Container.js → Container.mjs} +3 -4
  57. package/dist/esm/Container/Container.mjs.map +1 -0
  58. package/dist/esm/DateTimeInput/{DateTimeInput.js → DateTimeInput.mjs} +2 -2
  59. package/dist/esm/DateTimeInput/DateTimeInput.mjs.map +1 -0
  60. package/dist/esm/DefaultResourceTimeline/{DefaultResourceTimeline.js → DefaultResourceTimeline.mjs} +2 -2
  61. package/dist/esm/DefaultResourceTimeline/DefaultResourceTimeline.mjs.map +1 -0
  62. package/dist/esm/DescriptionList/{DescriptionList.js → DescriptionList.mjs} +1 -1
  63. package/dist/esm/DescriptionList/DescriptionList.mjs.map +1 -0
  64. package/dist/esm/DiagnosticReportDisplay/{DiagnosticReportDisplay.js → DiagnosticReportDisplay.mjs} +13 -16
  65. package/dist/esm/DiagnosticReportDisplay/DiagnosticReportDisplay.mjs.map +1 -0
  66. package/dist/esm/Document/Document.mjs +12 -0
  67. package/dist/esm/Document/Document.mjs.map +1 -0
  68. package/dist/esm/EncounterTimeline/{EncounterTimeline.js → EncounterTimeline.mjs} +2 -2
  69. package/dist/esm/EncounterTimeline/EncounterTimeline.mjs.map +1 -0
  70. package/dist/esm/ErrorBoundary/{ErrorBoundary.js → ErrorBoundary.mjs} +1 -1
  71. package/dist/esm/ErrorBoundary/ErrorBoundary.mjs.map +1 -0
  72. package/dist/esm/ExtensionInput/{ExtensionInput.js → ExtensionInput.mjs} +1 -1
  73. package/dist/esm/ExtensionInput/ExtensionInput.mjs.map +1 -0
  74. package/dist/esm/FhirPathDisplay/{FhirPathDisplay.js → FhirPathDisplay.mjs} +2 -2
  75. package/dist/esm/FhirPathDisplay/FhirPathDisplay.mjs.map +1 -0
  76. package/dist/esm/FhirPathTable/{FhirPathTable.js → FhirPathTable.mjs} +14 -17
  77. package/dist/esm/FhirPathTable/FhirPathTable.mjs.map +1 -0
  78. package/dist/esm/Form/{Form.js → Form.mjs} +2 -2
  79. package/dist/esm/Form/Form.mjs.map +1 -0
  80. package/dist/esm/Form/{FormUtils.js → FormUtils.mjs} +1 -1
  81. package/dist/esm/Form/FormUtils.mjs.map +1 -0
  82. package/dist/esm/FormSection/{FormSection.js → FormSection.mjs} +2 -2
  83. package/dist/esm/FormSection/FormSection.mjs.map +1 -0
  84. package/dist/esm/GoogleButton/{GoogleButton.js → GoogleButton.mjs} +4 -5
  85. package/dist/esm/GoogleButton/GoogleButton.mjs.map +1 -0
  86. package/dist/esm/HumanNameDisplay/{HumanNameDisplay.js → HumanNameDisplay.mjs} +1 -1
  87. package/dist/esm/HumanNameDisplay/HumanNameDisplay.mjs.map +1 -0
  88. package/dist/esm/HumanNameInput/HumanNameInput.mjs +50 -0
  89. package/dist/esm/HumanNameInput/HumanNameInput.mjs.map +1 -0
  90. package/dist/esm/IdentifierDisplay/IdentifierDisplay.mjs +11 -0
  91. package/dist/esm/IdentifierDisplay/IdentifierDisplay.mjs.map +1 -0
  92. package/dist/esm/IdentifierInput/{IdentifierInput.js → IdentifierInput.mjs} +3 -3
  93. package/dist/esm/IdentifierInput/IdentifierInput.mjs.map +1 -0
  94. package/dist/esm/Logo/{Logo.js → Logo.mjs} +1 -1
  95. package/dist/esm/Logo/Logo.mjs.map +1 -0
  96. package/dist/esm/MedplumLink/{MedplumLink.js → MedplumLink.mjs} +5 -6
  97. package/dist/esm/MedplumLink/MedplumLink.mjs.map +1 -0
  98. package/dist/esm/MedplumProvider/{MedplumProvider.js → MedplumProvider.mjs} +9 -3
  99. package/dist/esm/MedplumProvider/MedplumProvider.mjs.map +1 -0
  100. package/dist/esm/MoneyDisplay/MoneyDisplay.d.ts +6 -0
  101. package/dist/esm/MoneyDisplay/MoneyDisplay.mjs +9 -0
  102. package/dist/esm/MoneyDisplay/MoneyDisplay.mjs.map +1 -0
  103. package/dist/esm/MoneyInput/MoneyInput.d.ts +10 -0
  104. package/dist/esm/MoneyInput/MoneyInput.mjs +53 -0
  105. package/dist/esm/MoneyInput/MoneyInput.mjs.map +1 -0
  106. package/dist/esm/MoneyInput/MoneyInput.stories.d.ts +6 -0
  107. package/dist/esm/OperationOutcomeAlert/OperationOutcomeAlert.d.ts +6 -0
  108. package/dist/esm/OperationOutcomeAlert/OperationOutcomeAlert.mjs +13 -0
  109. package/dist/esm/OperationOutcomeAlert/OperationOutcomeAlert.mjs.map +1 -0
  110. package/dist/esm/Panel/{Panel.js → Panel.mjs} +3 -4
  111. package/dist/esm/Panel/Panel.mjs.map +1 -0
  112. package/dist/esm/PatientTimeline/{PatientTimeline.js → PatientTimeline.mjs} +2 -2
  113. package/dist/esm/PatientTimeline/PatientTimeline.mjs.map +1 -0
  114. package/dist/esm/PeriodInput/{PeriodInput.js → PeriodInput.mjs} +4 -4
  115. package/dist/esm/PeriodInput/PeriodInput.mjs.map +1 -0
  116. package/dist/esm/PlanDefinitionBuilder/{PlanDefinitionBuilder.js → PlanDefinitionBuilder.mjs} +36 -24
  117. package/dist/esm/PlanDefinitionBuilder/PlanDefinitionBuilder.mjs.map +1 -0
  118. package/dist/esm/QuantityDisplay/{QuantityDisplay.js → QuantityDisplay.mjs} +1 -1
  119. package/dist/esm/QuantityDisplay/QuantityDisplay.mjs.map +1 -0
  120. package/dist/esm/QuantityInput/{QuantityInput.js → QuantityInput.mjs} +13 -5
  121. package/dist/esm/QuantityInput/QuantityInput.mjs.map +1 -0
  122. package/dist/esm/QuestionnaireBuilder/{QuestionnaireBuilder.js → QuestionnaireBuilder.mjs} +45 -27
  123. package/dist/esm/QuestionnaireBuilder/QuestionnaireBuilder.mjs.map +1 -0
  124. package/dist/esm/QuestionnaireForm/{QuestionnaireForm.js → QuestionnaireForm.mjs} +36 -36
  125. package/dist/esm/QuestionnaireForm/QuestionnaireForm.mjs.map +1 -0
  126. package/dist/esm/RangeDisplay/{RangeDisplay.js → RangeDisplay.mjs} +1 -1
  127. package/dist/esm/RangeDisplay/RangeDisplay.mjs.map +1 -0
  128. package/dist/esm/RangeInput/{RangeInput.js → RangeInput.mjs} +10 -4
  129. package/dist/esm/RangeInput/RangeInput.mjs.map +1 -0
  130. package/dist/esm/RatioDisplay/{RatioDisplay.js → RatioDisplay.mjs} +2 -2
  131. package/dist/esm/RatioDisplay/RatioDisplay.mjs.map +1 -0
  132. package/dist/esm/RatioInput/{RatioInput.js → RatioInput.mjs} +10 -4
  133. package/dist/esm/RatioInput/RatioInput.mjs.map +1 -0
  134. package/dist/esm/ReferenceDisplay/{ReferenceDisplay.js → ReferenceDisplay.mjs} +2 -2
  135. package/dist/esm/ReferenceDisplay/ReferenceDisplay.mjs.map +1 -0
  136. package/dist/esm/ReferenceInput/{ReferenceInput.js → ReferenceInput.mjs} +10 -5
  137. package/dist/esm/ReferenceInput/ReferenceInput.mjs.map +1 -0
  138. package/dist/esm/ReferenceRangeEditor/{ReferenceRangeEditor.js → ReferenceRangeEditor.mjs} +44 -38
  139. package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.mjs.map +1 -0
  140. package/dist/esm/RequestGroupDisplay/{RequestGroupDisplay.js → RequestGroupDisplay.mjs} +14 -17
  141. package/dist/esm/RequestGroupDisplay/RequestGroupDisplay.mjs.map +1 -0
  142. package/dist/esm/ResourceArrayDisplay/{ResourceArrayDisplay.js → ResourceArrayDisplay.mjs} +4 -5
  143. package/dist/esm/ResourceArrayDisplay/ResourceArrayDisplay.mjs.map +1 -0
  144. package/dist/esm/ResourceArrayInput/{ResourceArrayInput.js → ResourceArrayInput.mjs} +3 -3
  145. package/dist/esm/ResourceArrayInput/ResourceArrayInput.mjs.map +1 -0
  146. package/dist/esm/ResourceAvatar/ResourceAvatar.mjs +23 -0
  147. package/dist/esm/ResourceAvatar/ResourceAvatar.mjs.map +1 -0
  148. package/dist/esm/ResourceBadge/{ResourceBadge.js → ResourceBadge.mjs} +3 -3
  149. package/dist/esm/ResourceBadge/ResourceBadge.mjs.map +1 -0
  150. package/dist/esm/ResourceBlame/{ResourceBlame.js → ResourceBlame.mjs} +6 -7
  151. package/dist/esm/ResourceBlame/ResourceBlame.mjs.map +1 -0
  152. package/dist/esm/ResourceDiff/{ResourceDiff.js → ResourceDiff.mjs} +4 -4
  153. package/dist/esm/ResourceDiff/ResourceDiff.mjs.map +1 -0
  154. package/dist/esm/ResourceDiffTable/{ResourceDiffTable.js → ResourceDiffTable.mjs} +3 -3
  155. package/dist/esm/ResourceDiffTable/ResourceDiffTable.mjs.map +1 -0
  156. package/dist/esm/ResourceForm/{ResourceForm.js → ResourceForm.mjs} +5 -5
  157. package/dist/esm/ResourceForm/ResourceForm.mjs.map +1 -0
  158. package/dist/esm/ResourceHistoryTable/{ResourceHistoryTable.js → ResourceHistoryTable.mjs} +10 -13
  159. package/dist/esm/ResourceHistoryTable/ResourceHistoryTable.mjs.map +1 -0
  160. package/dist/esm/ResourceInput/{ResourceInput.js → ResourceInput.mjs} +18 -24
  161. package/dist/esm/ResourceInput/ResourceInput.mjs.map +1 -0
  162. package/dist/esm/ResourceName/ResourceName.mjs +18 -0
  163. package/dist/esm/ResourceName/ResourceName.mjs.map +1 -0
  164. package/dist/esm/ResourcePropertyDisplay/{ResourcePropertyDisplay.js → ResourcePropertyDisplay.mjs} +23 -21
  165. package/dist/esm/ResourcePropertyDisplay/ResourcePropertyDisplay.mjs.map +1 -0
  166. package/dist/esm/ResourcePropertyInput/{ResourcePropertyInput.js → ResourcePropertyInput.mjs} +34 -34
  167. package/dist/esm/ResourcePropertyInput/ResourcePropertyInput.mjs.map +1 -0
  168. package/dist/esm/ResourceTable/{ResourceTable.js → ResourceTable.mjs} +4 -4
  169. package/dist/esm/ResourceTable/ResourceTable.mjs.map +1 -0
  170. package/dist/esm/ResourceTimeline/{ResourceTimeline.js → ResourceTimeline.mjs} +26 -30
  171. package/dist/esm/ResourceTimeline/ResourceTimeline.mjs.map +1 -0
  172. package/dist/esm/Scheduler/{Scheduler.js → Scheduler.mjs} +8 -9
  173. package/dist/esm/Scheduler/Scheduler.mjs.map +1 -0
  174. package/dist/esm/SearchControl/{SearchControl.js → SearchControl.mjs} +66 -50
  175. package/dist/esm/SearchControl/SearchControl.mjs.map +1 -0
  176. package/dist/esm/SearchControl/{SearchControlField.js → SearchControlField.mjs} +3 -4
  177. package/dist/esm/SearchControl/SearchControlField.mjs.map +1 -0
  178. package/dist/esm/SearchControl/{SearchUtils.js → SearchUtils.mjs} +34 -17
  179. package/dist/esm/SearchControl/SearchUtils.mjs.map +1 -0
  180. package/dist/esm/SearchFieldEditor/{SearchFieldEditor.js → SearchFieldEditor.mjs} +28 -21
  181. package/dist/esm/SearchFieldEditor/SearchFieldEditor.mjs.map +1 -0
  182. package/dist/esm/SearchFilterEditor/{SearchFilterEditor.js → SearchFilterEditor.mjs} +8 -9
  183. package/dist/esm/SearchFilterEditor/SearchFilterEditor.mjs.map +1 -0
  184. package/dist/esm/SearchFilterValueDialog/{SearchFilterValueDialog.js → SearchFilterValueDialog.mjs} +5 -6
  185. package/dist/esm/SearchFilterValueDialog/SearchFilterValueDialog.mjs.map +1 -0
  186. package/dist/esm/SearchFilterValueDisplay/{SearchFilterValueDisplay.js → SearchFilterValueDisplay.mjs} +3 -4
  187. package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs.map +1 -0
  188. package/dist/esm/SearchFilterValueInput/{SearchFilterValueInput.js → SearchFilterValueInput.mjs} +5 -6
  189. package/dist/esm/SearchFilterValueInput/SearchFilterValueInput.mjs.map +1 -0
  190. package/dist/esm/SearchPopupMenu/{SearchPopupMenu.js → SearchPopupMenu.mjs} +10 -10
  191. package/dist/esm/SearchPopupMenu/SearchPopupMenu.mjs.map +1 -0
  192. package/dist/esm/ServiceRequestTimeline/{ServiceRequestTimeline.js → ServiceRequestTimeline.mjs} +2 -2
  193. package/dist/esm/ServiceRequestTimeline/ServiceRequestTimeline.mjs.map +1 -0
  194. package/dist/esm/StatusBadge/{StatusBadge.js → StatusBadge.mjs} +1 -1
  195. package/dist/esm/StatusBadge/StatusBadge.mjs.map +1 -0
  196. package/dist/esm/Timeline/{Timeline.js → Timeline.mjs} +11 -13
  197. package/dist/esm/Timeline/Timeline.mjs.map +1 -0
  198. package/dist/esm/TimingInput/{TimingInput.js → TimingInput.mjs} +13 -18
  199. package/dist/esm/TimingInput/TimingInput.mjs.map +1 -0
  200. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs +43 -0
  201. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs.map +1 -0
  202. package/dist/esm/auth/AuthenticationForm.d.ts +15 -1
  203. package/dist/esm/auth/AuthenticationForm.mjs +88 -0
  204. package/dist/esm/auth/AuthenticationForm.mjs.map +1 -0
  205. package/dist/esm/auth/ChooseProfileForm.mjs +29 -0
  206. package/dist/esm/auth/ChooseProfileForm.mjs.map +1 -0
  207. package/dist/esm/auth/{ChooseScopeForm.js → ChooseScopeForm.mjs} +4 -4
  208. package/dist/esm/auth/ChooseScopeForm.mjs.map +1 -0
  209. package/dist/esm/auth/{MfaForm.js → MfaForm.mjs} +4 -4
  210. package/dist/esm/auth/MfaForm.mjs.map +1 -0
  211. package/dist/esm/auth/{NewProjectForm.js → NewProjectForm.mjs} +8 -9
  212. package/dist/esm/auth/NewProjectForm.mjs.map +1 -0
  213. package/dist/esm/auth/{NewUserForm.js → NewUserForm.mjs} +16 -21
  214. package/dist/esm/auth/NewUserForm.mjs.map +1 -0
  215. package/dist/esm/auth/{RegisterForm.js → RegisterForm.mjs} +5 -5
  216. package/dist/esm/auth/RegisterForm.mjs.map +1 -0
  217. package/dist/esm/auth/SignInForm.d.ts +1 -0
  218. package/dist/esm/auth/{SignInForm.js → SignInForm.mjs} +36 -29
  219. package/dist/esm/auth/SignInForm.mjs.map +1 -0
  220. package/dist/esm/{constants.js → constants.mjs} +1 -1
  221. package/dist/esm/constants.mjs.map +1 -0
  222. package/dist/esm/index.d.ts +2 -0
  223. package/dist/esm/index.min.mjs +1 -0
  224. package/dist/esm/{index.js → index.mjs} +88 -86
  225. package/dist/esm/index.mjs.map +1 -0
  226. package/dist/esm/useResource/{useResource.js → useResource.mjs} +2 -2
  227. package/dist/esm/useResource/useResource.mjs.map +1 -0
  228. package/dist/esm/utils/{blame.js → blame.mjs} +6 -9
  229. package/dist/esm/utils/blame.mjs.map +1 -0
  230. package/dist/esm/utils/{date.js → date.mjs} +2 -3
  231. package/dist/esm/utils/date.mjs.map +1 -0
  232. package/dist/esm/utils/{diff.js → diff.mjs} +1 -1
  233. package/dist/esm/utils/diff.mjs.map +1 -0
  234. package/dist/esm/utils/{dom.js → dom.mjs} +1 -1
  235. package/dist/esm/utils/dom.mjs.map +1 -0
  236. package/dist/esm/utils/outcomes.mjs +30 -0
  237. package/dist/esm/utils/outcomes.mjs.map +1 -0
  238. package/dist/esm/utils/{questionnaire.js → questionnaire.mjs} +1 -1
  239. package/dist/esm/utils/questionnaire.mjs.map +1 -0
  240. package/dist/esm/utils/{recaptcha.js → recaptcha.mjs} +5 -6
  241. package/dist/esm/utils/recaptcha.mjs.map +1 -0
  242. package/dist/esm/utils/{script.js → script.mjs} +1 -1
  243. package/dist/esm/utils/script.mjs.map +1 -0
  244. package/package.json +22 -22
  245. package/rollup.config.mjs +6 -7
  246. package/dist/cjs/auth/OktaButton.d.ts +0 -5
  247. package/dist/cjs/index.js.map +0 -1
  248. package/dist/cjs/index.min.js +0 -2
  249. package/dist/cjs/index.min.js.map +0 -1
  250. package/dist/esm/AddressDisplay/AddressDisplay.js.map +0 -1
  251. package/dist/esm/AddressInput/AddressInput.js.map +0 -1
  252. package/dist/esm/AnnotationInput/AnnotationInput.js.map +0 -1
  253. package/dist/esm/AsyncAutocomplete/AsyncAutocomplete.js.map +0 -1
  254. package/dist/esm/AttachmentArrayDisplay/AttachmentArrayDisplay.js.map +0 -1
  255. package/dist/esm/AttachmentArrayInput/AttachmentArrayInput.js.map +0 -1
  256. package/dist/esm/AttachmentButton/AttachmentButton.js.map +0 -1
  257. package/dist/esm/AttachmentDisplay/AttachmentDisplay.js +0 -21
  258. package/dist/esm/AttachmentDisplay/AttachmentDisplay.js.map +0 -1
  259. package/dist/esm/AttachmentInput/AttachmentInput.js.map +0 -1
  260. package/dist/esm/BackboneElementDisplay/BackboneElementDisplay.js.map +0 -1
  261. package/dist/esm/BackboneElementInput/BackboneElementInput.js.map +0 -1
  262. package/dist/esm/CalendarInput/CalendarInput.js.map +0 -1
  263. package/dist/esm/CheckboxFormSection/CheckboxFormSection.js.map +0 -1
  264. package/dist/esm/CodeInput/CodeInput.js.map +0 -1
  265. package/dist/esm/CodeableConceptDisplay/CodeableConceptDisplay.js.map +0 -1
  266. package/dist/esm/CodeableConceptInput/CodeableConceptInput.js.map +0 -1
  267. package/dist/esm/CodingDisplay/CodingDisplay.js.map +0 -1
  268. package/dist/esm/CodingInput/CodingInput.js.map +0 -1
  269. package/dist/esm/ContactDetailDisplay/ContactDetailDisplay.js.map +0 -1
  270. package/dist/esm/ContactDetailInput/ContactDetailInput.js.map +0 -1
  271. package/dist/esm/ContactPointDisplay/ContactPointDisplay.js.map +0 -1
  272. package/dist/esm/ContactPointInput/ContactPointInput.js.map +0 -1
  273. package/dist/esm/Container/Container.js.map +0 -1
  274. package/dist/esm/DateTimeInput/DateTimeInput.js.map +0 -1
  275. package/dist/esm/DefaultResourceTimeline/DefaultResourceTimeline.js.map +0 -1
  276. package/dist/esm/DescriptionList/DescriptionList.js.map +0 -1
  277. package/dist/esm/DiagnosticReportDisplay/DiagnosticReportDisplay.js.map +0 -1
  278. package/dist/esm/Document/Document.js +0 -13
  279. package/dist/esm/Document/Document.js.map +0 -1
  280. package/dist/esm/EncounterTimeline/EncounterTimeline.js.map +0 -1
  281. package/dist/esm/ErrorBoundary/ErrorBoundary.js.map +0 -1
  282. package/dist/esm/ExtensionInput/ExtensionInput.js.map +0 -1
  283. package/dist/esm/FhirPathDisplay/FhirPathDisplay.js.map +0 -1
  284. package/dist/esm/FhirPathTable/FhirPathTable.js.map +0 -1
  285. package/dist/esm/Form/Form.js.map +0 -1
  286. package/dist/esm/Form/FormUtils.js.map +0 -1
  287. package/dist/esm/FormSection/FormSection.js.map +0 -1
  288. package/dist/esm/GoogleButton/GoogleButton.js.map +0 -1
  289. package/dist/esm/HumanNameDisplay/HumanNameDisplay.js.map +0 -1
  290. package/dist/esm/HumanNameInput/HumanNameInput.js +0 -39
  291. package/dist/esm/HumanNameInput/HumanNameInput.js.map +0 -1
  292. package/dist/esm/IdentifierDisplay/IdentifierDisplay.js +0 -12
  293. package/dist/esm/IdentifierDisplay/IdentifierDisplay.js.map +0 -1
  294. package/dist/esm/IdentifierInput/IdentifierInput.js.map +0 -1
  295. package/dist/esm/Logo/Logo.js.map +0 -1
  296. package/dist/esm/MedplumLink/MedplumLink.js.map +0 -1
  297. package/dist/esm/MedplumProvider/MedplumProvider.js.map +0 -1
  298. package/dist/esm/Panel/Panel.js.map +0 -1
  299. package/dist/esm/PatientTimeline/PatientTimeline.js.map +0 -1
  300. package/dist/esm/PeriodInput/PeriodInput.js.map +0 -1
  301. package/dist/esm/PlanDefinitionBuilder/PlanDefinitionBuilder.js.map +0 -1
  302. package/dist/esm/QuantityDisplay/QuantityDisplay.js.map +0 -1
  303. package/dist/esm/QuantityInput/QuantityInput.js.map +0 -1
  304. package/dist/esm/QuestionnaireBuilder/QuestionnaireBuilder.js.map +0 -1
  305. package/dist/esm/QuestionnaireForm/QuestionnaireForm.js.map +0 -1
  306. package/dist/esm/RangeDisplay/RangeDisplay.js.map +0 -1
  307. package/dist/esm/RangeInput/RangeInput.js.map +0 -1
  308. package/dist/esm/RatioDisplay/RatioDisplay.js.map +0 -1
  309. package/dist/esm/RatioInput/RatioInput.js.map +0 -1
  310. package/dist/esm/ReferenceDisplay/ReferenceDisplay.js.map +0 -1
  311. package/dist/esm/ReferenceInput/ReferenceInput.js.map +0 -1
  312. package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.js.map +0 -1
  313. package/dist/esm/RequestGroupDisplay/RequestGroupDisplay.js.map +0 -1
  314. package/dist/esm/ResourceArrayDisplay/ResourceArrayDisplay.js.map +0 -1
  315. package/dist/esm/ResourceArrayInput/ResourceArrayInput.js.map +0 -1
  316. package/dist/esm/ResourceAvatar/ResourceAvatar.js +0 -24
  317. package/dist/esm/ResourceAvatar/ResourceAvatar.js.map +0 -1
  318. package/dist/esm/ResourceBadge/ResourceBadge.js.map +0 -1
  319. package/dist/esm/ResourceBlame/ResourceBlame.js.map +0 -1
  320. package/dist/esm/ResourceDiff/ResourceDiff.js.map +0 -1
  321. package/dist/esm/ResourceDiffTable/ResourceDiffTable.js.map +0 -1
  322. package/dist/esm/ResourceForm/ResourceForm.js.map +0 -1
  323. package/dist/esm/ResourceHistoryTable/ResourceHistoryTable.js.map +0 -1
  324. package/dist/esm/ResourceInput/ResourceInput.js.map +0 -1
  325. package/dist/esm/ResourceName/ResourceName.js +0 -19
  326. package/dist/esm/ResourceName/ResourceName.js.map +0 -1
  327. package/dist/esm/ResourcePropertyDisplay/ResourcePropertyDisplay.js.map +0 -1
  328. package/dist/esm/ResourcePropertyInput/ResourcePropertyInput.js.map +0 -1
  329. package/dist/esm/ResourceTable/ResourceTable.js.map +0 -1
  330. package/dist/esm/ResourceTimeline/ResourceTimeline.js.map +0 -1
  331. package/dist/esm/Scheduler/Scheduler.js.map +0 -1
  332. package/dist/esm/SearchControl/SearchControl.js.map +0 -1
  333. package/dist/esm/SearchControl/SearchControlField.js.map +0 -1
  334. package/dist/esm/SearchControl/SearchUtils.js.map +0 -1
  335. package/dist/esm/SearchFieldEditor/SearchFieldEditor.js.map +0 -1
  336. package/dist/esm/SearchFilterEditor/SearchFilterEditor.js.map +0 -1
  337. package/dist/esm/SearchFilterValueDialog/SearchFilterValueDialog.js.map +0 -1
  338. package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.js.map +0 -1
  339. package/dist/esm/SearchFilterValueInput/SearchFilterValueInput.js.map +0 -1
  340. package/dist/esm/SearchPopupMenu/SearchPopupMenu.js.map +0 -1
  341. package/dist/esm/ServiceRequestTimeline/ServiceRequestTimeline.js.map +0 -1
  342. package/dist/esm/StatusBadge/StatusBadge.js.map +0 -1
  343. package/dist/esm/Timeline/Timeline.js.map +0 -1
  344. package/dist/esm/TimingInput/TimingInput.js.map +0 -1
  345. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.js +0 -45
  346. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.js.map +0 -1
  347. package/dist/esm/auth/AuthenticationForm.js +0 -54
  348. package/dist/esm/auth/AuthenticationForm.js.map +0 -1
  349. package/dist/esm/auth/ChooseProfileForm.js +0 -32
  350. package/dist/esm/auth/ChooseProfileForm.js.map +0 -1
  351. package/dist/esm/auth/ChooseScopeForm.js.map +0 -1
  352. package/dist/esm/auth/MfaForm.js.map +0 -1
  353. package/dist/esm/auth/NewProjectForm.js.map +0 -1
  354. package/dist/esm/auth/NewUserForm.js.map +0 -1
  355. package/dist/esm/auth/OktaButton.d.ts +0 -5
  356. package/dist/esm/auth/RegisterForm.js.map +0 -1
  357. package/dist/esm/auth/SignInForm.js.map +0 -1
  358. package/dist/esm/constants.js.map +0 -1
  359. package/dist/esm/index.js.map +0 -1
  360. package/dist/esm/index.min.js +0 -2
  361. package/dist/esm/index.min.js.map +0 -1
  362. package/dist/esm/node_modules/tslib/tslib.es6.js +0 -39
  363. package/dist/esm/node_modules/tslib/tslib.es6.js.map +0 -1
  364. package/dist/esm/useResource/useResource.js.map +0 -1
  365. package/dist/esm/utils/blame.js.map +0 -1
  366. package/dist/esm/utils/date.js.map +0 -1
  367. package/dist/esm/utils/diff.js.map +0 -1
  368. package/dist/esm/utils/dom.js.map +0 -1
  369. package/dist/esm/utils/outcomes.js +0 -29
  370. package/dist/esm/utils/outcomes.js.map +0 -1
  371. package/dist/esm/utils/questionnaire.js.map +0 -1
  372. package/dist/esm/utils/recaptcha.js.map +0 -1
  373. package/dist/esm/utils/script.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blame.mjs","sources":["../../../src/utils/blame.ts"],"sourcesContent":["import { stringify } from '@medplum/core';\nimport { Bundle, BundleEntry, Meta } from '@medplum/fhirtypes';\nimport { diff } from './diff';\n\nexport interface BlameRow {\n id: string;\n meta: Meta;\n value: string;\n span: number;\n}\n\nexport function blame(history: Bundle): BlameRow[] {\n // Convert to array of array of lines\n const versions = (history.entry as BundleEntry[])\n .filter((entry) => !!entry.resource)\n .map((entry) => ({\n meta: entry.resource?.meta as Meta,\n lines: stringify(entry.resource, true).match(/[^\\r\\n]+/g) as string[],\n }))\n .sort((a, b) => (a.meta.lastUpdated as string).localeCompare(b.meta.lastUpdated as string));\n\n // Start with array of lines from the first version\n const table: BlameRow[] = versions[0].lines.map((line) => ({\n id: versions[0].meta.versionId as string,\n meta: versions[0].meta,\n value: line,\n span: 1,\n }));\n\n compareVersions(table, versions);\n combineSpans(table);\n return table;\n}\n\n/**\n * For each version, update the blame table with revisions.\n * @param table The output blame table.\n * @param versions The array of versions.\n */\nfunction compareVersions(table: BlameRow[], versions: { meta: Meta; lines: string[] }[]): void {\n for (let i = 1; i < versions.length; i++) {\n const revisions = diff(versions[i - 1].lines, versions[i].lines);\n\n for (const revision of revisions) {\n const position = revision.original.position;\n const oldLines = revision.original.lines;\n const newLines = revision.revised.lines;\n\n if (revision.type === 'delete' || revision.type === 'change') {\n // Remove the old rows\n table.splice(position, oldLines.length);\n }\n\n if (revision.type === 'insert' || revision.type === 'change') {\n // Add the new lines\n for (let k = 0; k < revision.revised.lines.length; k++) {\n table.splice(position + k, 0, {\n id: versions[i].meta.versionId as string,\n meta: versions[i].meta,\n value: newLines[k],\n span: 1,\n });\n }\n }\n }\n }\n}\n\n/**\n * Combine adjacent rows into spans.\n * @param table The output blame table.\n */\nfunction combineSpans(table: BlameRow[]): void {\n let start = 0;\n while (start < table.length) {\n let curr = start;\n while (curr < table.length && table[curr].id === table[start].id) {\n table[curr].span = -1;\n curr++;\n }\n table[start].span = curr - start;\n start = curr;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -24,7 +24,6 @@ function getPriorityScore(resource) {
24
24
  return 0;
25
25
  }
26
26
  function getTime(resource) {
27
- var _a;
28
27
  if (resource.resourceType === 'Communication' && resource.sent) {
29
28
  return new Date(resource.sent).getTime();
30
29
  }
@@ -37,7 +36,7 @@ function getTime(resource) {
37
36
  if (resource.resourceType === 'DocumentReference' && resource.date) {
38
37
  return new Date(resource.date).getTime();
39
38
  }
40
- const dateTime = (_a = resource.meta) === null || _a === void 0 ? void 0 : _a.lastUpdated;
39
+ const dateTime = resource.meta?.lastUpdated;
41
40
  if (!dateTime) {
42
41
  return 0;
43
42
  }
@@ -45,4 +44,4 @@ function getTime(resource) {
45
44
  }
46
45
 
47
46
  export { sortByDateAndPriority };
48
- //# sourceMappingURL=date.js.map
47
+ //# sourceMappingURL=date.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.mjs","sources":["../../../src/utils/date.ts"],"sourcesContent":["import { Resource } from '@medplum/fhirtypes';\n\n/**\n * Sorts an array of resources in place by meta.lastUpdated ascending.\n * @param resources Array of resources.\n */\nexport function sortByDateAndPriority(resources: Resource[]): void {\n resources.sort(resourceDateComparator);\n}\n\nfunction resourceDateComparator(a: Resource, b: Resource): number {\n const priority1 = getPriorityScore(a);\n const priority2 = getPriorityScore(b);\n if (priority1 > priority2) {\n return 1;\n }\n if (priority1 < priority2) {\n return -1;\n }\n return getTime(a) - getTime(b);\n}\n\nfunction getPriorityScore(resource: Resource): number {\n const priority = (resource as any).priority;\n if (typeof priority === 'string') {\n return { stat: 4, asap: 3, urgent: 2 }[priority] || 0;\n }\n return 0;\n}\n\nfunction getTime(resource: Resource): number {\n if (resource.resourceType === 'Communication' && resource.sent) {\n return new Date(resource.sent).getTime();\n }\n\n if (\n (resource.resourceType === 'DiagnosticReport' ||\n resource.resourceType === 'Media' ||\n resource.resourceType === 'Observation') &&\n resource.issued\n ) {\n return new Date(resource.issued).getTime();\n }\n\n if (resource.resourceType === 'DocumentReference' && resource.date) {\n return new Date(resource.date).getTime();\n }\n\n const dateTime = resource.meta?.lastUpdated;\n if (!dateTime) {\n return 0;\n }\n return new Date(dateTime).getTime();\n}\n"],"names":[],"mappings":"AAEA;;;AAGG;AACG,SAAU,qBAAqB,CAAC,SAAqB,EAAA;AACzD,IAAA,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAW,EAAE,CAAW,EAAA;AACtD,IAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACtC,IAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,SAAS,EAAE;AACzB,QAAA,OAAO,CAAC,CAAC;AACV,KAAA;IACD,IAAI,SAAS,GAAG,SAAS,EAAE;QACzB,OAAO,CAAC,CAAC,CAAC;AACX,KAAA;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB,EAAA;AAC1C,IAAA,MAAM,QAAQ,GAAI,QAAgB,CAAC,QAAQ,CAAC;AAC5C,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,QAAA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvD,KAAA;AACD,IAAA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,OAAO,CAAC,QAAkB,EAAA;IACjC,IAAI,QAAQ,CAAC,YAAY,KAAK,eAAe,IAAI,QAAQ,CAAC,IAAI,EAAE;QAC9D,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1C,KAAA;AAED,IAAA,IACE,CAAC,QAAQ,CAAC,YAAY,KAAK,kBAAkB;QAC3C,QAAQ,CAAC,YAAY,KAAK,OAAO;AACjC,QAAA,QAAQ,CAAC,YAAY,KAAK,aAAa;QACzC,QAAQ,CAAC,MAAM,EACf;QACA,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5C,KAAA;IAED,IAAI,QAAQ,CAAC,YAAY,KAAK,mBAAmB,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1C,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,CAAC,CAAC;AACV,KAAA;IACD,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;AACtC;;;;"}
@@ -115,4 +115,4 @@ function previousSnake(node) {
115
115
  }
116
116
 
117
117
  export { diff };
118
- //# sourceMappingURL=diff.js.map
118
+ //# sourceMappingURL=diff.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.mjs","sources":["../../../src/utils/diff.ts"],"sourcesContent":["/*\n * Myers Diff algorithm\n * Based on: https://github.com/KengoTODA/java-diff-utils/blob/master/src/main/java/difflib/myers/MyersDiff.java\n * Apache Software License, Version 1.1\n */\n\nexport function diff(original: string[], revised: string[]): Delta[] {\n const path = buildPath(original, revised) as PathNode;\n return buildRevisions(path, original, revised);\n}\n\nexport interface PathNode {\n readonly i: number;\n readonly j: number;\n readonly prev: PathNode | undefined;\n readonly snake: boolean;\n}\n\nexport interface Delta {\n readonly original: Chunk;\n readonly revised: Chunk;\n readonly type: 'change' | 'delete' | 'insert';\n}\n\nexport interface Chunk {\n readonly position: number;\n readonly lines: string[];\n}\n\nfunction buildPath(orig: string[], rev: string[]): PathNode | undefined {\n const N = orig.length;\n const M = rev.length;\n const MAX = N + M + 1;\n const size = 1 + 2 * MAX;\n const middle = (size / 2) | 0;\n const diagonal: (PathNode | undefined)[] = new Array(size);\n\n diagonal[middle + 1] = {\n i: 0,\n j: -1,\n prev: undefined,\n snake: true,\n };\n\n for (let d = 0; d < MAX; d++) {\n for (let k = -d; k <= d; k += 2) {\n const kmiddle = middle + k;\n const kplus = kmiddle + 1;\n const kminus = kmiddle - 1;\n const kplusNode = diagonal[kplus] as PathNode;\n const kminusNode = diagonal[kminus] as PathNode;\n let prev: PathNode | undefined = undefined;\n let i = 0;\n\n if (k === -d || (k !== d && kminusNode.i < kplusNode.i)) {\n i = kplusNode.i;\n prev = kplusNode;\n } else {\n i = kminusNode.i + 1;\n prev = kminusNode;\n }\n\n diagonal[kminus] = undefined; // no longer used\n\n let j = i - k;\n let node = {\n i,\n j,\n prev: previousSnake(prev),\n snake: false,\n };\n\n // orig and rev are zero-based\n // but the algorithm is one-based\n // that's why there's no +1 when indexing the sequences\n while (i < N && j < M && orig[i] === rev[j]) {\n i++;\n j++;\n }\n\n if (i > node.i) {\n node = {\n i,\n j,\n prev: node,\n snake: true,\n };\n }\n\n diagonal[kmiddle] = node;\n\n if (i >= N && j >= M) {\n return diagonal[kmiddle] as PathNode;\n }\n }\n diagonal[middle + d - 1] = undefined;\n }\n\n // According to Myers, this cannot happen\n return undefined;\n}\n\nfunction buildRevisions(startNode: PathNode, orig: string[], rev: string[]): Delta[] {\n const deltas: Delta[] = [];\n let path: PathNode | undefined = startNode;\n\n if (path.snake) {\n path = path.prev;\n }\n\n while (path && path.prev && path.prev.j >= 0) {\n const i = path.i;\n const j = path.j;\n\n path = path.prev;\n const ianchor = path.i;\n const janchor = path.j;\n\n const original = {\n position: ianchor,\n lines: orig.slice(ianchor, i),\n };\n\n const revised = {\n position: janchor,\n lines: rev.slice(janchor, j),\n };\n\n let type: 'insert' | 'delete' | 'change';\n\n if (original.lines.length === 0 && revised.lines.length > 0) {\n type = 'insert';\n } else if (original.lines.length > 0 && revised.lines.length === 0) {\n type = 'delete';\n } else {\n type = 'change';\n }\n\n deltas.push({ original, revised, type });\n\n if (path.snake) {\n path = path.prev;\n }\n }\n\n return deltas;\n}\n\nfunction previousSnake(node: PathNode): PathNode {\n if (node && !node.snake && node.prev) {\n return node.prev;\n }\n return node;\n}\n"],"names":[],"mappings":"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"}
@@ -31,4 +31,4 @@ function isCheckboxElement(el) {
31
31
  }
32
32
 
33
33
  export { isCheckboxCell, killEvent };
34
- //# sourceMappingURL=dom.js.map
34
+ //# sourceMappingURL=dom.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.mjs","sources":["../../../src/utils/dom.ts"],"sourcesContent":["/**\n * Kills a browser event.\n * Prevents default behavior.\n * Stops event propagation.\n * @param e The event.\n */\nexport function killEvent(e: Event | React.SyntheticEvent): void {\n e.preventDefault();\n e.stopPropagation();\n}\n\n/**\n * Returns true if the element is a checkbox or a table cell containing a checkbox.\n * Table cells containing checkboxes are commonly accidentally clicked.\n * @param el The HTML DOM element.\n * @returns True if the element is a checkbox or a table cell containing a checkbox.\n */\nexport function isCheckboxCell(el: Element): boolean {\n if (isCheckboxElement(el)) {\n return true;\n }\n\n if (el instanceof HTMLTableCellElement) {\n const children = el.children;\n if (children.length === 1 && isCheckboxElement(children[0])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isCheckboxElement(el: Element): boolean {\n return el instanceof HTMLInputElement && el.type === 'checkbox';\n}\n"],"names":[],"mappings":"AAAA;;;;;AAKG;AACG,SAAU,SAAS,CAAC,CAA+B,EAAA;IACvD,CAAC,CAAC,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACtB,CAAC;AAED;;;;;AAKG;AACG,SAAU,cAAc,CAAC,EAAW,EAAA;AACxC,IAAA,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE;AACzB,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAED,IAAI,EAAE,YAAY,oBAAoB,EAAE;AACtC,QAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AAC7B,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AAC3D,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACF,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAW,EAAA;IACpC,OAAO,EAAE,YAAY,gBAAgB,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;AAClE;;;;"}
@@ -0,0 +1,30 @@
1
+ function getErrorsForInput(outcome, expression) {
2
+ return outcome?.issue
3
+ ?.filter((issue) => isExpressionMatch(issue.expression?.[0], expression))
4
+ ?.map((issue) => issue.details?.text)
5
+ ?.join('\n');
6
+ }
7
+ function getIssuesForExpression(outcome, expression) {
8
+ return outcome?.issue?.filter((issue) => isExpressionMatch(issue.expression?.[0], expression));
9
+ }
10
+ function isExpressionMatch(expr1, expr2) {
11
+ // Expression can be either "fieldName" or "resourceType.fieldName"
12
+ if (expr1 === expr2) {
13
+ return true;
14
+ }
15
+ if (!expr1 || !expr2) {
16
+ return false;
17
+ }
18
+ const dot1 = expr1.indexOf('.');
19
+ if (dot1 >= 0 && expr1.substring(dot1 + 1) === expr2) {
20
+ return true;
21
+ }
22
+ const dot2 = expr2.indexOf('.');
23
+ if (dot2 >= 0 && expr2.substring(dot2 + 1) === expr1) {
24
+ return true;
25
+ }
26
+ return false;
27
+ }
28
+
29
+ export { getErrorsForInput, getIssuesForExpression };
30
+ //# sourceMappingURL=outcomes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcomes.mjs","sources":["../../../src/utils/outcomes.ts"],"sourcesContent":["import { OperationOutcome, OperationOutcomeIssue } from '@medplum/fhirtypes';\n\nexport function getErrorsForInput(\n outcome: OperationOutcome | undefined,\n expression: string | undefined\n): string | undefined {\n return outcome?.issue\n ?.filter((issue) => isExpressionMatch(issue.expression?.[0], expression))\n ?.map((issue) => issue.details?.text)\n ?.join('\\n');\n}\n\nexport function getIssuesForExpression(\n outcome: OperationOutcome | undefined,\n expression: string | undefined\n): OperationOutcomeIssue[] | undefined {\n return outcome?.issue?.filter((issue) => isExpressionMatch(issue.expression?.[0], expression));\n}\n\nfunction isExpressionMatch(expr1: string | undefined, expr2: string | undefined): boolean {\n // Expression can be either \"fieldName\" or \"resourceType.fieldName\"\n if (expr1 === expr2) {\n return true;\n }\n if (!expr1 || !expr2) {\n return false;\n }\n const dot1 = expr1.indexOf('.');\n if (dot1 >= 0 && expr1.substring(dot1 + 1) === expr2) {\n return true;\n }\n const dot2 = expr2.indexOf('.');\n if (dot2 >= 0 && expr2.substring(dot2 + 1) === expr1) {\n return true;\n }\n return false;\n}\n"],"names":[],"mappings":"AAEgB,SAAA,iBAAiB,CAC/B,OAAqC,EACrC,UAA8B,EAAA;IAE9B,OAAO,OAAO,EAAE,KAAK;AACnB,UAAE,MAAM,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACzE,UAAE,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACrC,UAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAEe,SAAA,sBAAsB,CACpC,OAAqC,EACrC,UAA8B,EAAA;IAE9B,OAAO,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB,EAAE,KAAyB,EAAA;;IAE7E,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAChC,IAAA,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE;AACpD,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAChC,IAAA,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE;AACpD,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf;;;;"}
@@ -23,4 +23,4 @@ function isChoiceQuestion(item) {
23
23
  }
24
24
 
25
25
  export { QuestionnaireItemType, isChoiceQuestion };
26
- //# sourceMappingURL=questionnaire.js.map
26
+ //# sourceMappingURL=questionnaire.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questionnaire.mjs","sources":["../../../src/utils/questionnaire.ts"],"sourcesContent":["import { QuestionnaireItem } from '@medplum/fhirtypes';\n\nexport enum QuestionnaireItemType {\n group = 'group',\n display = 'display',\n question = 'question',\n boolean = 'boolean',\n decimal = 'decimal',\n integer = 'integer',\n date = 'date',\n dateTime = 'dateTime',\n time = 'time',\n string = 'string',\n text = 'text',\n url = 'url',\n choice = 'choice',\n openChoice = 'open-choice',\n attachment = 'attachment',\n reference = 'reference',\n quantity = 'quantity',\n}\n\nexport function isChoiceQuestion(item: QuestionnaireItem): boolean {\n return item.type === 'choice' || item.type === 'open-choice';\n}\n"],"names":[],"mappings":"IAEY,sBAkBX;AAlBD,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,qBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;AAC1B,IAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAlBW,qBAAqB,KAArB,qBAAqB,GAkBhC,EAAA,CAAA,CAAA,CAAA;AAEK,SAAU,gBAAgB,CAAC,IAAuB,EAAA;IACtD,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;AAC/D;;;;"}
@@ -1,5 +1,4 @@
1
- import { __awaiter } from '../node_modules/tslib/tslib.es6.js';
2
- import { createScriptTag } from './script.js';
1
+ import { createScriptTag } from './script.mjs';
3
2
 
4
3
  /**
5
4
  * Dynamically loads the recaptcha script.
@@ -18,16 +17,16 @@ function initRecaptcha(siteKey) {
18
17
  */
19
18
  function getRecaptcha(siteKey) {
20
19
  return new Promise((resolve, reject) => {
21
- grecaptcha.ready(() => __awaiter(this, void 0, void 0, function* () {
20
+ grecaptcha.ready(async () => {
22
21
  try {
23
- resolve(yield grecaptcha.execute(siteKey, { action: 'submit' }));
22
+ resolve(await grecaptcha.execute(siteKey, { action: 'submit' }));
24
23
  }
25
24
  catch (err) {
26
25
  reject(err);
27
26
  }
28
- }));
27
+ });
29
28
  });
30
29
  }
31
30
 
32
31
  export { getRecaptcha, initRecaptcha };
33
- //# sourceMappingURL=recaptcha.js.map
32
+ //# sourceMappingURL=recaptcha.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recaptcha.mjs","sources":["../../../src/utils/recaptcha.ts"],"sourcesContent":["import { createScriptTag } from './script';\n\n/**\n * Dynamically loads the recaptcha script.\n * We do not want to load the script on page load unless the user needs it.\n * @param siteKey The reCAPTCHA site key, available from the reCAPTCHA admin page.\n */\nexport function initRecaptcha(siteKey: string): void {\n if (typeof grecaptcha === 'undefined') {\n createScriptTag('https://www.google.com/recaptcha/api.js?render=' + siteKey);\n }\n}\n\n/**\n * Starts a request to generate a recapcha token.\n * @param siteKey The reCAPTCHA site key, available from the reCAPTCHA admin page.\n * @returns Promise to a recaptcha token for the current user.\n */\nexport function getRecaptcha(siteKey: string): Promise<string> {\n return new Promise((resolve, reject) => {\n grecaptcha.ready(async () => {\n try {\n resolve(await grecaptcha.execute(siteKey, { action: 'submit' }));\n } catch (err) {\n reject(err);\n }\n });\n });\n}\n"],"names":[],"mappings":";;AAEA;;;;AAIG;AACG,SAAU,aAAa,CAAC,OAAe,EAAA;AAC3C,IAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACrC,QAAA,eAAe,CAAC,iDAAiD,GAAG,OAAO,CAAC,CAAC;AAC9E,KAAA;AACH,CAAC;AAED;;;;AAIG;AACG,SAAU,YAAY,CAAC,OAAe,EAAA;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,UAAU,CAAC,KAAK,CAAC,YAAW;YAC1B,IAAI;AACF,gBAAA,OAAO,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAClE,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;AACb,aAAA;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACL;;;;"}
@@ -12,4 +12,4 @@ function createScriptTag(src, onload) {
12
12
  }
13
13
 
14
14
  export { createScriptTag };
15
- //# sourceMappingURL=script.js.map
15
+ //# sourceMappingURL=script.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.mjs","sources":["../../../src/utils/script.ts"],"sourcesContent":["/**\n * Dynamically creates a script tag for the specified JavaScript file.\n * @param src The JavaScript file URL.\n */\nexport function createScriptTag(src: string, onload?: () => void): void {\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.async = true;\n script.src = src;\n script.onload = onload || null;\n head.appendChild(script);\n}\n"],"names":[],"mappings":"AAAA;;;AAGG;AACa,SAAA,eAAe,CAAC,GAAW,EAAE,MAAmB,EAAA;IAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,IAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;AACpB,IAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,IAAA,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC;AAC/B,IAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC3B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/react",
3
- "version": "1.0.5",
3
+ "version": "2.0.0",
4
4
  "description": "Medplum React Component Library",
5
5
  "author": "Medplum <hello@medplum.com>",
6
6
  "license": "Apache-2.0",
@@ -20,27 +20,27 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@emotion/react": "11.10.5",
23
- "@mantine/core": "5.8.3",
24
- "@mantine/hooks": "5.8.3",
25
- "@mantine/notifications": "5.8.3",
23
+ "@mantine/core": "5.10.0",
24
+ "@mantine/hooks": "5.10.0",
25
+ "@mantine/notifications": "5.10.0",
26
26
  "@medplum/core": "*",
27
27
  "@medplum/definitions": "*",
28
28
  "@medplum/fhirtypes": "*",
29
29
  "@medplum/mock": "*",
30
- "@tabler/icons": "1.113.0",
31
- "@storybook/addon-actions": "6.5.13",
32
- "@storybook/addon-essentials": "6.5.13",
33
- "@storybook/addon-links": "6.5.13",
34
- "@storybook/builder-webpack5": "6.5.13",
35
- "@storybook/manager-webpack5": "6.5.13",
36
- "@storybook/react": "6.5.13",
37
- "@testing-library/dom": "8.19.0",
30
+ "@tabler/icons": "1.119.0",
31
+ "@storybook/addon-actions": "6.5.15",
32
+ "@storybook/addon-essentials": "6.5.15",
33
+ "@storybook/addon-links": "6.5.15",
34
+ "@storybook/builder-webpack5": "6.5.15",
35
+ "@storybook/manager-webpack5": "6.5.15",
36
+ "@storybook/react": "6.5.15",
37
+ "@testing-library/dom": "8.19.1",
38
38
  "@testing-library/jest-dom": "5.16.5",
39
39
  "@testing-library/react": "13.4.0",
40
- "@types/jest": "29.2.3",
41
- "@types/node": "18.11.9",
42
- "@types/react": "18.0.25",
43
- "@types/react-dom": "18.0.9",
40
+ "@types/jest": "29.2.5",
41
+ "@types/node": "18.11.18",
42
+ "@types/react": "18.0.26",
43
+ "@types/react-dom": "18.0.10",
44
44
  "@types/react-router-dom": "5.3.3",
45
45
  "dotenv-webpack": "8.0.1",
46
46
  "identity-obj-proxy": "3.0.0",
@@ -49,9 +49,9 @@
49
49
  "html-webpack-plugin": "5.5.0",
50
50
  "react": "18.2.0",
51
51
  "react-dom": "18.2.0",
52
- "react-router-dom": "6.4.3",
52
+ "react-router-dom": "6.6.1",
53
53
  "rimraf": "3.0.2",
54
- "typescript": "4.9.3"
54
+ "typescript": "4.9.4"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "@emotion/react": "^11.10.4",
@@ -81,12 +81,12 @@
81
81
  "optional": true
82
82
  }
83
83
  },
84
- "main": "dist/cjs/index.js",
85
- "module": "dist/esm/index.js",
84
+ "main": "dist/cjs/index.cjs",
85
+ "module": "dist/esm/index.mjs",
86
86
  "exports": {
87
87
  ".": {
88
- "require": "./dist/cjs/index.js",
89
- "import": "./dist/esm/index.js"
88
+ "require": "./dist/cjs/index.cjs",
89
+ "import": "./dist/esm/index.mjs"
90
90
  }
91
91
  },
92
92
  "types": "dist/esm/index.d.ts",
package/rollup.config.mjs CHANGED
@@ -30,7 +30,7 @@ export default [
30
30
  input: 'src/index.ts',
31
31
  output: [
32
32
  {
33
- file: 'dist/cjs/index.js',
33
+ file: 'dist/cjs/index.cjs',
34
34
  format: 'umd',
35
35
  name: 'medplum.react',
36
36
  sourcemap: true,
@@ -38,11 +38,10 @@ export default [
38
38
  globals,
39
39
  },
40
40
  {
41
- file: 'dist/cjs/index.min.js',
41
+ file: 'dist/cjs/index.min.cjs',
42
42
  format: 'umd',
43
43
  name: 'medplum.react',
44
- plugins: [terser()],
45
- sourcemap: true,
44
+ plugins: [terser({ sourceMap: true})],
46
45
  sourcemapPathTransform,
47
46
  globals,
48
47
  },
@@ -73,6 +72,7 @@ export default [
73
72
  output: [
74
73
  {
75
74
  dir: 'dist/esm',
75
+ entryFileNames: '[name].mjs',
76
76
  format: 'esm',
77
77
  preserveModules: true,
78
78
  preserveModulesRoot: 'src',
@@ -80,10 +80,9 @@ export default [
80
80
  sourcemapPathTransform,
81
81
  },
82
82
  {
83
- file: 'dist/esm/index.min.js',
83
+ file: 'dist/esm/index.min.mjs',
84
84
  format: 'esm',
85
- plugins: [terser()],
86
- sourcemap: true,
85
+ plugins: [terser({ sourceMap: true})],
87
86
  sourcemapPathTransform,
88
87
  },
89
88
  ],
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- export interface OktaButtonProps {
3
- readonly oktaClientId?: string;
4
- }
5
- export declare function OktaButton(props: OktaButtonProps): JSX.Element;