@medplum/react 0.9.28 → 0.9.31

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 (240) hide show
  1. package/dist/cjs/AddressDisplay.d.ts +6 -0
  2. package/dist/cjs/AddressInput.d.ts +8 -0
  3. package/dist/cjs/AnnotationInput.d.ts +8 -0
  4. package/dist/cjs/AttachmentArrayDisplay.d.ts +7 -0
  5. package/dist/cjs/AttachmentArrayInput.d.ts +9 -0
  6. package/dist/cjs/AttachmentDisplay.d.ts +7 -0
  7. package/dist/cjs/AttachmentInput.d.ts +9 -0
  8. package/dist/cjs/Autocomplete.d.ts +20 -0
  9. package/dist/cjs/Avatar.d.ts +12 -0
  10. package/dist/cjs/BackboneElementDisplay.d.ts +9 -0
  11. package/dist/cjs/BackboneElementInput.d.ts +9 -0
  12. package/dist/cjs/Button.d.ts +15 -0
  13. package/dist/cjs/CalendarInput.d.ts +16 -0
  14. package/dist/cjs/Checkbox.d.ts +12 -0
  15. package/dist/cjs/CheckboxFormSection.d.ts +9 -0
  16. package/dist/cjs/CodeInput.d.ts +9 -0
  17. package/dist/cjs/CodeableConceptDisplay.d.ts +6 -0
  18. package/dist/cjs/CodeableConceptInput.d.ts +9 -0
  19. package/dist/cjs/CodingDisplay.d.ts +6 -0
  20. package/dist/cjs/CodingInput.d.ts +9 -0
  21. package/dist/cjs/ContactDetailDisplay.d.ts +6 -0
  22. package/dist/cjs/ContactDetailInput.d.ts +8 -0
  23. package/dist/cjs/ContactPointDisplay.d.ts +6 -0
  24. package/dist/cjs/ContactPointInput.d.ts +8 -0
  25. package/dist/cjs/DateTimeInput.d.ts +23 -0
  26. package/dist/cjs/DefaultResourceTimeline.d.ts +6 -0
  27. package/dist/cjs/DescriptionList.d.ts +12 -0
  28. package/dist/cjs/DiagnosticReportDisplay.d.ts +12 -0
  29. package/dist/cjs/Dialog.d.ts +10 -0
  30. package/dist/cjs/Document.d.ts +7 -0
  31. package/dist/cjs/EncounterTimeline.d.ts +6 -0
  32. package/dist/cjs/ErrorBoundary.d.ts +18 -0
  33. package/dist/cjs/ExtensionInput.d.ts +8 -0
  34. package/dist/cjs/FhirPathDisplay.d.ts +9 -0
  35. package/dist/cjs/FhirPathTable.d.ts +29 -0
  36. package/dist/cjs/FooterLinks.d.ts +6 -0
  37. package/dist/cjs/Form.d.ts +8 -0
  38. package/dist/cjs/FormSection.d.ts +11 -0
  39. package/dist/cjs/FormUtils.d.ts +5 -0
  40. package/dist/cjs/GoogleButton.d.ts +8 -0
  41. package/dist/cjs/Header.d.ts +12 -0
  42. package/dist/cjs/HeaderSearchInput.d.ts +10 -0
  43. package/dist/cjs/HumanNameDisplay.d.ts +8 -0
  44. package/dist/cjs/HumanNameInput.d.ts +8 -0
  45. package/dist/cjs/IdentifierDisplay.d.ts +6 -0
  46. package/dist/cjs/IdentifierInput.d.ts +8 -0
  47. package/dist/cjs/Input.d.ts +22 -0
  48. package/dist/cjs/InputRow.d.ts +7 -0
  49. package/dist/cjs/Loading.d.ts +3 -0
  50. package/dist/cjs/Logo.d.ts +6 -0
  51. package/dist/cjs/MedplumLink.d.ts +13 -0
  52. package/dist/cjs/MedplumProvider.d.ts +34 -0
  53. package/dist/cjs/MenuItem.d.ts +9 -0
  54. package/dist/cjs/MenuSeparator.d.ts +3 -0
  55. package/dist/cjs/PatientTimeline.d.ts +6 -0
  56. package/dist/cjs/PeriodInput.d.ts +8 -0
  57. package/dist/cjs/PlanDefinitionBuilder.d.ts +7 -0
  58. package/dist/cjs/Popup.d.ts +14 -0
  59. package/dist/cjs/QuantityDisplay.d.ts +7 -0
  60. package/dist/cjs/QuantityInput.d.ts +8 -0
  61. package/dist/cjs/QuestionnaireBuilder.d.ts +8 -0
  62. package/dist/cjs/QuestionnaireForm.d.ts +14 -0
  63. package/dist/cjs/QuestionnaireUtils.d.ts +30 -0
  64. package/dist/cjs/RangeDisplay.d.ts +7 -0
  65. package/dist/cjs/RangeInput.d.ts +14 -0
  66. package/dist/cjs/RatioDisplay.d.ts +6 -0
  67. package/dist/cjs/RatioInput.d.ts +14 -0
  68. package/dist/cjs/ReferenceDisplay.d.ts +7 -0
  69. package/dist/cjs/ReferenceInput.d.ts +9 -0
  70. package/dist/cjs/RequestGroupDisplay.d.ts +9 -0
  71. package/dist/cjs/ResourceArrayDisplay.d.ts +11 -0
  72. package/dist/cjs/ResourceArrayInput.d.ts +11 -0
  73. package/dist/cjs/ResourceBadge.d.ts +9 -0
  74. package/dist/cjs/ResourceBlame.d.ts +10 -0
  75. package/dist/cjs/ResourceDiff.d.ts +9 -0
  76. package/dist/cjs/ResourceDiffTable.d.ts +9 -0
  77. package/dist/cjs/ResourceForm.d.ts +10 -0
  78. package/dist/cjs/ResourceHistoryTable.d.ts +9 -0
  79. package/dist/cjs/ResourceInput.d.ts +12 -0
  80. package/dist/cjs/ResourceName.d.ts +7 -0
  81. package/dist/cjs/ResourcePropertyDisplay.d.ts +24 -0
  82. package/dist/cjs/ResourcePropertyInput.d.ts +21 -0
  83. package/dist/cjs/ResourceTable.d.ts +7 -0
  84. package/dist/cjs/ResourceTimeline.d.ts +11 -0
  85. package/dist/cjs/Scheduler.d.ts +7 -0
  86. package/dist/cjs/Scrollable.d.ts +9 -0
  87. package/dist/cjs/SearchControl.d.ts +40 -0
  88. package/dist/cjs/SearchControlField.d.ts +41 -0
  89. package/dist/cjs/SearchFieldEditor.d.ts +11 -0
  90. package/dist/cjs/SearchFilterEditor.d.ts +11 -0
  91. package/dist/cjs/SearchFilterValueDialog.d.ts +15 -0
  92. package/dist/cjs/SearchFilterValueDisplay.d.ts +7 -0
  93. package/dist/cjs/SearchFilterValueInput.d.ts +12 -0
  94. package/dist/cjs/SearchPopupMenu.d.ts +15 -0
  95. package/dist/cjs/SearchUtils.d.ts +174 -0
  96. package/dist/cjs/Select.d.ts +16 -0
  97. package/dist/cjs/ServiceRequestTimeline.d.ts +6 -0
  98. package/dist/cjs/StatusBadge.d.ts +6 -0
  99. package/dist/cjs/SubMenu.d.ts +7 -0
  100. package/dist/cjs/Tab.d.ts +12 -0
  101. package/dist/cjs/TabList.d.ts +10 -0
  102. package/dist/cjs/TabPanel.d.ts +6 -0
  103. package/dist/cjs/TabSwitch.d.ts +6 -0
  104. package/dist/cjs/TextArea.d.ts +18 -0
  105. package/dist/cjs/Timeline.d.ts +17 -0
  106. package/dist/cjs/TimingInput.d.ts +8 -0
  107. package/dist/cjs/TitleBar.d.ts +6 -0
  108. package/dist/cjs/UploadButton.d.ts +7 -0
  109. package/dist/cjs/auth/AuthenticationForm.d.ts +14 -0
  110. package/dist/cjs/auth/ChooseProfileForm.d.ts +8 -0
  111. package/dist/cjs/auth/NewProjectForm.d.ts +7 -0
  112. package/dist/cjs/auth/NewUserForm.d.ts +10 -0
  113. package/dist/cjs/auth/RegisterForm.d.ts +12 -0
  114. package/dist/{esm → cjs/auth}/SignInForm.d.ts +1 -1
  115. package/dist/cjs/constants.d.ts +1 -0
  116. package/dist/cjs/index.d.ts +87 -0
  117. package/dist/cjs/index.js +660 -565
  118. package/dist/cjs/index.js.map +1 -1
  119. package/dist/cjs/index.min.js +1 -1
  120. package/dist/cjs/index.min.js.map +1 -1
  121. package/dist/cjs/stories/AddressInput.stories.d.ts +6 -0
  122. package/dist/cjs/stories/AttachmentArrayInput.stories.d.ts +6 -0
  123. package/dist/cjs/stories/AttachmentInput.stories.d.ts +6 -0
  124. package/dist/cjs/stories/Autocomplete.stories.d.ts +9 -0
  125. package/dist/cjs/stories/Avatar.stories.d.ts +10 -0
  126. package/dist/cjs/stories/Button.stories.d.ts +9 -0
  127. package/dist/cjs/stories/CodeableConceptDisplay.stories.d.ts +8 -0
  128. package/dist/cjs/stories/DiagnosticReportDisplay.stories.d.ts +5 -0
  129. package/dist/cjs/stories/Dialog.stories.d.ts +5 -0
  130. package/dist/cjs/stories/EncounterTimeline.stories.d.ts +5 -0
  131. package/dist/cjs/stories/FhirPathDisplay.stories.d.ts +7 -0
  132. package/dist/cjs/stories/FormSection.stories.d.ts +6 -0
  133. package/dist/cjs/stories/Header.stories.d.ts +8 -0
  134. package/dist/cjs/stories/Input.stories.d.ts +6 -0
  135. package/dist/cjs/stories/Loading.stories.d.ts +5 -0
  136. package/dist/cjs/stories/Logo.stories.d.ts +5 -0
  137. package/dist/cjs/stories/PatientTimeline.stories.d.ts +5 -0
  138. package/dist/cjs/stories/PlanDefinitionBuilder.stories.d.ts +5 -0
  139. package/dist/cjs/stories/QuestionnaireBuilder.stories.d.ts +7 -0
  140. package/dist/cjs/stories/QuestionnaireForm.stories.d.ts +11 -0
  141. package/dist/cjs/stories/ReferenceInput.stories.d.ts +6 -0
  142. package/dist/cjs/stories/RegisterForm.stories.d.ts +7 -0
  143. package/dist/cjs/stories/RequestGroupDisplay.stories.d.ts +5 -0
  144. package/dist/cjs/stories/ResourceBlame.stories.d.ts +5 -0
  145. package/dist/cjs/stories/ResourceForm.stories.d.ts +12 -0
  146. package/dist/cjs/stories/ResourceHistoryTable.stories.d.ts +5 -0
  147. package/dist/cjs/stories/ResourceTable.stories.d.ts +7 -0
  148. package/dist/cjs/stories/Scheduler.stories.d.ts +5 -0
  149. package/dist/cjs/stories/SearchControl.stories.d.ts +13 -0
  150. package/dist/cjs/stories/Select.stories.d.ts +6 -0
  151. package/dist/cjs/stories/SignInForm.stories.d.ts +8 -0
  152. package/dist/cjs/stories/StatusBadge.stories.d.ts +5 -0
  153. package/dist/cjs/stories/Tabs.stories.d.ts +6 -0
  154. package/dist/cjs/stories/Timeline.stories.d.ts +5 -0
  155. package/dist/cjs/stories/TimingInput.stories.d.ts +6 -0
  156. package/dist/cjs/stories/UploadButton.stories.d.ts +6 -0
  157. package/dist/cjs/styles.css +248 -247
  158. package/dist/cjs/test.setup.d.ts +1 -0
  159. package/dist/cjs/useResource.d.ts +8 -0
  160. package/dist/cjs/utils/blame.d.ts +8 -0
  161. package/dist/cjs/utils/date.d.ts +6 -0
  162. package/dist/cjs/utils/diff.d.ts +16 -0
  163. package/dist/cjs/utils/dom.d.ts +15 -0
  164. package/dist/cjs/utils/outcomes.d.ts +2 -0
  165. package/dist/cjs/utils/recaptcha.d.ts +12 -0
  166. package/dist/cjs/utils.d.ts +5 -0
  167. package/dist/esm/Autocomplete.js +1 -0
  168. package/dist/esm/Autocomplete.js.map +1 -1
  169. package/dist/esm/CalendarInput.d.ts +1 -0
  170. package/dist/esm/CalendarInput.js +6 -5
  171. package/dist/esm/CalendarInput.js.map +1 -1
  172. package/dist/esm/CodeInput.js +1 -1
  173. package/dist/esm/CodeInput.js.map +1 -1
  174. package/dist/esm/CodeableConceptInput.js +1 -1
  175. package/dist/esm/CodeableConceptInput.js.map +1 -1
  176. package/dist/esm/CodingInput.js +1 -1
  177. package/dist/esm/CodingInput.js.map +1 -1
  178. package/dist/esm/FhirPathTable.js +5 -2
  179. package/dist/esm/FhirPathTable.js.map +1 -1
  180. package/dist/esm/GoogleButton.js +1 -1
  181. package/dist/esm/GoogleButton.js.map +1 -1
  182. package/dist/esm/Header.js +7 -3
  183. package/dist/esm/Header.js.map +1 -1
  184. package/dist/esm/MedplumLink.js +29 -14
  185. package/dist/esm/MedplumLink.js.map +1 -1
  186. package/dist/esm/PlanDefinitionBuilder.js +1 -1
  187. package/dist/esm/PlanDefinitionBuilder.js.map +1 -1
  188. package/dist/esm/QuestionnaireBuilder.js +1 -1
  189. package/dist/esm/QuestionnaireBuilder.js.map +1 -1
  190. package/dist/esm/QuestionnaireForm.js +2 -1
  191. package/dist/esm/QuestionnaireForm.js.map +1 -1
  192. package/dist/esm/RequestGroupDisplay.js +1 -1
  193. package/dist/esm/RequestGroupDisplay.js.map +1 -1
  194. package/dist/esm/ResourceBlame.js +1 -1
  195. package/dist/esm/ResourceBlame.js.map +1 -1
  196. package/dist/esm/ResourceDiffTable.js +1 -1
  197. package/dist/esm/ResourceDiffTable.js.map +1 -1
  198. package/dist/esm/ResourceForm.js +1 -1
  199. package/dist/esm/ResourceForm.js.map +1 -1
  200. package/dist/esm/ResourceHistoryTable.js +19 -12
  201. package/dist/esm/ResourceHistoryTable.js.map +1 -1
  202. package/dist/esm/ResourceTable.js +1 -1
  203. package/dist/esm/ResourceTable.js.map +1 -1
  204. package/dist/esm/ResourceTimeline.js +16 -8
  205. package/dist/esm/ResourceTimeline.js.map +1 -1
  206. package/dist/esm/Scheduler.js +13 -6
  207. package/dist/esm/Scheduler.js.map +1 -1
  208. package/dist/esm/SearchControl.js +5 -2
  209. package/dist/esm/SearchControl.js.map +1 -1
  210. package/dist/esm/auth/AuthenticationForm.d.ts +14 -0
  211. package/dist/esm/{SignInForm.js → auth/AuthenticationForm.js} +12 -75
  212. package/dist/esm/auth/AuthenticationForm.js.map +1 -0
  213. package/dist/esm/auth/ChooseProfileForm.d.ts +8 -0
  214. package/dist/esm/auth/ChooseProfileForm.js +32 -0
  215. package/dist/esm/auth/ChooseProfileForm.js.map +1 -0
  216. package/dist/esm/auth/NewProjectForm.d.ts +7 -0
  217. package/dist/esm/auth/NewProjectForm.js +42 -0
  218. package/dist/esm/auth/NewProjectForm.js.map +1 -0
  219. package/dist/esm/auth/NewUserForm.d.ts +10 -0
  220. package/dist/esm/auth/NewUserForm.js +87 -0
  221. package/dist/esm/auth/NewUserForm.js.map +1 -0
  222. package/dist/esm/auth/RegisterForm.d.ts +12 -0
  223. package/dist/esm/auth/RegisterForm.js +39 -0
  224. package/dist/esm/auth/RegisterForm.js.map +1 -0
  225. package/dist/esm/auth/SignInForm.d.ts +17 -0
  226. package/dist/esm/auth/SignInForm.js +52 -0
  227. package/dist/esm/auth/SignInForm.js.map +1 -0
  228. package/dist/esm/index.d.ts +3 -2
  229. package/dist/esm/index.js +3 -2
  230. package/dist/esm/index.js.map +1 -1
  231. package/dist/esm/index.min.js +1 -1
  232. package/dist/esm/index.min.js.map +1 -1
  233. package/dist/esm/styles.css +248 -247
  234. package/dist/esm/utils/recaptcha.js +10 -4
  235. package/dist/esm/utils/recaptcha.js.map +1 -1
  236. package/package.json +16 -18
  237. package/dist/esm/RegisterForm.d.ts +0 -18
  238. package/dist/esm/RegisterForm.js +0 -121
  239. package/dist/esm/RegisterForm.js.map +0 -1
  240. package/dist/esm/SignInForm.js.map +0 -1
