@medplum/react 1.0.5 → 1.0.6

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 (364) 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/{index.js → index.cjs} +598 -518
  6. package/dist/cjs/index.cjs.map +1 -0
  7. package/dist/cjs/index.d.ts +2 -0
  8. package/dist/cjs/index.min.cjs +1 -0
  9. package/dist/esm/AddressDisplay/{AddressDisplay.js → AddressDisplay.mjs} +1 -1
  10. package/dist/esm/AddressDisplay/AddressDisplay.mjs.map +1 -0
  11. package/dist/esm/AddressInput/{AddressInput.js → AddressInput.mjs} +9 -9
  12. package/dist/esm/AddressInput/AddressInput.mjs.map +1 -0
  13. package/dist/esm/AnnotationInput/{AnnotationInput.js → AnnotationInput.mjs} +2 -2
  14. package/dist/esm/AnnotationInput/AnnotationInput.mjs.map +1 -0
  15. package/dist/esm/AsyncAutocomplete/{AsyncAutocomplete.js → AsyncAutocomplete.mjs} +7 -10
  16. package/dist/esm/AsyncAutocomplete/AsyncAutocomplete.mjs.map +1 -0
  17. package/dist/esm/AttachmentArrayDisplay/{AttachmentArrayDisplay.js → AttachmentArrayDisplay.mjs} +2 -2
  18. package/dist/esm/AttachmentArrayDisplay/AttachmentArrayDisplay.mjs.map +1 -0
  19. package/dist/esm/AttachmentArrayInput/{AttachmentArrayInput.js → AttachmentArrayInput.mjs} +6 -7
  20. package/dist/esm/AttachmentArrayInput/AttachmentArrayInput.mjs.map +1 -0
  21. package/dist/esm/AttachmentButton/{AttachmentButton.js → AttachmentButton.mjs} +5 -7
  22. package/dist/esm/AttachmentButton/AttachmentButton.mjs.map +1 -0
  23. package/dist/esm/AttachmentDisplay/AttachmentDisplay.mjs +21 -0
  24. package/dist/esm/AttachmentDisplay/AttachmentDisplay.mjs.map +1 -0
  25. package/dist/esm/AttachmentInput/{AttachmentInput.js → AttachmentInput.mjs} +5 -5
  26. package/dist/esm/AttachmentInput/AttachmentInput.mjs.map +1 -0
  27. package/dist/esm/BackboneElementDisplay/{BackboneElementDisplay.js → BackboneElementDisplay.mjs} +4 -4
  28. package/dist/esm/BackboneElementDisplay/BackboneElementDisplay.mjs.map +1 -0
  29. package/dist/esm/BackboneElementInput/{BackboneElementInput.js → BackboneElementInput.mjs} +10 -11
  30. package/dist/esm/BackboneElementInput/BackboneElementInput.mjs.map +1 -0
  31. package/dist/esm/CalendarInput/{CalendarInput.js → CalendarInput.mjs} +1 -1
  32. package/dist/esm/CalendarInput/CalendarInput.mjs.map +1 -0
  33. package/dist/esm/CheckboxFormSection/{CheckboxFormSection.js → CheckboxFormSection.mjs} +1 -1
  34. package/dist/esm/CheckboxFormSection/CheckboxFormSection.mjs.map +1 -0
  35. package/dist/esm/CodeInput/{CodeInput.js → CodeInput.mjs} +3 -3
  36. package/dist/esm/CodeInput/CodeInput.mjs.map +1 -0
  37. package/dist/esm/CodeableConceptDisplay/{CodeableConceptDisplay.js → CodeableConceptDisplay.mjs} +1 -1
  38. package/dist/esm/CodeableConceptDisplay/CodeableConceptDisplay.mjs.map +1 -0
  39. package/dist/esm/CodeableConceptInput/{CodeableConceptInput.js → CodeableConceptInput.mjs} +3 -4
  40. package/dist/esm/CodeableConceptInput/CodeableConceptInput.mjs.map +1 -0
  41. package/dist/esm/CodingDisplay/{CodingDisplay.js → CodingDisplay.mjs} +1 -1
  42. package/dist/esm/CodingDisplay/CodingDisplay.mjs.map +1 -0
  43. package/dist/esm/CodingInput/{CodingInput.js → CodingInput.mjs} +2 -2
  44. package/dist/esm/CodingInput/CodingInput.mjs.map +1 -0
  45. package/dist/esm/ContactDetailDisplay/{ContactDetailDisplay.js → ContactDetailDisplay.mjs} +4 -5
  46. package/dist/esm/ContactDetailDisplay/ContactDetailDisplay.mjs.map +1 -0
  47. package/dist/esm/ContactDetailInput/{ContactDetailInput.js → ContactDetailInput.mjs} +6 -7
  48. package/dist/esm/ContactDetailInput/ContactDetailInput.mjs.map +1 -0
  49. package/dist/esm/ContactPointDisplay/{ContactPointDisplay.js → ContactPointDisplay.mjs} +1 -1
  50. package/dist/esm/ContactPointDisplay/ContactPointDisplay.mjs.map +1 -0
  51. package/dist/esm/ContactPointInput/{ContactPointInput.js → ContactPointInput.mjs} +7 -7
  52. package/dist/esm/ContactPointInput/ContactPointInput.mjs.map +1 -0
  53. package/dist/esm/Container/{Container.js → Container.mjs} +3 -4
  54. package/dist/esm/Container/Container.mjs.map +1 -0
  55. package/dist/esm/DateTimeInput/{DateTimeInput.js → DateTimeInput.mjs} +2 -2
  56. package/dist/esm/DateTimeInput/DateTimeInput.mjs.map +1 -0
  57. package/dist/esm/DefaultResourceTimeline/{DefaultResourceTimeline.js → DefaultResourceTimeline.mjs} +2 -2
  58. package/dist/esm/DefaultResourceTimeline/DefaultResourceTimeline.mjs.map +1 -0
  59. package/dist/esm/DescriptionList/{DescriptionList.js → DescriptionList.mjs} +1 -1
  60. package/dist/esm/DescriptionList/DescriptionList.mjs.map +1 -0
  61. package/dist/esm/DiagnosticReportDisplay/{DiagnosticReportDisplay.js → DiagnosticReportDisplay.mjs} +13 -16
  62. package/dist/esm/DiagnosticReportDisplay/DiagnosticReportDisplay.mjs.map +1 -0
  63. package/dist/esm/Document/Document.mjs +12 -0
  64. package/dist/esm/Document/Document.mjs.map +1 -0
  65. package/dist/esm/EncounterTimeline/{EncounterTimeline.js → EncounterTimeline.mjs} +2 -2
  66. package/dist/esm/EncounterTimeline/EncounterTimeline.mjs.map +1 -0
  67. package/dist/esm/ErrorBoundary/{ErrorBoundary.js → ErrorBoundary.mjs} +1 -1
  68. package/dist/esm/ErrorBoundary/ErrorBoundary.mjs.map +1 -0
  69. package/dist/esm/ExtensionInput/{ExtensionInput.js → ExtensionInput.mjs} +1 -1
  70. package/dist/esm/ExtensionInput/ExtensionInput.mjs.map +1 -0
  71. package/dist/esm/FhirPathDisplay/{FhirPathDisplay.js → FhirPathDisplay.mjs} +2 -2
  72. package/dist/esm/FhirPathDisplay/FhirPathDisplay.mjs.map +1 -0
  73. package/dist/esm/FhirPathTable/{FhirPathTable.js → FhirPathTable.mjs} +14 -17
  74. package/dist/esm/FhirPathTable/FhirPathTable.mjs.map +1 -0
  75. package/dist/esm/Form/{Form.js → Form.mjs} +2 -2
  76. package/dist/esm/Form/Form.mjs.map +1 -0
  77. package/dist/esm/Form/{FormUtils.js → FormUtils.mjs} +1 -1
  78. package/dist/esm/Form/FormUtils.mjs.map +1 -0
  79. package/dist/esm/FormSection/{FormSection.js → FormSection.mjs} +2 -2
  80. package/dist/esm/FormSection/FormSection.mjs.map +1 -0
  81. package/dist/esm/GoogleButton/{GoogleButton.js → GoogleButton.mjs} +4 -5
  82. package/dist/esm/GoogleButton/GoogleButton.mjs.map +1 -0
  83. package/dist/esm/HumanNameDisplay/{HumanNameDisplay.js → HumanNameDisplay.mjs} +1 -1
  84. package/dist/esm/HumanNameDisplay/HumanNameDisplay.mjs.map +1 -0
  85. package/dist/esm/HumanNameInput/HumanNameInput.mjs +50 -0
  86. package/dist/esm/HumanNameInput/HumanNameInput.mjs.map +1 -0
  87. package/dist/esm/IdentifierDisplay/IdentifierDisplay.mjs +11 -0
  88. package/dist/esm/IdentifierDisplay/IdentifierDisplay.mjs.map +1 -0
  89. package/dist/esm/IdentifierInput/{IdentifierInput.js → IdentifierInput.mjs} +3 -3
  90. package/dist/esm/IdentifierInput/IdentifierInput.mjs.map +1 -0
  91. package/dist/esm/Logo/{Logo.js → Logo.mjs} +1 -1
  92. package/dist/esm/Logo/Logo.mjs.map +1 -0
  93. package/dist/esm/MedplumLink/{MedplumLink.js → MedplumLink.mjs} +5 -6
  94. package/dist/esm/MedplumLink/MedplumLink.mjs.map +1 -0
  95. package/dist/esm/MedplumProvider/{MedplumProvider.js → MedplumProvider.mjs} +9 -3
  96. package/dist/esm/MedplumProvider/MedplumProvider.mjs.map +1 -0
  97. package/dist/esm/MoneyDisplay/MoneyDisplay.d.ts +6 -0
  98. package/dist/esm/MoneyDisplay/MoneyDisplay.mjs +9 -0
  99. package/dist/esm/MoneyDisplay/MoneyDisplay.mjs.map +1 -0
  100. package/dist/esm/MoneyInput/MoneyInput.d.ts +10 -0
  101. package/dist/esm/MoneyInput/MoneyInput.mjs +53 -0
  102. package/dist/esm/MoneyInput/MoneyInput.mjs.map +1 -0
  103. package/dist/esm/MoneyInput/MoneyInput.stories.d.ts +6 -0
  104. package/dist/esm/Panel/{Panel.js → Panel.mjs} +3 -4
  105. package/dist/esm/Panel/Panel.mjs.map +1 -0
  106. package/dist/esm/PatientTimeline/{PatientTimeline.js → PatientTimeline.mjs} +2 -2
  107. package/dist/esm/PatientTimeline/PatientTimeline.mjs.map +1 -0
  108. package/dist/esm/PeriodInput/{PeriodInput.js → PeriodInput.mjs} +4 -4
  109. package/dist/esm/PeriodInput/PeriodInput.mjs.map +1 -0
  110. package/dist/esm/PlanDefinitionBuilder/{PlanDefinitionBuilder.js → PlanDefinitionBuilder.mjs} +36 -24
  111. package/dist/esm/PlanDefinitionBuilder/PlanDefinitionBuilder.mjs.map +1 -0
  112. package/dist/esm/QuantityDisplay/{QuantityDisplay.js → QuantityDisplay.mjs} +1 -1
  113. package/dist/esm/QuantityDisplay/QuantityDisplay.mjs.map +1 -0
  114. package/dist/esm/QuantityInput/{QuantityInput.js → QuantityInput.mjs} +13 -5
  115. package/dist/esm/QuantityInput/QuantityInput.mjs.map +1 -0
  116. package/dist/esm/QuestionnaireBuilder/{QuestionnaireBuilder.js → QuestionnaireBuilder.mjs} +45 -27
  117. package/dist/esm/QuestionnaireBuilder/QuestionnaireBuilder.mjs.map +1 -0
  118. package/dist/esm/QuestionnaireForm/{QuestionnaireForm.js → QuestionnaireForm.mjs} +36 -36
  119. package/dist/esm/QuestionnaireForm/QuestionnaireForm.mjs.map +1 -0
  120. package/dist/esm/RangeDisplay/{RangeDisplay.js → RangeDisplay.mjs} +1 -1
  121. package/dist/esm/RangeDisplay/RangeDisplay.mjs.map +1 -0
  122. package/dist/esm/RangeInput/{RangeInput.js → RangeInput.mjs} +10 -4
  123. package/dist/esm/RangeInput/RangeInput.mjs.map +1 -0
  124. package/dist/esm/RatioDisplay/{RatioDisplay.js → RatioDisplay.mjs} +2 -2
  125. package/dist/esm/RatioDisplay/RatioDisplay.mjs.map +1 -0
  126. package/dist/esm/RatioInput/{RatioInput.js → RatioInput.mjs} +10 -4
  127. package/dist/esm/RatioInput/RatioInput.mjs.map +1 -0
  128. package/dist/esm/ReferenceDisplay/{ReferenceDisplay.js → ReferenceDisplay.mjs} +2 -2
  129. package/dist/esm/ReferenceDisplay/ReferenceDisplay.mjs.map +1 -0
  130. package/dist/esm/ReferenceInput/{ReferenceInput.js → ReferenceInput.mjs} +10 -5
  131. package/dist/esm/ReferenceInput/ReferenceInput.mjs.map +1 -0
  132. package/dist/esm/ReferenceRangeEditor/{ReferenceRangeEditor.js → ReferenceRangeEditor.mjs} +44 -38
  133. package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.mjs.map +1 -0
  134. package/dist/esm/RequestGroupDisplay/{RequestGroupDisplay.js → RequestGroupDisplay.mjs} +14 -17
  135. package/dist/esm/RequestGroupDisplay/RequestGroupDisplay.mjs.map +1 -0
  136. package/dist/esm/ResourceArrayDisplay/{ResourceArrayDisplay.js → ResourceArrayDisplay.mjs} +4 -5
  137. package/dist/esm/ResourceArrayDisplay/ResourceArrayDisplay.mjs.map +1 -0
  138. package/dist/esm/ResourceArrayInput/{ResourceArrayInput.js → ResourceArrayInput.mjs} +3 -3
  139. package/dist/esm/ResourceArrayInput/ResourceArrayInput.mjs.map +1 -0
  140. package/dist/esm/ResourceAvatar/ResourceAvatar.mjs +23 -0
  141. package/dist/esm/ResourceAvatar/ResourceAvatar.mjs.map +1 -0
  142. package/dist/esm/ResourceBadge/{ResourceBadge.js → ResourceBadge.mjs} +3 -3
  143. package/dist/esm/ResourceBadge/ResourceBadge.mjs.map +1 -0
  144. package/dist/esm/ResourceBlame/{ResourceBlame.js → ResourceBlame.mjs} +6 -7
  145. package/dist/esm/ResourceBlame/ResourceBlame.mjs.map +1 -0
  146. package/dist/esm/ResourceDiff/{ResourceDiff.js → ResourceDiff.mjs} +4 -4
  147. package/dist/esm/ResourceDiff/ResourceDiff.mjs.map +1 -0
  148. package/dist/esm/ResourceDiffTable/{ResourceDiffTable.js → ResourceDiffTable.mjs} +3 -3
  149. package/dist/esm/ResourceDiffTable/ResourceDiffTable.mjs.map +1 -0
  150. package/dist/esm/ResourceForm/{ResourceForm.js → ResourceForm.mjs} +5 -5
  151. package/dist/esm/ResourceForm/ResourceForm.mjs.map +1 -0
  152. package/dist/esm/ResourceHistoryTable/{ResourceHistoryTable.js → ResourceHistoryTable.mjs} +10 -13
  153. package/dist/esm/ResourceHistoryTable/ResourceHistoryTable.mjs.map +1 -0
  154. package/dist/esm/ResourceInput/{ResourceInput.js → ResourceInput.mjs} +18 -24
  155. package/dist/esm/ResourceInput/ResourceInput.mjs.map +1 -0
  156. package/dist/esm/ResourceName/ResourceName.mjs +18 -0
  157. package/dist/esm/ResourceName/ResourceName.mjs.map +1 -0
  158. package/dist/esm/ResourcePropertyDisplay/{ResourcePropertyDisplay.js → ResourcePropertyDisplay.mjs} +23 -21
  159. package/dist/esm/ResourcePropertyDisplay/ResourcePropertyDisplay.mjs.map +1 -0
  160. package/dist/esm/ResourcePropertyInput/{ResourcePropertyInput.js → ResourcePropertyInput.mjs} +34 -34
  161. package/dist/esm/ResourcePropertyInput/ResourcePropertyInput.mjs.map +1 -0
  162. package/dist/esm/ResourceTable/{ResourceTable.js → ResourceTable.mjs} +4 -4
  163. package/dist/esm/ResourceTable/ResourceTable.mjs.map +1 -0
  164. package/dist/esm/ResourceTimeline/{ResourceTimeline.js → ResourceTimeline.mjs} +26 -30
  165. package/dist/esm/ResourceTimeline/ResourceTimeline.mjs.map +1 -0
  166. package/dist/esm/Scheduler/{Scheduler.js → Scheduler.mjs} +8 -9
  167. package/dist/esm/Scheduler/Scheduler.mjs.map +1 -0
  168. package/dist/esm/SearchControl/{SearchControl.js → SearchControl.mjs} +66 -50
  169. package/dist/esm/SearchControl/SearchControl.mjs.map +1 -0
  170. package/dist/esm/SearchControl/{SearchControlField.js → SearchControlField.mjs} +3 -4
  171. package/dist/esm/SearchControl/SearchControlField.mjs.map +1 -0
  172. package/dist/esm/SearchControl/{SearchUtils.js → SearchUtils.mjs} +34 -17
  173. package/dist/esm/SearchControl/SearchUtils.mjs.map +1 -0
  174. package/dist/esm/SearchFieldEditor/{SearchFieldEditor.js → SearchFieldEditor.mjs} +28 -21
  175. package/dist/esm/SearchFieldEditor/SearchFieldEditor.mjs.map +1 -0
  176. package/dist/esm/SearchFilterEditor/{SearchFilterEditor.js → SearchFilterEditor.mjs} +8 -9
  177. package/dist/esm/SearchFilterEditor/SearchFilterEditor.mjs.map +1 -0
  178. package/dist/esm/SearchFilterValueDialog/{SearchFilterValueDialog.js → SearchFilterValueDialog.mjs} +5 -6
  179. package/dist/esm/SearchFilterValueDialog/SearchFilterValueDialog.mjs.map +1 -0
  180. package/dist/esm/SearchFilterValueDisplay/{SearchFilterValueDisplay.js → SearchFilterValueDisplay.mjs} +3 -4
  181. package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs.map +1 -0
  182. package/dist/esm/SearchFilterValueInput/{SearchFilterValueInput.js → SearchFilterValueInput.mjs} +5 -6
  183. package/dist/esm/SearchFilterValueInput/SearchFilterValueInput.mjs.map +1 -0
  184. package/dist/esm/SearchPopupMenu/{SearchPopupMenu.js → SearchPopupMenu.mjs} +10 -10
  185. package/dist/esm/SearchPopupMenu/SearchPopupMenu.mjs.map +1 -0
  186. package/dist/esm/ServiceRequestTimeline/{ServiceRequestTimeline.js → ServiceRequestTimeline.mjs} +2 -2
  187. package/dist/esm/ServiceRequestTimeline/ServiceRequestTimeline.mjs.map +1 -0
  188. package/dist/esm/StatusBadge/{StatusBadge.js → StatusBadge.mjs} +1 -1
  189. package/dist/esm/StatusBadge/StatusBadge.mjs.map +1 -0
  190. package/dist/esm/Timeline/{Timeline.js → Timeline.mjs} +11 -13
  191. package/dist/esm/Timeline/Timeline.mjs.map +1 -0
  192. package/dist/esm/TimingInput/{TimingInput.js → TimingInput.mjs} +13 -18
  193. package/dist/esm/TimingInput/TimingInput.mjs.map +1 -0
  194. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs +43 -0
  195. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs.map +1 -0
  196. package/dist/esm/auth/{AuthenticationForm.js → AuthenticationForm.mjs} +21 -19
  197. package/dist/esm/auth/AuthenticationForm.mjs.map +1 -0
  198. package/dist/esm/auth/ChooseProfileForm.mjs +29 -0
  199. package/dist/esm/auth/ChooseProfileForm.mjs.map +1 -0
  200. package/dist/esm/auth/{ChooseScopeForm.js → ChooseScopeForm.mjs} +4 -4
  201. package/dist/esm/auth/ChooseScopeForm.mjs.map +1 -0
  202. package/dist/esm/auth/{MfaForm.js → MfaForm.mjs} +4 -4
  203. package/dist/esm/auth/MfaForm.mjs.map +1 -0
  204. package/dist/esm/auth/{NewProjectForm.js → NewProjectForm.mjs} +8 -9
  205. package/dist/esm/auth/NewProjectForm.mjs.map +1 -0
  206. package/dist/esm/auth/{NewUserForm.js → NewUserForm.mjs} +15 -19
  207. package/dist/esm/auth/NewUserForm.mjs.map +1 -0
  208. package/dist/esm/auth/{RegisterForm.js → RegisterForm.mjs} +5 -5
  209. package/dist/esm/auth/RegisterForm.mjs.map +1 -0
  210. package/dist/esm/auth/{SignInForm.js → SignInForm.mjs} +10 -11
  211. package/dist/esm/auth/SignInForm.mjs.map +1 -0
  212. package/dist/esm/{constants.js → constants.mjs} +1 -1
  213. package/dist/esm/constants.mjs.map +1 -0
  214. package/dist/esm/index.d.ts +2 -0
  215. package/dist/esm/index.min.mjs +1 -0
  216. package/dist/esm/{index.js → index.mjs} +88 -86
  217. package/dist/esm/index.mjs.map +1 -0
  218. package/dist/esm/useResource/{useResource.js → useResource.mjs} +2 -2
  219. package/dist/esm/useResource/useResource.mjs.map +1 -0
  220. package/dist/esm/utils/{blame.js → blame.mjs} +6 -9
  221. package/dist/esm/utils/blame.mjs.map +1 -0
  222. package/dist/esm/utils/{date.js → date.mjs} +2 -3
  223. package/dist/esm/utils/date.mjs.map +1 -0
  224. package/dist/esm/utils/{diff.js → diff.mjs} +1 -1
  225. package/dist/esm/utils/diff.mjs.map +1 -0
  226. package/dist/esm/utils/{dom.js → dom.mjs} +1 -1
  227. package/dist/esm/utils/dom.mjs.map +1 -0
  228. package/dist/esm/utils/outcomes.mjs +30 -0
  229. package/dist/esm/utils/outcomes.mjs.map +1 -0
  230. package/dist/esm/utils/{questionnaire.js → questionnaire.mjs} +1 -1
  231. package/dist/esm/utils/questionnaire.mjs.map +1 -0
  232. package/dist/esm/utils/{recaptcha.js → recaptcha.mjs} +5 -6
  233. package/dist/esm/utils/recaptcha.mjs.map +1 -0
  234. package/dist/esm/utils/{script.js → script.mjs} +1 -1
  235. package/dist/esm/utils/script.mjs.map +1 -0
  236. package/package.json +22 -22
  237. package/rollup.config.mjs +6 -7
  238. package/dist/cjs/auth/OktaButton.d.ts +0 -5
  239. package/dist/cjs/index.js.map +0 -1
  240. package/dist/cjs/index.min.js +0 -2
  241. package/dist/cjs/index.min.js.map +0 -1
  242. package/dist/esm/AddressDisplay/AddressDisplay.js.map +0 -1
  243. package/dist/esm/AddressInput/AddressInput.js.map +0 -1
  244. package/dist/esm/AnnotationInput/AnnotationInput.js.map +0 -1
  245. package/dist/esm/AsyncAutocomplete/AsyncAutocomplete.js.map +0 -1
  246. package/dist/esm/AttachmentArrayDisplay/AttachmentArrayDisplay.js.map +0 -1
  247. package/dist/esm/AttachmentArrayInput/AttachmentArrayInput.js.map +0 -1
  248. package/dist/esm/AttachmentButton/AttachmentButton.js.map +0 -1
  249. package/dist/esm/AttachmentDisplay/AttachmentDisplay.js +0 -21
  250. package/dist/esm/AttachmentDisplay/AttachmentDisplay.js.map +0 -1
  251. package/dist/esm/AttachmentInput/AttachmentInput.js.map +0 -1
  252. package/dist/esm/BackboneElementDisplay/BackboneElementDisplay.js.map +0 -1
  253. package/dist/esm/BackboneElementInput/BackboneElementInput.js.map +0 -1
  254. package/dist/esm/CalendarInput/CalendarInput.js.map +0 -1
  255. package/dist/esm/CheckboxFormSection/CheckboxFormSection.js.map +0 -1
  256. package/dist/esm/CodeInput/CodeInput.js.map +0 -1
  257. package/dist/esm/CodeableConceptDisplay/CodeableConceptDisplay.js.map +0 -1
  258. package/dist/esm/CodeableConceptInput/CodeableConceptInput.js.map +0 -1
  259. package/dist/esm/CodingDisplay/CodingDisplay.js.map +0 -1
  260. package/dist/esm/CodingInput/CodingInput.js.map +0 -1
  261. package/dist/esm/ContactDetailDisplay/ContactDetailDisplay.js.map +0 -1
  262. package/dist/esm/ContactDetailInput/ContactDetailInput.js.map +0 -1
  263. package/dist/esm/ContactPointDisplay/ContactPointDisplay.js.map +0 -1
  264. package/dist/esm/ContactPointInput/ContactPointInput.js.map +0 -1
  265. package/dist/esm/Container/Container.js.map +0 -1
  266. package/dist/esm/DateTimeInput/DateTimeInput.js.map +0 -1
  267. package/dist/esm/DefaultResourceTimeline/DefaultResourceTimeline.js.map +0 -1
  268. package/dist/esm/DescriptionList/DescriptionList.js.map +0 -1
  269. package/dist/esm/DiagnosticReportDisplay/DiagnosticReportDisplay.js.map +0 -1
  270. package/dist/esm/Document/Document.js +0 -13
  271. package/dist/esm/Document/Document.js.map +0 -1
  272. package/dist/esm/EncounterTimeline/EncounterTimeline.js.map +0 -1
  273. package/dist/esm/ErrorBoundary/ErrorBoundary.js.map +0 -1
  274. package/dist/esm/ExtensionInput/ExtensionInput.js.map +0 -1
  275. package/dist/esm/FhirPathDisplay/FhirPathDisplay.js.map +0 -1
  276. package/dist/esm/FhirPathTable/FhirPathTable.js.map +0 -1
  277. package/dist/esm/Form/Form.js.map +0 -1
  278. package/dist/esm/Form/FormUtils.js.map +0 -1
  279. package/dist/esm/FormSection/FormSection.js.map +0 -1
  280. package/dist/esm/GoogleButton/GoogleButton.js.map +0 -1
  281. package/dist/esm/HumanNameDisplay/HumanNameDisplay.js.map +0 -1
  282. package/dist/esm/HumanNameInput/HumanNameInput.js +0 -39
  283. package/dist/esm/HumanNameInput/HumanNameInput.js.map +0 -1
  284. package/dist/esm/IdentifierDisplay/IdentifierDisplay.js +0 -12
  285. package/dist/esm/IdentifierDisplay/IdentifierDisplay.js.map +0 -1
  286. package/dist/esm/IdentifierInput/IdentifierInput.js.map +0 -1
  287. package/dist/esm/Logo/Logo.js.map +0 -1
  288. package/dist/esm/MedplumLink/MedplumLink.js.map +0 -1
  289. package/dist/esm/MedplumProvider/MedplumProvider.js.map +0 -1
  290. package/dist/esm/Panel/Panel.js.map +0 -1
  291. package/dist/esm/PatientTimeline/PatientTimeline.js.map +0 -1
  292. package/dist/esm/PeriodInput/PeriodInput.js.map +0 -1
  293. package/dist/esm/PlanDefinitionBuilder/PlanDefinitionBuilder.js.map +0 -1
  294. package/dist/esm/QuantityDisplay/QuantityDisplay.js.map +0 -1
  295. package/dist/esm/QuantityInput/QuantityInput.js.map +0 -1
  296. package/dist/esm/QuestionnaireBuilder/QuestionnaireBuilder.js.map +0 -1
  297. package/dist/esm/QuestionnaireForm/QuestionnaireForm.js.map +0 -1
  298. package/dist/esm/RangeDisplay/RangeDisplay.js.map +0 -1
  299. package/dist/esm/RangeInput/RangeInput.js.map +0 -1
  300. package/dist/esm/RatioDisplay/RatioDisplay.js.map +0 -1
  301. package/dist/esm/RatioInput/RatioInput.js.map +0 -1
  302. package/dist/esm/ReferenceDisplay/ReferenceDisplay.js.map +0 -1
  303. package/dist/esm/ReferenceInput/ReferenceInput.js.map +0 -1
  304. package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.js.map +0 -1
  305. package/dist/esm/RequestGroupDisplay/RequestGroupDisplay.js.map +0 -1
  306. package/dist/esm/ResourceArrayDisplay/ResourceArrayDisplay.js.map +0 -1
  307. package/dist/esm/ResourceArrayInput/ResourceArrayInput.js.map +0 -1
  308. package/dist/esm/ResourceAvatar/ResourceAvatar.js +0 -24
  309. package/dist/esm/ResourceAvatar/ResourceAvatar.js.map +0 -1
  310. package/dist/esm/ResourceBadge/ResourceBadge.js.map +0 -1
  311. package/dist/esm/ResourceBlame/ResourceBlame.js.map +0 -1
  312. package/dist/esm/ResourceDiff/ResourceDiff.js.map +0 -1
  313. package/dist/esm/ResourceDiffTable/ResourceDiffTable.js.map +0 -1
  314. package/dist/esm/ResourceForm/ResourceForm.js.map +0 -1
  315. package/dist/esm/ResourceHistoryTable/ResourceHistoryTable.js.map +0 -1
  316. package/dist/esm/ResourceInput/ResourceInput.js.map +0 -1
  317. package/dist/esm/ResourceName/ResourceName.js +0 -19
  318. package/dist/esm/ResourceName/ResourceName.js.map +0 -1
  319. package/dist/esm/ResourcePropertyDisplay/ResourcePropertyDisplay.js.map +0 -1
  320. package/dist/esm/ResourcePropertyInput/ResourcePropertyInput.js.map +0 -1
  321. package/dist/esm/ResourceTable/ResourceTable.js.map +0 -1
  322. package/dist/esm/ResourceTimeline/ResourceTimeline.js.map +0 -1
  323. package/dist/esm/Scheduler/Scheduler.js.map +0 -1
  324. package/dist/esm/SearchControl/SearchControl.js.map +0 -1
  325. package/dist/esm/SearchControl/SearchControlField.js.map +0 -1
  326. package/dist/esm/SearchControl/SearchUtils.js.map +0 -1
  327. package/dist/esm/SearchFieldEditor/SearchFieldEditor.js.map +0 -1
  328. package/dist/esm/SearchFilterEditor/SearchFilterEditor.js.map +0 -1
  329. package/dist/esm/SearchFilterValueDialog/SearchFilterValueDialog.js.map +0 -1
  330. package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.js.map +0 -1
  331. package/dist/esm/SearchFilterValueInput/SearchFilterValueInput.js.map +0 -1
  332. package/dist/esm/SearchPopupMenu/SearchPopupMenu.js.map +0 -1
  333. package/dist/esm/ServiceRequestTimeline/ServiceRequestTimeline.js.map +0 -1
  334. package/dist/esm/StatusBadge/StatusBadge.js.map +0 -1
  335. package/dist/esm/Timeline/Timeline.js.map +0 -1
  336. package/dist/esm/TimingInput/TimingInput.js.map +0 -1
  337. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.js +0 -45
  338. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.js.map +0 -1
  339. package/dist/esm/auth/AuthenticationForm.js.map +0 -1
  340. package/dist/esm/auth/ChooseProfileForm.js +0 -32
  341. package/dist/esm/auth/ChooseProfileForm.js.map +0 -1
  342. package/dist/esm/auth/ChooseScopeForm.js.map +0 -1
  343. package/dist/esm/auth/MfaForm.js.map +0 -1
  344. package/dist/esm/auth/NewProjectForm.js.map +0 -1
  345. package/dist/esm/auth/NewUserForm.js.map +0 -1
  346. package/dist/esm/auth/OktaButton.d.ts +0 -5
  347. package/dist/esm/auth/RegisterForm.js.map +0 -1
  348. package/dist/esm/auth/SignInForm.js.map +0 -1
  349. package/dist/esm/constants.js.map +0 -1
  350. package/dist/esm/index.js.map +0 -1
  351. package/dist/esm/index.min.js +0 -2
  352. package/dist/esm/index.min.js.map +0 -1
  353. package/dist/esm/node_modules/tslib/tslib.es6.js +0 -39
  354. package/dist/esm/node_modules/tslib/tslib.es6.js.map +0 -1
  355. package/dist/esm/useResource/useResource.js.map +0 -1
  356. package/dist/esm/utils/blame.js.map +0 -1
  357. package/dist/esm/utils/date.js.map +0 -1
  358. package/dist/esm/utils/diff.js.map +0 -1
  359. package/dist/esm/utils/dom.js.map +0 -1
  360. package/dist/esm/utils/outcomes.js +0 -29
  361. package/dist/esm/utils/outcomes.js.map +0 -1
  362. package/dist/esm/utils/questionnaire.js.map +0 -1
  363. package/dist/esm/utils/recaptcha.js.map +0 -1
  364. package/dist/esm/utils/script.js.map +0 -1