@@ -172,6 +172,203 @@ select.medplum-select:disabled {
172
172
  box-shadow: 0 0 0 2px var(--medplum-blue-200);
173
173
  }
174
174
 
175
+ .medplum-document {
176
+ margin: 20px auto 6px auto;
177
+ padding: 10px;
178
+ clear: both;
179
+ text-align: center;
180
+ }
181
+
182
+ .medplum-document article {
183
+ background-color: var(--medplum-surface);
184
+ max-width: 900px;
185
+ margin: 8px auto 16px auto;
186
+ padding: 15px 25px;
187
+ text-align: left;
188
+ border: 0.1px solid var(--medplum-gray-300);
189
+ border-radius: 8px;
190
+ box-shadow: 0 1px 3px 0 var(--medplum-shadow);
191
+ }
192
+
193
+ .medplum-document h1,
194
+ .medplum-document h2,
195
+ .medplum-document h3 {
196
+ margin: 12px 0;
197
+ }
198
+
199
+ .medplum-document p,
200
+ .medplum-document li {
201
+ line-height: 175%;
202
+ margin: 8px 0;
203
+ }
204
+
205
+ @media (max-width: 700px) {
206
+ .medplum-document {
207
+ margin: 10px auto 6px auto;
208
+ padding: 6px;
209
+ }
210
+
211
+ .medplum-document article {
212
+ padding: 6px 12px;
213
+ }
214
+ }
215
+
216
+ .medplum-document img,
217
+ .medplum-document video {
218
+ width: 100%;
219
+ }
220
+
221
+ .medplum-document textarea {
222
+ margin: 0;
223
+ min-height: 100px;
224
+ width: 100%;
225
+ }
226
+
227
+ fieldset.medplum-form-section {
228
+ border: 0;
229
+ margin: 6px 0 12px 0;
230
+ padding: 2px 0 8px 0;
231
+ }
232
+
233
+ fieldset.medplum-form-section > label,
234
+ fieldset.medplum-form-section > legend {
235
+ display: block;
236
+ margin: 1px 0 3px 0;
237
+ line-height: 1.75;
238
+ font-weight: 500;
239
+ }
240
+
241
+ fieldset.medplum-form-section > p {
242
+ margin: 1px 0 4px 0;
243
+ padding: 1px 0 4px 0;
244
+ line-height: 1.75;
245
+ }
246
+
247
+ .medplum-signin-buttons {
248
+ display: flex;
249
+ justify-content: space-between;
250
+ line-height: 32px;
251
+ }
252
+
253
+ .medplum-signin-buttons > div {
254
+ display: flex;
255
+ align-items: center;
256
+ }
257
+
258
+ .medplum-signin-buttons a {
259
+ font-size: 12px;
260
+ margin-right: 16px;
261
+ }
262
+
263
+ .medplum-signin-buttons label {
264
+ font-size: 12px;
265
+ }
266
+
267
+ .medplum-signin-google-container {
268
+ padding: 20px 0 10px 0;
269
+ margin: 20px 0 10px 0;
270
+ height: 70px;
271
+ text-align: center;
272
+ display: flex;
273
+ align-items: center;
274
+ justify-content: center;
275
+ }
276
+
277
+ .medplum-signin-separator {
278
+ padding: 12px 0;
279
+ margin: 12px 0;
280
+ overflow: hidden;
281
+ text-align: center;
282
+ font-size: var(--medplum-font-small);
283
+ }
284
+
285
+ .medplum-signin-separator::before,
286
+ .medplum-signin-separator::after {
287
+ background-color: var(--medplum-gray-400);
288
+ content: '';
289
+ display: inline-block;
290
+ height: 0.1px;
291
+ position: relative;
292
+ vertical-align: middle;
293
+ width: 50%;
294
+ }
295
+
296
+ .medplum-signin-separator::before {
297
+ right: 0.5em;
298
+ margin-left: -50%;
299
+ }
300
+
301
+ .medplum-signin-separator::after {
302
+ left: 0.5em;
303
+ margin-right: -50%;
304
+ }
305
+
306
+ .medplum-left {
307
+ text-align: left;
308
+ }
309
+
310
+ .medplum-center {
311
+ text-align: center;
312
+ }
313
+
314
+ .medplum-right {
315
+ text-align: right;
316
+ }
317
+
318
+ .medplum-avatar {
319
+ padding: 0;
320
+ width: 32px;
321
+ height: 32px;
322
+ min-width: 32px;
323
+ min-height: 32px;
324
+ line-height: 32px;
325
+ user-select: none;
326
+ border-radius: 50%;
327
+ overflow: hidden;
328
+ text-align: center;
329
+ color: var(--medplum-surface);
330
+ background-color: var(--medplum-gray-500);
331
+ font-size: 18px;
332
+ }
333
+
334
+ .medplum-avatar img {
335
+ width: 100%;
336
+ height: 100%;
337
+ object-fit: cover;
338
+ }
339
+
340
+ .medplum-avatar.xsmall {
341
+ width: 20px;
342
+ height: 20px;
343
+ min-width: 20px;
344
+ min-height: 20px;
345
+ line-height: 20px;
346
+ font-size: 10px;
347
+ }
348
+
349
+ .medplum-avatar.small {
350
+ width: 24px;
351
+ height: 24px;
352
+ min-width: 24px;
353
+ min-height: 24px;
354
+ line-height: 24px;
355
+ font-size: 11px;
356
+ }
357
+
358
+ .medplum-avatar.large {
359
+ width: 56px;
360
+ height: 56px;
361
+ min-width: 56px;
362
+ min-height: 56px;
363
+ line-height: 56px;
364
+ font-size: 28px;
365
+ }
366
+
367
+ .medplum-avatar > a {
368
+ color: var(--medplum-surface);
369
+ text-decoration: none;
370
+ }
371
+
175
372
  .medplum-autocomplete-container {
176
373
  border: 0.1px solid var(--medplum-gray-300);
177
374
  border-radius: 3px;
@@ -306,60 +503,6 @@ select.medplum-select:disabled {
306
503
  color: var(--medplum-gray-500);
307
504
  }
308
505
 
309
- .medplum-avatar {
310
- padding: 0;
311
- width: 32px;
312
- height: 32px;
313
- min-width: 32px;
314
- min-height: 32px;
315
- line-height: 32px;
316
- user-select: none;
317
- border-radius: 50%;
318
- overflow: hidden;
319
- text-align: center;
320
- color: var(--medplum-surface);
321
- background-color: var(--medplum-gray-500);
322
- font-size: 18px;
323
- }
324
-
325
- .medplum-avatar img {
326
- width: 100%;
327
- height: 100%;
328
- object-fit: cover;
329
- }
330
-
331
- .medplum-avatar.xsmall {
332
- width: 20px;
333
- height: 20px;
334
- min-width: 20px;
335
- min-height: 20px;
336
- line-height: 20px;
337
- font-size: 10px;
338
- }
339
-
340
- .medplum-avatar.small {
341
- width: 24px;
342
- height: 24px;
343
- min-width: 24px;
344
- min-height: 24px;
345
- line-height: 24px;
346
- font-size: 11px;
347
- }
348
-
349
- .medplum-avatar.large {
350
- width: 56px;
351
- height: 56px;
352
- min-width: 56px;
353
- min-height: 56px;
354
- line-height: 56px;
355
- font-size: 28px;
356
- }
357
-
358
- .medplum-avatar > a {
359
- color: var(--medplum-surface);
360
- text-decoration: none;
361
- }
362
-
363
506
  .medplum-checkbox-form-section {
364
507
  display: flex;
365
508
  justify-content: space-between;
@@ -378,26 +521,6 @@ select.medplum-select:disabled {
378
521
  font-weight: 500;
379
522
  }
380
523
 
381
- fieldset.medplum-form-section {
382
- border: 0;
383
- margin: 6px 0 12px 0;
384
- padding: 2px 0 8px 0;
385
- }
386
-
387
- fieldset.medplum-form-section > label,
388
- fieldset.medplum-form-section > legend {
389
- display: block;
390
- margin: 1px 0 3px 0;
391
- line-height: 1.75;
392
- font-weight: 500;
393
- }
394
-
395
- fieldset.medplum-form-section > p {
396
- margin: 1px 0 4px 0;
397
- padding: 1px 0 4px 0;
398
- line-height: 1.75;
399
- }
400
-
401
524
  dl.medplum-description-list {
402
525
  display: grid;
403
526
  grid-template-columns: 30% 70%;
@@ -816,109 +939,6 @@ table.medplum-diff-table td {
816
939
  margin-right: 4px;
817
940
  }
818
941
 
819
- .medplum-document {
820
- margin: 20px auto 6px auto;
821
- padding: 10px;
822
- clear: both;
823
- text-align: center;
824
- }
825
-
826
- .medplum-document article {
827
- background-color: var(--medplum-surface);
828
- max-width: 900px;
829
- margin: 8px auto 16px auto;
830
- padding: 15px 25px;
831
- text-align: left;
832
- border: 0.1px solid var(--medplum-gray-300);
833
- border-radius: 8px;
834
- box-shadow: 0 1px 3px 0 var(--medplum-shadow);
835
- }
836
-
837
- .medplum-document h1,
838
- .medplum-document h2,
839
- .medplum-document h3 {
840
- margin: 12px 0;
841
- }
842
-
843
- .medplum-document p,
844
- .medplum-document li {
845
- line-height: 175%;
846
- margin: 8px 0 16px 0;
847
- }
848
-
849
- @media (max-width: 700px) {
850
- .medplum-document {
851
- margin: 10px auto 6px auto;
852
- padding: 6px;
853
- }
854
-
855
- .medplum-document article {
856
- padding: 6px 12px;
857
- }
858
- }
859
-
860
- .medplum-document img,
861
- .medplum-document video {
862
- width: 100%;
863
- }
864
-
865
- .medplum-document textarea {
866
- margin: 0;
867
- min-height: 100px;
868
- width: 100%;
869
- }
870
-
871
- .medplum-filter-editor {
872
- text-align: left;
873
- width: 900px;
874
- max-width: 900px;
875
- }
876
-
877
- .medplum-filter-editor-table {
878
- width: 100%;
879
- border-collapse: collapse;
880
- }
881
-
882
- .medplum-menu-separator {
883
- border-top: 0.1px solid var(--medplum-gray-400);
884
- margin: 4px 0;
885
- padding: 0;
886
- }
887
-
888
- .medplum-submenu-arrow {
889
- color: var(--medplum-foreground);
890
- left: auto;
891
- padding-right: 6px;
892
- position: absolute;
893
- right: 0;
894
- text-align: right;
895
- user-select: none;
896
- }
897
-
898
- .medplum-title-bar {
899
- display: flex;
900
- width: 100%;
901
- height: 50px;
902
- padding: 15px;
903
- justify-content: space-between;
904
- background: var(--medplum-surface);
905
- border-bottom: 2px solid var(--medplum-gray-200);
906
- color: var(--medplum-gray-800);
907
- }
908
-
909
- .medplum-title-bar > div {
910
- display: flex;
911
- align-items: center;
912
- }
913
-
914
- .medplum-title-bar h1 {
915
- font-size: 14px;
916
- font-weight: bold;
917
- padding: 0 4px 0 1px;
918
- margin: 0 4px 0 1px;
919
- color: var(--medplum-gray-800);
920
- }
921
-
922
942
  .medplum-search-control {
923
943
  max-width: 100%;
924
944
  overflow: auto;
@@ -1038,6 +1058,57 @@ table.medplum-diff-table td {
1038
1058
  outline: 0;
1039
1059
  }
1040
1060
 
1061
+ .medplum-filter-editor {
1062
+ text-align: left;
1063
+ width: 900px;
1064
+ max-width: 900px;
1065
+ }
1066
+
1067
+ .medplum-filter-editor-table {
1068
+ width: 100%;
1069
+ border-collapse: collapse;
1070
+ }
1071
+
1072
+ .medplum-menu-separator {
1073
+ border-top: 0.1px solid var(--medplum-gray-400);
1074
+ margin: 4px 0;
1075
+ padding: 0;
1076
+ }
1077
+
1078
+ .medplum-submenu-arrow {
1079
+ color: var(--medplum-foreground);
1080
+ left: auto;
1081
+ padding-right: 6px;
1082
+ position: absolute;
1083
+ right: 0;
1084
+ text-align: right;
1085
+ user-select: none;
1086
+ }
1087
+
1088
+ .medplum-title-bar {
1089
+ display: flex;
1090
+ width: 100%;
1091
+ height: 50px;
1092
+ padding: 15px;
1093
+ justify-content: space-between;
1094
+ background: var(--medplum-surface);
1095
+ border-bottom: 2px solid var(--medplum-gray-200);
1096
+ color: var(--medplum-gray-800);
1097
+ }
1098
+
1099
+ .medplum-title-bar > div {
1100
+ display: flex;
1101
+ align-items: center;
1102
+ }
1103
+
1104
+ .medplum-title-bar h1 {
1105
+ font-size: 14px;
1106
+ font-weight: bold;
1107
+ padding: 0 4px 0 1px;
1108
+ margin: 0 4px 0 1px;
1109
+ color: var(--medplum-gray-800);
1110
+ }
1111
+
1041
1112
  .medplum-footer {
1042
1113
  text-align: center;
1043
1114
  font-size: 12px;
@@ -1374,76 +1445,6 @@ div.medplum-nav-menu-container {
1374
1445
  color: var(--medplum-blue-500);
1375
1446
  }
1376
1447
 
1377
- .medplum-signin-buttons {
1378
- display: flex;
1379
- justify-content: space-between;
1380
- line-height: 32px;
1381
- }
1382
-
1383
- .medplum-signin-buttons > div {
1384
- display: flex;
1385
- align-items: center;
1386
- }
1387
-
1388
- .medplum-signin-buttons a {
1389
- font-size: 12px;
1390
- margin-right: 16px;
1391
- }
1392
-
1393
- .medplum-signin-buttons label {
1394
- font-size: 12px;
1395
- }
1396
-
1397
- .medplum-signin-google-container {
1398
- padding: 20px 0 10px 0;
1399
- margin: 20px 0 10px 0;
1400
- text-align: center;
1401
- display: flex;
1402
- align-items: center;
1403
- justify-content: center;
1404
- }
1405
-
1406
- .medplum-signin-separator {
1407
- padding: 12px 0;
1408
- margin: 12px 0;
1409
- overflow: hidden;
1410
- text-align: center;
1411
- font-size: var(--medplum-font-small);
1412
- }
1413
-
1414
- .medplum-signin-separator::before,
1415
- .medplum-signin-separator::after {
1416
- background-color: var(--medplum-gray-400);
1417
- content: '';
1418
- display: inline-block;
1419
- height: 0.1px;
1420
- position: relative;
1421
- vertical-align: middle;
1422
- width: 50%;
1423
- }
1424
-
1425
- .medplum-signin-separator::before {
1426
- right: 0.5em;
1427
- margin-left: -50%;
1428
- }
1429
-
1430
- .medplum-signin-separator::after {
1431
- left: 0.5em;
1432
- margin-right: -50%;
1433
- }
1434
-
1435
- .medplum-left {
1436
- text-align: left;
1437
- }
1438
-
1439
- .medplum-center {
1440
- text-align: center;
1441
- }
1442
-
1443
- .medplum-right {
1444
- text-align: right;
1445
- }
1446
-
1447
1448
  .medplum-status {
1448
1449
  padding: 1px 6px;
1449
1450
  font-size: 80%;
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,8 @@
1
+ import { Reference, Resource } from '@medplum/fhirtypes';
2
+ /**
3
+ * React Hook to use a FHIR reference.
4
+ * Handles the complexity of resolving references and caching resources.
5
+ * @param value The resource or reference to resource.
6
+ * @returns The resolved resource.
7
+ */
8
+ export declare function useResource<T extends Resource>(value: Reference<T> | T | undefined): T | undefined;
@@ -0,0 +1,8 @@
1
+ import { Bundle, Meta } from '@medplum/fhirtypes';
2
+ export interface BlameRow {
3
+ id: string;
4
+ meta: Meta;
5
+ value: string;
6
+ span: number;
7
+ }
8
+ export declare function blame(history: Bundle): BlameRow[];
@@ -0,0 +1,6 @@
1
+ import { Resource } from '@medplum/fhirtypes';
2
+ /**
3
+ * Sorts an array of resources in place by meta.lastUpdated ascending.
4
+ * @param resources Array of resources.
5
+ */
6
+ export declare function sortByDateAndPriority(resources: Resource[]): void;
@@ -0,0 +1,16 @@
1
+ export declare function diff(original: string[], revised: string[]): Delta[];
2
+ export interface PathNode {
3
+ readonly i: number;
4
+ readonly j: number;
5
+ readonly prev: PathNode | undefined;
6
+ readonly snake: boolean;
7
+ }
8
+ export interface Delta {
9
+ readonly original: Chunk;
10
+ readonly revised: Chunk;
11
+ readonly type: 'change' | 'delete' | 'insert';
12
+ }
13
+ export interface Chunk {
14
+ readonly position: number;
15
+ readonly lines: string[];
16
+ }
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Kills a browser event.
4
+ * Prevents default behavior.
5
+ * Stops event propagation.
6
+ * @param e The event.
7
+ */
8
+ export declare function killEvent(e: Event | React.SyntheticEvent): void;
9
+ /**
10
+ * Returns true if the element is a checkbox or a table cell containing a checkbox.
11
+ * Table cells containing checkboxes are commonly accidentally clicked.
12
+ * @param el The HTML DOM element.
13
+ * @returns True if the element is a checkbox or a table cell containing a checkbox.
14
+ */
15
+ export declare function isCheckboxCell(el: Element): boolean;
@@ -0,0 +1,2 @@
1
+ import { OperationOutcome, OperationOutcomeIssue } from '@medplum/fhirtypes';
2
+ export declare function getIssuesForExpression(outcome: OperationOutcome | undefined, expression: string | undefined): OperationOutcomeIssue[] | undefined;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Dynamically loads the recaptcha script.
3
+ * We do not want to load the script on page load unless the user needs it.
4
+ * @param siteKey The reCAPTCHA site key, available from the reCAPTCHA admin page.
5
+ */
6
+ export declare function initRecaptcha(siteKey: string): void;
7
+ /**
8
+ * Starts a request to generate a recapcha token.
9
+ * @param siteKey The reCAPTCHA site key, available from the reCAPTCHA admin page.
10
+ * @returns Promise to a recaptcha token for the current user.
11
+ */
12
+ export declare function getRecaptcha(siteKey: string): Promise<string>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Dynamically creates a script tag for the specified JavaScript file.
3
+ * @param src The JavaScript file URL.
4
+ */
5
+ export declare function createScriptTag(src: string, onload?: () => void): void;
@@ -64,6 +64,7 @@ function Autocomplete(props) {
64
64
  }
65
65
  }
66
66
  function handleBlur() {
67
+ tryAddOption();
67
68
  setFocused(false);
68
69
  dismissOnDelay();
69
70
  }