@@ -1,17 +1,16 @@
1
- import { __awaiter } from '../node_modules/tslib/tslib.es6.js';
2
1
  import { Center, Title, Stack, TextInput, Text, Anchor, Group, Button } from '@mantine/core';
3
2
  import React, { useState } from 'react';
4
- import { Form } from '../Form/Form.js';
5
- import { Logo } from '../Logo/Logo.js';
6
- import { useMedplum } from '../MedplumProvider/MedplumProvider.js';
7
- import { getErrorsForInput } from '../utils/outcomes.js';
3
+ import { Form } from '../Form/Form.mjs';
4
+ import { Logo } from '../Logo/Logo.mjs';
5
+ import { useMedplum } from '../MedplumProvider/MedplumProvider.mjs';
6
+ import { getErrorsForInput } from '../utils/outcomes.mjs';
8
7
 
9
8
  function NewProjectForm(props) {
10
9
  const medplum = useMedplum();
11
10
  const [outcome, setOutcome] = useState();
12
- return (React.createElement(Form, { style: { maxWidth: 400 }, onSubmit: (formData) => __awaiter(this, void 0, void 0, function* () {
11
+ return (React.createElement(Form, { style: { maxWidth: 400 }, onSubmit: async (formData) => {
13
12
  try {
14
- props.handleAuthResponse(yield medplum.startNewProject({
13
+ props.handleAuthResponse(await medplum.startNewProject({
15
14
  login: props.login,
16
15
  projectName: formData.projectName,
17
16
  }));
@@ -19,7 +18,7 @@ function NewProjectForm(props) {
19
18
  catch (err) {
20
19
  setOutcome(err);
21
20
  }
22
- }) },
21
+ } },
23
22
  React.createElement(Center, { sx: { flexDirection: 'column' } },
24
23
  React.createElement(Logo, { size: 32 }),
25
24
  React.createElement(Title, null, "Create project")),
@@ -37,4 +36,4 @@ function NewProjectForm(props) {
37
36
  }
38
37
 
39
38
  export { NewProjectForm };
40
- //# sourceMappingURL=NewProjectForm.js.map
39
+ //# sourceMappingURL=NewProjectForm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewProjectForm.mjs","sources":["../../../src/auth/NewProjectForm.tsx"],"sourcesContent":["import { Anchor, Button, Center, Group, Stack, Text, TextInput, Title } from '@mantine/core';\nimport { LoginAuthenticationResponse } from '@medplum/core';\nimport { OperationOutcome } from '@medplum/fhirtypes';\nimport React, { useState } from 'react';\nimport { Form } from '../Form/Form';\nimport { Logo } from '../Logo/Logo';\nimport { useMedplum } from '../MedplumProvider/MedplumProvider';\nimport { getErrorsForInput } from '../utils/outcomes';\n\nexport interface NewProjectFormProps {\n login: string;\n handleAuthResponse: (response: LoginAuthenticationResponse) => void;\n}\n\nexport function NewProjectForm(props: NewProjectFormProps): JSX.Element {\n const medplum = useMedplum();\n const [outcome, setOutcome] = useState<OperationOutcome | undefined>();\n return (\n <Form\n style={{ maxWidth: 400 }}\n onSubmit={async (formData: Record<string, string>) => {\n try {\n props.handleAuthResponse(\n await medplum.startNewProject({\n login: props.login,\n projectName: formData.projectName,\n })\n );\n } catch (err) {\n setOutcome(err as OperationOutcome);\n }\n }}\n >\n <Center sx={{ flexDirection: 'column' }}>\n <Logo size={32} />\n <Title>Create project</Title>\n </Center>\n <Stack spacing=\"xl\">\n <TextInput\n name=\"projectName\"\n label=\"Project Name\"\n placeholder=\"My Project\"\n required={true}\n autoFocus={true}\n error={getErrorsForInput(outcome, 'firstName')}\n />\n <Text color=\"dimmed\" size=\"xs\">\n By clicking submit you agree to the Medplum{' '}\n <Anchor href=\"https://www.medplum.com/privacy\">Privacy&nbsp;Policy</Anchor>\n {' and '}\n <Anchor href=\"https://www.medplum.com/terms\">Terms&nbsp;of&nbsp;Service</Anchor>.\n </Text>\n </Stack>\n <Group position=\"right\" mt=\"xl\" noWrap>\n <Button type=\"submit\">Create project</Button>\n </Group>\n </Form>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAcM,SAAU,cAAc,CAAC,KAA0B,EAAA;AACvD,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAgC,CAAC;AACvE,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,IAAI,IACH,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EACxB,QAAQ,EAAE,OAAO,QAAgC,KAAI;YACnD,IAAI;AACF,gBAAA,KAAK,CAAC,kBAAkB,CACtB,MAAM,OAAO,CAAC,eAAe,CAAC;oBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,QAAQ,CAAC,WAAW;AAClC,iBAAA,CAAC,CACH,CAAC;AACH,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;gBACZ,UAAU,CAAC,GAAuB,CAAC,CAAC;AACrC,aAAA;SACF,EAAA;QAED,KAAC,CAAA,aAAA,CAAA,MAAM,IAAC,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAA;AACrC,YAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAE,EAAE,EAAI,CAAA;YAClB,KAAC,CAAA,aAAA,CAAA,KAAK,yBAAuB,CACtB;AACT,QAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA;AACjB,YAAA,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EACR,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,YAAY,EACxB,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAC9C,CAAA;YACF,KAAC,CAAA,aAAA,CAAA,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAA;;gBACgB,GAAG;AAC/C,gBAAA,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,iCAAiC,EAA6B,EAAA,qBAAA,CAAA;gBAC1E,OAAO;AACR,gBAAA,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,+BAA+B,EAAoC,EAAA,4BAAA,CAAA;oBAC3E,CACD;QACR,KAAC,CAAA,aAAA,CAAA,KAAK,EAAC,EAAA,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,EAAC,MAAM,EAAA,IAAA,EAAA;YACpC,KAAC,CAAA,aAAA,CAAA,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAwB,EAAA,gBAAA,CAAA,CACvC,CACH,EACP;AACJ;;;;"}
@@ -1,12 +1,11 @@
1
- import { __awaiter } from '../node_modules/tslib/tslib.es6.js';
2
1
  import { Center, Alert, Group, Divider, Stack, TextInput, PasswordInput, Text, Anchor, Checkbox, Button } from '@mantine/core';
3
2
  import { IconAlertCircle } from '@tabler/icons';
4
3
  import React, { useState, useEffect } from 'react';
5
- import { Form } from '../Form/Form.js';
6
- import { getGoogleClientId, GoogleButton } from '../GoogleButton/GoogleButton.js';
7
- import { useMedplum } from '../MedplumProvider/MedplumProvider.js';
8
- import { getIssuesForExpression, getErrorsForInput } from '../utils/outcomes.js';
9
- import { initRecaptcha, getRecaptcha } from '../utils/recaptcha.js';
4
+ import { Form } from '../Form/Form.mjs';
5
+ import { getGoogleClientId, GoogleButton } from '../GoogleButton/GoogleButton.mjs';
6
+ import { useMedplum } from '../MedplumProvider/MedplumProvider.mjs';
7
+ import { getIssuesForExpression, getErrorsForInput } from '../utils/outcomes.mjs';
8
+ import { initRecaptcha, getRecaptcha } from '../utils/recaptcha.mjs';
10
9
 
11
10
  function NewUserForm(props) {
12
11
  const googleClientId = getGoogleClientId(props.googleClientId);
@@ -15,10 +14,10 @@ function NewUserForm(props) {
15
14
  const [outcome, setOutcome] = useState();
16
15
  const issues = getIssuesForExpression(outcome, undefined);
17
16
  useEffect(() => initRecaptcha(recaptchaSiteKey), [recaptchaSiteKey]);
18
- return (React.createElement(Form, { style: { maxWidth: 400 }, onSubmit: (formData) => __awaiter(this, void 0, void 0, function* () {
17
+ return (React.createElement(Form, { style: { maxWidth: 400 }, onSubmit: async (formData) => {
19
18
  try {
20
- const recaptchaToken = yield getRecaptcha(recaptchaSiteKey);
21
- props.handleAuthResponse(yield medplum.startNewUser({
19
+ const recaptchaToken = await getRecaptcha(recaptchaSiteKey);
20
+ props.handleAuthResponse(await medplum.startNewUser({
22
21
  projectId: props.projectId,
23
22
  firstName: formData.firstName,
24
23
  lastName: formData.lastName,
@@ -32,18 +31,15 @@ function NewUserForm(props) {
32
31
  catch (err) {
33
32
  setOutcome(err);
34
33
  }
35
- }) },
34
+ } },
36
35
  React.createElement(Center, { sx: { flexDirection: 'column' } }, props.children),
37
- issues && (React.createElement(Alert, { icon: React.createElement(IconAlertCircle, { size: 16 }), color: "red" }, issues.map((issue) => {
38
- var _a, _b;
39
- return (React.createElement("div", { "data-testid": "text-field-error", key: (_a = issue.details) === null || _a === void 0 ? void 0 : _a.text }, (_b = issue.details) === null || _b === void 0 ? void 0 : _b.text));
40
- }))),
36
+ issues && (React.createElement(Alert, { icon: React.createElement(IconAlertCircle, { size: 16 }), color: "red" }, issues.map((issue) => (React.createElement("div", { "data-testid": "text-field-error", key: issue.details?.text }, issue.details?.text))))),
41
37
  googleClientId && (React.createElement(React.Fragment, null,
42
38
  React.createElement(Group, { position: "center", p: "xl", style: { height: 70 } },
43
- React.createElement(GoogleButton, { googleClientId: googleClientId, handleGoogleCredential: (response) => __awaiter(this, void 0, void 0, function* () {
39
+ React.createElement(GoogleButton, { googleClientId: googleClientId, handleGoogleCredential: async (response) => {
44
40
  try {
45
- yield medplum.startPkce();
46
- props.handleAuthResponse(yield medplum.startGoogleLogin({
41
+ await medplum.startPkce();
42
+ props.handleAuthResponse(await medplum.startGoogleLogin({
47
43
  googleClientId: response.clientId,
48
44
  googleCredential: response.credential,
49
45
  createUser: true,
@@ -52,7 +48,7 @@ function NewUserForm(props) {
52
48
  catch (err) {
53
49
  setOutcome(err);
54
50
  }
55
- }) })),
51
+ } })),
56
52
  React.createElement(Divider, { label: "or", labelPosition: "center", my: "lg" }))),
57
53
  React.createElement(Stack, { spacing: "xl" },
58
54
  React.createElement(TextInput, { name: "firstName", type: "text", label: "First name", placeholder: "First name", required: true, autoFocus: true, error: getErrorsForInput(outcome, 'firstName') }),
@@ -79,4 +75,4 @@ function NewUserForm(props) {
79
75
  }
80
76
 
81
77
  export { NewUserForm };
82
- //# sourceMappingURL=NewUserForm.js.map
78
+ //# sourceMappingURL=NewUserForm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewUserForm.mjs","sources":["../../../src/auth/NewUserForm.tsx"],"sourcesContent":["import {\n Alert,\n Anchor,\n Button,\n Center,\n Checkbox,\n Divider,\n Group,\n PasswordInput,\n Stack,\n Text,\n TextInput,\n} from '@mantine/core';\nimport { GoogleCredentialResponse, LoginAuthenticationResponse } from '@medplum/core';\nimport { OperationOutcome } from '@medplum/fhirtypes';\nimport { IconAlertCircle } from '@tabler/icons';\nimport React, { useEffect, useState } from 'react';\nimport { Form } from '../Form/Form';\nimport { getGoogleClientId, GoogleButton } from '../GoogleButton/GoogleButton';\nimport { useMedplum } from '../MedplumProvider/MedplumProvider';\nimport { getErrorsForInput, getIssuesForExpression } from '../utils/outcomes';\nimport { getRecaptcha, initRecaptcha } from '../utils/recaptcha';\n\nexport interface NewUserFormProps {\n readonly projectId: string;\n readonly googleClientId?: string;\n readonly recaptchaSiteKey: string;\n readonly children?: React.ReactNode;\n readonly handleAuthResponse: (response: LoginAuthenticationResponse) => void;\n}\n\nexport function NewUserForm(props: NewUserFormProps): JSX.Element {\n const googleClientId = getGoogleClientId(props.googleClientId);\n const recaptchaSiteKey = props.recaptchaSiteKey;\n const medplum = useMedplum();\n const [outcome, setOutcome] = useState<OperationOutcome>();\n const issues = getIssuesForExpression(outcome, undefined);\n\n useEffect(() => initRecaptcha(recaptchaSiteKey), [recaptchaSiteKey]);\n\n return (\n <Form\n style={{ maxWidth: 400 }}\n onSubmit={async (formData: Record<string, string>) => {\n try {\n const recaptchaToken = await getRecaptcha(recaptchaSiteKey);\n props.handleAuthResponse(\n await medplum.startNewUser({\n projectId: props.projectId,\n firstName: formData.firstName,\n lastName: formData.lastName,\n email: formData.email,\n password: formData.password,\n remember: formData.remember === 'true',\n recaptchaSiteKey,\n recaptchaToken,\n })\n );\n } catch (err) {\n setOutcome(err as OperationOutcome);\n }\n }}\n >\n <Center sx={{ flexDirection: 'column' }}>{props.children}</Center>\n {issues && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\">\n {issues.map((issue) => (\n <div data-testid=\"text-field-error\" key={issue.details?.text}>\n {issue.details?.text}\n </div>\n ))}\n </Alert>\n )}\n {googleClientId && (\n <>\n <Group position=\"center\" p=\"xl\" style={{ height: 70 }}>\n <GoogleButton\n googleClientId={googleClientId}\n handleGoogleCredential={async (response: GoogleCredentialResponse) => {\n try {\n await medplum.startPkce();\n props.handleAuthResponse(\n await medplum.startGoogleLogin({\n googleClientId: response.clientId,\n googleCredential: response.credential,\n createUser: true,\n })\n );\n } catch (err) {\n setOutcome(err as OperationOutcome);\n }\n }}\n />\n </Group>\n <Divider label=\"or\" labelPosition=\"center\" my=\"lg\" />\n </>\n )}\n <Stack spacing=\"xl\">\n <TextInput\n name=\"firstName\"\n type=\"text\"\n label=\"First name\"\n placeholder=\"First name\"\n required={true}\n autoFocus={true}\n error={getErrorsForInput(outcome, 'firstName')}\n />\n <TextInput\n name=\"lastName\"\n type=\"text\"\n label=\"Last name\"\n placeholder=\"Last name\"\n required={true}\n error={getErrorsForInput(outcome, 'lastName')}\n />\n <TextInput\n name=\"email\"\n type=\"email\"\n label=\"Email\"\n placeholder=\"name@domain.com\"\n required={true}\n error={getErrorsForInput(outcome, 'email')}\n />\n <PasswordInput\n name=\"password\"\n label=\"Password\"\n autoComplete=\"off\"\n required={true}\n error={getErrorsForInput(outcome, 'password')}\n />\n <Text color=\"dimmed\" size=\"xs\">\n By clicking submit you agree to the Medplum{' '}\n <Anchor href=\"https://www.medplum.com/privacy\">Privacy&nbsp;Policy</Anchor>\n {' and '}\n <Anchor href=\"https://www.medplum.com/terms\">Terms&nbsp;of&nbsp;Service</Anchor>.\n </Text>\n <Text color=\"dimmed\" size=\"xs\">\n This site is protected by reCAPTCHA and the Google{' '}\n <Anchor href=\"https://policies.google.com/privacy\">Privacy&nbsp;Policy</Anchor>\n {' and '}\n <Anchor href=\"https://policies.google.com/terms\">Terms&nbsp;of&nbsp;Service</Anchor> apply.\n </Text>\n </Stack>\n <Group position=\"apart\" mt=\"xl\" noWrap>\n <Checkbox name=\"remember\" label=\"Remember me\" size=\"xs\" />\n <Button type=\"submit\">Create account</Button>\n </Group>\n </Form>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import { Document } from '../Document/Document.js';
3
- import { useMedplum } from '../MedplumProvider/MedplumProvider.js';
4
- import { NewProjectForm } from './NewProjectForm.js';
5
- import { NewUserForm } from './NewUserForm.js';
2
+ import { Document } from '../Document/Document.mjs';
3
+ import { useMedplum } from '../MedplumProvider/MedplumProvider.mjs';
4
+ import { NewProjectForm } from './NewProjectForm.mjs';
5
+ import { NewUserForm } from './NewUserForm.mjs';
6
6
 
7
7
  function RegisterForm(props) {
8
8
  const { type, projectId, googleClientId, recaptchaSiteKey, onSuccess } = props;
@@ -36,4 +36,4 @@ function RegisterForm(props) {
36
36
  }
37
37
 
38
38
  export { RegisterForm };
39
- //# sourceMappingURL=RegisterForm.js.map
39
+ //# sourceMappingURL=RegisterForm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterForm.mjs","sources":["../../../src/auth/RegisterForm.tsx"],"sourcesContent":["import { LoginAuthenticationResponse } from '@medplum/core';\nimport { OperationOutcome } from '@medplum/fhirtypes';\nimport React, { useEffect, useState } from 'react';\nimport { Document } from '../Document/Document';\nimport { useMedplum } from '../MedplumProvider/MedplumProvider';\nimport { NewProjectForm } from './NewProjectForm';\nimport { NewUserForm } from './NewUserForm';\n\nexport interface RegisterFormProps {\n readonly type: 'patient' | 'project';\n readonly projectId?: string;\n readonly googleClientId?: string;\n readonly recaptchaSiteKey: string;\n readonly children?: React.ReactNode;\n readonly onSuccess: () => void;\n}\n\nexport function RegisterForm(props: RegisterFormProps): JSX.Element {\n const { type, projectId, googleClientId, recaptchaSiteKey, onSuccess } = props;\n const medplum = useMedplum();\n const [login, setLogin] = useState<string | undefined>(undefined);\n const [outcome, setOutcome] = useState<OperationOutcome>();\n\n useEffect(() => {\n if (type === 'patient' && login) {\n medplum\n .startNewPatient({ login, projectId: projectId as string })\n .then((response) => medplum.processCode(response.code as string))\n .then(() => onSuccess())\n .catch((err) => setOutcome(err as OperationOutcome));\n }\n }, [medplum, type, projectId, login, onSuccess]);\n\n function handleAuthResponse(response: LoginAuthenticationResponse): void {\n if (response.code) {\n medplum\n .processCode(response.code)\n .then(() => onSuccess())\n .catch(console.log);\n } else if (response.login) {\n setLogin(response.login);\n }\n }\n\n return (\n <Document width={450}>\n {outcome && <pre>{JSON.stringify(outcome, null, 2)}</pre>}\n {!login && (\n <NewUserForm\n projectId={projectId as string}\n googleClientId={googleClientId}\n recaptchaSiteKey={recaptchaSiteKey}\n handleAuthResponse={handleAuthResponse}\n >\n {props.children}\n </NewUserForm>\n )}\n {login && type === 'project' && <NewProjectForm login={login} handleAuthResponse={handleAuthResponse} />}\n </Document>\n );\n}\n"],"names":[],"mappings":";;;;;;AAiBM,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;AAC/E,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAoB,CAAC;IAE3D,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,EAAE;YAC/B,OAAO;iBACJ,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAmB,EAAE,CAAC;AAC1D,iBAAA,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC;AAChE,iBAAA,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC;iBACvB,KAAK,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAuB,CAAC,CAAC,CAAC;AACxD,SAAA;AACH,KAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjD,SAAS,kBAAkB,CAAC,QAAqC,EAAA;QAC/D,IAAI,QAAQ,CAAC,IAAI,EAAE;YACjB,OAAO;AACJ,iBAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,iBAAA,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC;AACvB,iBAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvB,SAAA;aAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;AACzB,YAAA,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAA;KACF;AAED,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,QAAQ,EAAC,EAAA,KAAK,EAAE,GAAG,EAAA;AACjB,QAAA,OAAO,IAAI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,EAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAO;QACxD,CAAC,KAAK,KACL,KAAC,CAAA,aAAA,CAAA,WAAW,EACV,EAAA,SAAS,EAAE,SAAmB,EAC9B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EAAA,EAErC,KAAK,CAAC,QAAQ,CACH,CACf;AACA,QAAA,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,KAAA,CAAA,aAAA,CAAC,cAAc,EAAC,EAAA,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAI,CAAA,CAC/F,EACX;AACJ;;;;"}
@@ -1,12 +1,11 @@
1
- import { __rest } from '../node_modules/tslib/tslib.es6.js';
2
1
  import React, { useState } from 'react';
3
- import { Document } from '../Document/Document.js';
4
- import { useMedplum } from '../MedplumProvider/MedplumProvider.js';
5
- import { AuthenticationForm } from './AuthenticationForm.js';
6
- import { ChooseProfileForm } from './ChooseProfileForm.js';
7
- import { ChooseScopeForm } from './ChooseScopeForm.js';
8
- import { MfaForm } from './MfaForm.js';
9
- import { NewProjectForm } from './NewProjectForm.js';
2
+ import { Document } from '../Document/Document.mjs';
3
+ import { useMedplum } from '../MedplumProvider/MedplumProvider.mjs';
4
+ import { AuthenticationForm } from './AuthenticationForm.mjs';
5
+ import { ChooseProfileForm } from './ChooseProfileForm.mjs';
6
+ import { ChooseScopeForm } from './ChooseScopeForm.mjs';
7
+ import { MfaForm } from './MfaForm.mjs';
8
+ import { NewProjectForm } from './NewProjectForm.mjs';
10
9
 
11
10
  /**
12
11
  * The SignInForm component allows users to sign in to Medplum.
@@ -19,7 +18,7 @@ import { NewProjectForm } from './NewProjectForm.js';
19
18
  * 5) Success - Return to the caller with either a code or a redirect
20
19
  */
21
20
  function SignInForm(props) {
22
- const { chooseScopes, onSuccess, onForgotPassword, onRegister, onCode } = props, baseLoginRequest = __rest(props, ["chooseScopes", "onSuccess", "onForgotPassword", "onRegister", "onCode"]);
21
+ const { chooseScopes, onSuccess, onForgotPassword, onRegister, onCode, ...baseLoginRequest } = props;
23
22
  const medplum = useMedplum();
24
23
  const [login, setLogin] = useState(undefined);
25
24
  const [mfaRequired, setAuthenticatorRequired] = useState(false);
@@ -61,7 +60,7 @@ function SignInForm(props) {
61
60
  }
62
61
  return (React.createElement(Document, { width: 450 }, (() => {
63
62
  if (!login) {
64
- return (React.createElement(AuthenticationForm, Object.assign({ generatePkce: !onCode, onForgotPassword: onForgotPassword, onRegister: onRegister, handleAuthResponse: handleAuthResponse }, baseLoginRequest), props.children));
63
+ return (React.createElement(AuthenticationForm, { generatePkce: !onCode, onForgotPassword: onForgotPassword, onRegister: onRegister, handleAuthResponse: handleAuthResponse, ...baseLoginRequest }, props.children));
65
64
  }
66
65
  else if (mfaRequired) {
67
66
  return React.createElement(MfaForm, { login: login, handleAuthResponse: handleAuthResponse });
@@ -82,4 +81,4 @@ function SignInForm(props) {
82
81
  }
83
82
 
84
83
  export { SignInForm };
85
- //# sourceMappingURL=SignInForm.js.map
84
+ //# sourceMappingURL=SignInForm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInForm.mjs","sources":["../../../src/auth/SignInForm.tsx"],"sourcesContent":["import { BaseLoginRequest, LoginAuthenticationResponse } from '@medplum/core';\nimport { ProjectMembership } from '@medplum/fhirtypes';\nimport React, { useState } from 'react';\nimport { Document } from '../Document/Document';\nimport { useMedplum } from '../MedplumProvider/MedplumProvider';\nimport { AuthenticationForm } from './AuthenticationForm';\nimport { ChooseProfileForm } from './ChooseProfileForm';\nimport { ChooseScopeForm } from './ChooseScopeForm';\nimport { MfaForm } from './MfaForm';\nimport { NewProjectForm } from './NewProjectForm';\n\nexport interface SignInFormProps extends BaseLoginRequest {\n readonly chooseScopes?: boolean;\n readonly onSuccess?: () => void;\n readonly onForgotPassword?: () => void;\n readonly onRegister?: () => void;\n readonly onCode?: (code: string) => void;\n readonly children?: React.ReactNode;\n}\n\n/**\n * The SignInForm component allows users to sign in to Medplum.\n *\n * \"Signing in\" is a multi-step process:\n * 1) Authentication - identify the user\n * 2) MFA - If MFA is enabled, prompt for MFA code\n * 3) Choose profile - If the user has multiple profiles, prompt to choose one\n * 4) Choose scope - If the user has multiple scopes, prompt to choose one\n * 5) Success - Return to the caller with either a code or a redirect\n */\nexport function SignInForm(props: SignInFormProps): JSX.Element {\n const { chooseScopes, onSuccess, onForgotPassword, onRegister, onCode, ...baseLoginRequest } = props;\n const medplum = useMedplum();\n const [login, setLogin] = useState<string | undefined>(undefined);\n const [mfaRequired, setAuthenticatorRequired] = useState<boolean>(false);\n const [memberships, setMemberships] = useState<ProjectMembership[] | undefined>(undefined);\n\n function handleAuthResponse(response: LoginAuthenticationResponse): void {\n setAuthenticatorRequired(!!response.mfaRequired);\n\n if (response.login) {\n setLogin(response.login);\n }\n\n if (response.memberships) {\n setMemberships(response.memberships);\n }\n\n if (response.code) {\n if (chooseScopes) {\n setMemberships(undefined);\n } else {\n handleCode(response.code as string);\n }\n }\n }\n\n function handleScopeResponse(response: LoginAuthenticationResponse): void {\n handleCode(response.code as string);\n }\n\n function handleCode(code: string): void {\n if (onCode) {\n onCode(code);\n } else {\n medplum\n .processCode(code)\n .then(() => {\n if (onSuccess) {\n onSuccess();\n }\n })\n .catch(console.log);\n }\n }\n\n return (\n <Document width={450}>\n {(() => {\n if (!login) {\n return (\n <AuthenticationForm\n generatePkce={!onCode}\n onForgotPassword={onForgotPassword}\n onRegister={onRegister}\n handleAuthResponse={handleAuthResponse}\n {...baseLoginRequest}\n >\n {props.children}\n </AuthenticationForm>\n );\n } else if (mfaRequired) {\n return <MfaForm login={login} handleAuthResponse={handleAuthResponse} />;\n } else if (memberships) {\n return <ChooseProfileForm login={login} memberships={memberships} handleAuthResponse={handleAuthResponse} />;\n } else if (props.projectId === 'new') {\n return <NewProjectForm login={login} handleAuthResponse={handleAuthResponse} />;\n } else if (props.chooseScopes) {\n return <ChooseScopeForm login={login} scope={props.scope} handleAuthResponse={handleScopeResponse} />;\n } else {\n return <div>Success</div>;\n }\n })()}\n </Document>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -9,4 +9,4 @@ const DEFAULT_IGNORED_PROPERTIES = [
9
9
  ];
10
10
 
11
11
  export { DEFAULT_IGNORED_PROPERTIES };
12
- //# sourceMappingURL=constants.js.map
12
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../src/constants.ts"],"sourcesContent":["export const DEFAULT_IGNORED_PROPERTIES = [\n 'meta',\n 'implicitRules',\n 'language',\n 'text',\n 'contained',\n 'extension',\n 'modifierExtension',\n];\n"],"names":[],"mappings":"AAAa,MAAA,0BAA0B,GAAG;IACxC,MAAM;IACN,eAAe;IACf,UAAU;IACV,MAAM;IACN,WAAW;IACX,WAAW;IACX,mBAAmB;;;;;"}
@@ -41,6 +41,8 @@ export * from './IdentifierInput/IdentifierInput';
41
41
  export * from './Logo/Logo';
42
42
  export * from './MedplumLink/MedplumLink';
43
43
  export * from './MedplumProvider/MedplumProvider';
44
+ export * from './MoneyDisplay/MoneyDisplay';
45
+ export * from './MoneyInput/MoneyInput';
44
46
  export * from './Panel/Panel';
45
47
  export * from './PatientTimeline/PatientTimeline';
46
48
  export * from './PlanDefinitionBuilder/PlanDefinitionBuilder';