@medplum/react 2.0.18 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/cjs/index.cjs +175 -77
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.min.cjs +1 -1
  4. package/dist/esm/AppShell/Navbar.mjs +83 -32
  5. package/dist/esm/AppShell/Navbar.mjs.map +1 -1
  6. package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs +3 -2
  7. package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs.map +1 -1
  8. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs +3 -0
  9. package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs.map +1 -1
  10. package/dist/esm/index.min.mjs +1 -1
  11. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs +2 -1
  12. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs.map +1 -1
  13. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs +1 -1
  14. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs.map +1 -1
  15. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAdjustmentsHorizontal.mjs +2 -1
  16. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAdjustmentsHorizontal.mjs.map +1 -1
  17. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs +2 -1
  18. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs.map +1 -1
  19. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleach.mjs +2 -1
  20. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleach.mjs.map +1 -1
  21. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleachOff.mjs +2 -1
  22. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleachOff.mjs.map +1 -1
  23. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBoxMultiple.mjs +2 -1
  24. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBoxMultiple.mjs.map +1 -1
  25. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBracketsContain.mjs +2 -1
  26. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBracketsContain.mjs.map +1 -1
  27. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucket.mjs +2 -1
  28. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucket.mjs.map +1 -1
  29. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucketOff.mjs +2 -1
  30. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucketOff.mjs.map +1 -1
  31. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendar.mjs +2 -1
  32. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendar.mjs.map +1 -1
  33. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.mjs +2 -1
  34. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.mjs.map +1 -1
  35. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.mjs +2 -1
  36. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.mjs.map +1 -1
  37. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.mjs +2 -1
  38. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.mjs.map +1 -1
  39. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCircleMinus.mjs +2 -1
  40. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCircleMinus.mjs.map +1 -1
  41. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCirclePlus.mjs +2 -1
  42. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCirclePlus.mjs.map +1 -1
  43. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCloudUpload.mjs +2 -1
  44. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCloudUpload.mjs.map +1 -1
  45. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconColumns.mjs +2 -1
  46. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconColumns.mjs.map +1 -1
  47. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCurrencyDollar.mjs +2 -1
  48. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCurrencyDollar.mjs.map +1 -1
  49. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconDots.mjs +2 -1
  50. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconDots.mjs.map +1 -1
  51. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEdit.mjs +2 -1
  52. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEdit.mjs.map +1 -1
  53. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqual.mjs +2 -1
  54. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqual.mjs.map +1 -1
  55. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqualNot.mjs +2 -1
  56. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqualNot.mjs.map +1 -1
  57. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFileAlert.mjs +2 -1
  58. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFileAlert.mjs.map +1 -1
  59. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilePlus.mjs +2 -1
  60. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilePlus.mjs.map +1 -1
  61. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilter.mjs +2 -1
  62. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilter.mjs.map +1 -1
  63. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconListDetails.mjs +2 -1
  64. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconListDetails.mjs.map +1 -1
  65. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconLogout.mjs +4 -2
  66. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconLogout.mjs.map +1 -1
  67. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathGreater.mjs +2 -1
  68. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathGreater.mjs.map +1 -1
  69. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathLower.mjs +2 -1
  70. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathLower.mjs.map +1 -1
  71. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMessage.mjs +2 -1
  72. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMessage.mjs.map +1 -1
  73. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPin.mjs +2 -1
  74. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPin.mjs.map +1 -1
  75. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPinnedOff.mjs +2 -1
  76. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPinnedOff.mjs.map +1 -1
  77. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPlus.mjs +2 -1
  78. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPlus.mjs.map +1 -1
  79. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs +2 -1
  80. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs.map +1 -1
  81. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSettings.mjs +2 -1
  82. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSettings.mjs.map +1 -1
  83. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortAscending.mjs +2 -1
  84. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortAscending.mjs.map +1 -1
  85. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortDescending.mjs +2 -1
  86. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortDescending.mjs.map +1 -1
  87. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs +2 -1
  88. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs.map +1 -1
  89. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSwitchHorizontal.mjs +2 -1
  90. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSwitchHorizontal.mjs.map +1 -1
  91. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTableExport.mjs +2 -1
  92. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTableExport.mjs.map +1 -1
  93. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.mjs +2 -1
  94. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.mjs.map +1 -1
  95. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconX.mjs +2 -1
  96. package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconX.mjs.map +1 -1
  97. package/dist/types/AddressDisplay/AddressDisplay.d.ts +1 -0
  98. package/dist/types/AddressInput/AddressInput.d.ts +1 -0
  99. package/dist/types/AnnotationInput/AnnotationInput.d.ts +1 -0
  100. package/dist/types/AppShell/HeaderSearchInput.d.ts +1 -0
  101. package/dist/types/AppShell/Navbar.d.ts +1 -0
  102. package/dist/types/AsyncAutocomplete/AsyncAutocomplete.d.ts +1 -0
  103. package/dist/types/AttachmentArrayDisplay/AttachmentArrayDisplay.d.ts +1 -0
  104. package/dist/types/AttachmentArrayInput/AttachmentArrayInput.d.ts +1 -0
  105. package/dist/types/AttachmentDisplay/AttachmentDisplay.d.ts +1 -0
  106. package/dist/types/AttachmentInput/AttachmentInput.d.ts +1 -0
  107. package/dist/types/BackboneElementDisplay/BackboneElementDisplay.d.ts +1 -0
  108. package/dist/types/BackboneElementInput/BackboneElementInput.d.ts +1 -0
  109. package/dist/types/BookmarkDialog/BookmarkDialog.d.ts +1 -0
  110. package/dist/types/CalendarInput/CalendarInput.d.ts +1 -0
  111. package/dist/types/CodeInput/CodeInput.d.ts +1 -0
  112. package/dist/types/CodeableConceptDisplay/CodeableConceptDisplay.d.ts +1 -0
  113. package/dist/types/CodeableConceptInput/CodeableConceptInput.d.ts +1 -0
  114. package/dist/types/CodingDisplay/CodingDisplay.d.ts +1 -0
  115. package/dist/types/CodingInput/CodingInput.d.ts +1 -0
  116. package/dist/types/ContactDetailDisplay/ContactDetailDisplay.d.ts +1 -0
  117. package/dist/types/ContactDetailInput/ContactDetailInput.d.ts +1 -0
  118. package/dist/types/ContactPointDisplay/ContactPointDisplay.d.ts +1 -0
  119. package/dist/types/ContactPointInput/ContactPointInput.d.ts +1 -0
  120. package/dist/types/Container/Container.d.ts +1 -0
  121. package/dist/types/DateTimeInput/DateTimeInput.d.ts +1 -0
  122. package/dist/types/DefaultResourceTimeline/DefaultResourceTimeline.d.ts +1 -0
  123. package/dist/types/DiagnosticReportDisplay/DiagnosticReportDisplay.d.ts +1 -0
  124. package/dist/types/Document/Document.d.ts +1 -0
  125. package/dist/types/EncounterTimeline/EncounterTimeline.d.ts +1 -0
  126. package/dist/types/ExtensionInput/ExtensionInput.d.ts +1 -0
  127. package/dist/types/FhirPathDisplay/FhirPathDisplay.d.ts +1 -0
  128. package/dist/types/GoogleButton/GoogleButton.d.ts +1 -0
  129. package/dist/types/HumanNameDisplay/HumanNameDisplay.d.ts +1 -0
  130. package/dist/types/HumanNameInput/HumanNameInput.d.ts +1 -0
  131. package/dist/types/IdentifierDisplay/IdentifierDisplay.d.ts +1 -0
  132. package/dist/types/IdentifierInput/IdentifierInput.d.ts +1 -0
  133. package/dist/types/Loading/Loading.d.ts +1 -0
  134. package/dist/types/Logo/Logo.d.ts +1 -0
  135. package/dist/types/MoneyDisplay/MoneyDisplay.d.ts +1 -0
  136. package/dist/types/MoneyInput/MoneyInput.d.ts +1 -0
  137. package/dist/types/NoteDisplay/NoteDisplay.d.ts +1 -0
  138. package/dist/types/OperationOutcomeAlert/OperationOutcomeAlert.d.ts +1 -0
  139. package/dist/types/Panel/Panel.d.ts +1 -0
  140. package/dist/types/PatientTimeline/PatientTimeline.d.ts +1 -0
  141. package/dist/types/PeriodInput/PeriodInput.d.ts +1 -0
  142. package/dist/types/PlanDefinitionBuilder/PlanDefinitionBuilder.d.ts +1 -0
  143. package/dist/types/QuantityDisplay/QuantityDisplay.d.ts +1 -0
  144. package/dist/types/QuantityInput/QuantityInput.d.ts +1 -0
  145. package/dist/types/QuestionnaireBuilder/QuestionnaireBuilder.d.ts +1 -0
  146. package/dist/types/QuestionnaireForm/QuestionnaireForm.d.ts +1 -0
  147. package/dist/types/RangeDisplay/RangeDisplay.d.ts +1 -0
  148. package/dist/types/RangeInput/RangeInput.d.ts +1 -0
  149. package/dist/types/RatioDisplay/RatioDisplay.d.ts +1 -0
  150. package/dist/types/RatioInput/RatioInput.d.ts +1 -0
  151. package/dist/types/ReferenceDisplay/ReferenceDisplay.d.ts +1 -0
  152. package/dist/types/ReferenceInput/ReferenceInput.d.ts +1 -0
  153. package/dist/types/ReferenceRangeEditor/ReferenceRangeEditor.d.ts +1 -0
  154. package/dist/types/RequestGroupDisplay/RequestGroupDisplay.d.ts +1 -0
  155. package/dist/types/ResourceArrayDisplay/ResourceArrayDisplay.d.ts +1 -0
  156. package/dist/types/ResourceArrayInput/ResourceArrayInput.d.ts +1 -0
  157. package/dist/types/ResourceAvatar/ResourceAvatar.d.ts +1 -0
  158. package/dist/types/ResourceBadge/ResourceBadge.d.ts +1 -0
  159. package/dist/types/ResourceBlame/ResourceBlame.d.ts +1 -0
  160. package/dist/types/ResourceDiff/ResourceDiff.d.ts +1 -0
  161. package/dist/types/ResourceDiffTable/ResourceDiffTable.d.ts +1 -0
  162. package/dist/types/ResourceForm/ResourceForm.d.ts +1 -0
  163. package/dist/types/ResourceHistoryTable/ResourceHistoryTable.d.ts +1 -0
  164. package/dist/types/ResourceInput/ResourceInput.d.ts +1 -0
  165. package/dist/types/ResourceName/ResourceName.d.ts +1 -0
  166. package/dist/types/ResourcePropertyDisplay/ResourcePropertyDisplay.d.ts +1 -0
  167. package/dist/types/ResourcePropertyInput/ResourcePropertyInput.d.ts +1 -0
  168. package/dist/types/ResourceTable/ResourceTable.d.ts +1 -0
  169. package/dist/types/ResourceTimeline/ResourceTimeline.d.ts +1 -0
  170. package/dist/types/Scheduler/Scheduler.d.ts +1 -0
  171. package/dist/types/SearchControl/SearchUtils.d.ts +1 -0
  172. package/dist/types/SearchExportDialog/SearchExportDialog.d.ts +1 -0
  173. package/dist/types/SearchFieldEditor/SearchFieldEditor.d.ts +1 -0
  174. package/dist/types/SearchFilterEditor/SearchFilterEditor.d.ts +1 -0
  175. package/dist/types/SearchFilterValueDialog/SearchFilterValueDialog.d.ts +1 -0
  176. package/dist/types/SearchFilterValueDisplay/SearchFilterValueDisplay.d.ts +1 -0
  177. package/dist/types/SearchFilterValueInput/SearchFilterValueInput.d.ts +1 -0
  178. package/dist/types/SearchPopupMenu/SearchPopupMenu.d.ts +1 -0
  179. package/dist/types/ServiceRequestTimeline/ServiceRequestTimeline.d.ts +1 -0
  180. package/dist/types/StatusBadge/StatusBadge.d.ts +1 -0
  181. package/dist/types/TimingInput/TimingInput.d.ts +1 -0
  182. package/dist/types/ValueSetAutocomplete/ValueSetAutocomplete.d.ts +1 -0
  183. package/dist/types/auth/ChooseProfileForm.d.ts +1 -0
  184. package/dist/types/auth/ChooseScopeForm.d.ts +1 -0
  185. package/dist/types/auth/MfaForm.d.ts +1 -0
  186. package/dist/types/auth/NewProjectForm.d.ts +1 -0
  187. package/package.json +13 -13
@@ -154,7 +154,7 @@
154
154
  }
155
155
 
156
156
  /**
157
- * @tabler/icons-react v2.17.0 - MIT
157
+ * @tabler/icons-react v2.18.0 - MIT
158
158
  */
159
159
 
160
160
  var defaultAttributes = {
@@ -170,9 +170,10 @@
170
170
  };
171
171
 
172
172
  /**
173
- * @tabler/icons-react v2.17.0 - MIT
173
+ * @tabler/icons-react v2.18.0 - MIT
174
174
  */
175
175
 
176
+
176
177
  var __defProp = Object.defineProperty;
177
178
  var __defProps = Object.defineProperties;
178
179
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -233,9 +234,10 @@
233
234
  };
234
235
 
235
236
  /**
236
- * @tabler/icons-react v2.17.0 - MIT
237
+ * @tabler/icons-react v2.18.0 - MIT
237
238
  */
238
239
 
240
+
239
241
  var IconAdjustmentsHorizontal = createReactComponent(
240
242
  "adjustments-horizontal",
241
243
  "IconAdjustmentsHorizontal",
@@ -253,9 +255,10 @@
253
255
  );
254
256
 
255
257
  /**
256
- * @tabler/icons-react v2.17.0 - MIT
258
+ * @tabler/icons-react v2.18.0 - MIT
257
259
  */
258
260
 
261
+
259
262
  var IconAlertCircle = createReactComponent("alert-circle", "IconAlertCircle", [
260
263
  ["path", { d: "M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0", key: "svg-0" }],
261
264
  ["path", { d: "M12 8v4", key: "svg-1" }],
@@ -263,9 +266,10 @@
263
266
  ]);
264
267
 
265
268
  /**
266
- * @tabler/icons-react v2.17.0 - MIT
269
+ * @tabler/icons-react v2.18.0 - MIT
267
270
  */
268
271
 
272
+
269
273
  var IconBleachOff = createReactComponent("bleach-off", "IconBleachOff", [
270
274
  [
271
275
  "path",
@@ -278,9 +282,10 @@
278
282
  ]);
279
283
 
280
284
  /**
281
- * @tabler/icons-react v2.17.0 - MIT
285
+ * @tabler/icons-react v2.18.0 - MIT
282
286
  */
283
287
 
288
+
284
289
  var IconBleach = createReactComponent("bleach", "IconBleach", [
285
290
  [
286
291
  "path",
@@ -292,9 +297,10 @@
292
297
  ]);
293
298
 
294
299
  /**
295
- * @tabler/icons-react v2.17.0 - MIT
300
+ * @tabler/icons-react v2.18.0 - MIT
296
301
  */
297
302
 
303
+
298
304
  var IconBoxMultiple = createReactComponent("box-multiple", "IconBoxMultiple", [
299
305
  [
300
306
  "path",
@@ -313,9 +319,10 @@
313
319
  ]);
314
320
 
315
321
  /**
316
- * @tabler/icons-react v2.17.0 - MIT
322
+ * @tabler/icons-react v2.18.0 - MIT
317
323
  */
318
324
 
325
+
319
326
  var IconBracketsContain = createReactComponent("brackets-contain", "IconBracketsContain", [
320
327
  ["path", { d: "M7 4h-4v16h4", key: "svg-0" }],
321
328
  ["path", { d: "M17 4h4v16h-4", key: "svg-1" }],
@@ -325,9 +332,10 @@
325
332
  ]);
326
333
 
327
334
  /**
328
- * @tabler/icons-react v2.17.0 - MIT
335
+ * @tabler/icons-react v2.18.0 - MIT
329
336
  */
330
337
 
338
+
331
339
  var IconBucketOff = createReactComponent("bucket-off", "IconBucketOff", [
332
340
  [
333
341
  "path",
@@ -347,9 +355,10 @@
347
355
  ]);
348
356
 
349
357
  /**
350
- * @tabler/icons-react v2.17.0 - MIT
358
+ * @tabler/icons-react v2.18.0 - MIT
351
359
  */
352
360
 
361
+
353
362
  var IconBucket = createReactComponent("bucket", "IconBucket", [
354
363
  ["path", { d: "M12 7m-8 0a8 4 0 1 0 16 0a8 4 0 1 0 -16 0", key: "svg-0" }],
355
364
  [
@@ -362,9 +371,10 @@
362
371
  ]);
363
372
 
364
373
  /**
365
- * @tabler/icons-react v2.17.0 - MIT
374
+ * @tabler/icons-react v2.18.0 - MIT
366
375
  */
367
376
 
377
+
368
378
  var IconCalendar = createReactComponent("calendar", "IconCalendar", [
369
379
  [
370
380
  "path",
@@ -381,17 +391,19 @@
381
391
  ]);
382
392
 
383
393
  /**
384
- * @tabler/icons-react v2.17.0 - MIT
394
+ * @tabler/icons-react v2.18.0 - MIT
385
395
  */
386
396
 
397
+
387
398
  var IconCheck = createReactComponent("check", "IconCheck", [
388
399
  ["path", { d: "M5 12l5 5l10 -10", key: "svg-0" }]
389
400
  ]);
390
401
 
391
402
  /**
392
- * @tabler/icons-react v2.17.0 - MIT
403
+ * @tabler/icons-react v2.18.0 - MIT
393
404
  */
394
405
 
406
+
395
407
  var IconCheckbox = createReactComponent("checkbox", "IconCheckbox", [
396
408
  ["path", { d: "M9 11l3 3l8 -8", key: "svg-0" }],
397
409
  [
@@ -404,26 +416,29 @@
404
416
  ]);
405
417
 
406
418
  /**
407
- * @tabler/icons-react v2.17.0 - MIT
419
+ * @tabler/icons-react v2.18.0 - MIT
408
420
  */
409
421
 
422
+
410
423
  var IconChevronDown = createReactComponent("chevron-down", "IconChevronDown", [
411
424
  ["path", { d: "M6 9l6 6l6 -6", key: "svg-0" }]
412
425
  ]);
413
426
 
414
427
  /**
415
- * @tabler/icons-react v2.17.0 - MIT
428
+ * @tabler/icons-react v2.18.0 - MIT
416
429
  */
417
430
 
431
+
418
432
  var IconCircleMinus = createReactComponent("circle-minus", "IconCircleMinus", [
419
433
  ["path", { d: "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", key: "svg-0" }],
420
434
  ["path", { d: "M9 12l6 0", key: "svg-1" }]
421
435
  ]);
422
436
 
423
437
  /**
424
- * @tabler/icons-react v2.17.0 - MIT
438
+ * @tabler/icons-react v2.18.0 - MIT
425
439
  */
426
440
 
441
+
427
442
  var IconCirclePlus = createReactComponent("circle-plus", "IconCirclePlus", [
428
443
  ["path", { d: "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", key: "svg-0" }],
429
444
  ["path", { d: "M9 12l6 0", key: "svg-1" }],
@@ -431,9 +446,10 @@
431
446
  ]);
432
447
 
433
448
  /**
434
- * @tabler/icons-react v2.17.0 - MIT
449
+ * @tabler/icons-react v2.18.0 - MIT
435
450
  */
436
451
 
452
+
437
453
  var IconCloudUpload = createReactComponent("cloud-upload", "IconCloudUpload", [
438
454
  [
439
455
  "path",
@@ -447,9 +463,10 @@
447
463
  ]);
448
464
 
449
465
  /**
450
- * @tabler/icons-react v2.17.0 - MIT
466
+ * @tabler/icons-react v2.18.0 - MIT
451
467
  */
452
468
 
469
+
453
470
  var IconColumns = createReactComponent("columns", "IconColumns", [
454
471
  ["path", { d: "M4 6l5.5 0", key: "svg-0" }],
455
472
  ["path", { d: "M4 10l5.5 0", key: "svg-1" }],
@@ -462,9 +479,10 @@
462
479
  ]);
463
480
 
464
481
  /**
465
- * @tabler/icons-react v2.17.0 - MIT
482
+ * @tabler/icons-react v2.18.0 - MIT
466
483
  */
467
484
 
485
+
468
486
  var IconCurrencyDollar = createReactComponent("currency-dollar", "IconCurrencyDollar", [
469
487
  [
470
488
  "path",
@@ -477,9 +495,10 @@
477
495
  ]);
478
496
 
479
497
  /**
480
- * @tabler/icons-react v2.17.0 - MIT
498
+ * @tabler/icons-react v2.18.0 - MIT
481
499
  */
482
500
 
501
+
483
502
  var IconDots = createReactComponent("dots", "IconDots", [
484
503
  ["path", { d: "M5 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", key: "svg-0" }],
485
504
  ["path", { d: "M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", key: "svg-1" }],
@@ -487,9 +506,10 @@
487
506
  ]);
488
507
 
489
508
  /**
490
- * @tabler/icons-react v2.17.0 - MIT
509
+ * @tabler/icons-react v2.18.0 - MIT
491
510
  */
492
511
 
512
+
493
513
  var IconEdit = createReactComponent("edit", "IconEdit", [
494
514
  [
495
515
  "path",
@@ -509,9 +529,10 @@
509
529
  ]);
510
530
 
511
531
  /**
512
- * @tabler/icons-react v2.17.0 - MIT
532
+ * @tabler/icons-react v2.18.0 - MIT
513
533
  */
514
534
 
535
+
515
536
  var IconEqualNot = createReactComponent("equal-not", "IconEqualNot", [
516
537
  ["path", { d: "M5 10h14", key: "svg-0" }],
517
538
  ["path", { d: "M5 14h14", key: "svg-1" }],
@@ -519,18 +540,20 @@
519
540
  ]);
520
541
 
521
542
  /**
522
- * @tabler/icons-react v2.17.0 - MIT
543
+ * @tabler/icons-react v2.18.0 - MIT
523
544
  */
524
545
 
546
+
525
547
  var IconEqual = createReactComponent("equal", "IconEqual", [
526
548
  ["path", { d: "M5 10h14", key: "svg-0" }],
527
549
  ["path", { d: "M5 14h14", key: "svg-1" }]
528
550
  ]);
529
551
 
530
552
  /**
531
- * @tabler/icons-react v2.17.0 - MIT
553
+ * @tabler/icons-react v2.18.0 - MIT
532
554
  */
533
555
 
556
+
534
557
  var IconFileAlert = createReactComponent("file-alert", "IconFileAlert", [
535
558
  ["path", { d: "M14 3v4a1 1 0 0 0 1 1h4", key: "svg-0" }],
536
559
  [
@@ -545,9 +568,10 @@
545
568
  ]);
546
569
 
547
570
  /**
548
- * @tabler/icons-react v2.17.0 - MIT
571
+ * @tabler/icons-react v2.18.0 - MIT
549
572
  */
550
573
 
574
+
551
575
  var IconFilePlus = createReactComponent("file-plus", "IconFilePlus", [
552
576
  ["path", { d: "M14 3v4a1 1 0 0 0 1 1h4", key: "svg-0" }],
553
577
  [
@@ -562,9 +586,10 @@
562
586
  ]);
563
587
 
564
588
  /**
565
- * @tabler/icons-react v2.17.0 - MIT
589
+ * @tabler/icons-react v2.18.0 - MIT
566
590
  */
567
591
 
592
+
568
593
  var IconFilter = createReactComponent("filter", "IconFilter", [
569
594
  [
570
595
  "path",
@@ -576,9 +601,10 @@
576
601
  ]);
577
602
 
578
603
  /**
579
- * @tabler/icons-react v2.17.0 - MIT
604
+ * @tabler/icons-react v2.18.0 - MIT
580
605
  */
581
606
 
607
+
582
608
  var IconListDetails = createReactComponent("list-details", "IconListDetails", [
583
609
  ["path", { d: "M13 5h8", key: "svg-0" }],
584
610
  ["path", { d: "M13 9h5", key: "svg-1" }],
@@ -601,9 +627,10 @@
601
627
  ]);
602
628
 
603
629
  /**
604
- * @tabler/icons-react v2.17.0 - MIT
630
+ * @tabler/icons-react v2.18.0 - MIT
605
631
  */
606
632
 
633
+
607
634
  var IconLogout = createReactComponent("logout", "IconLogout", [
608
635
  [
609
636
  "path",
@@ -612,29 +639,33 @@
612
639
  key: "svg-0"
613
640
  }
614
641
  ],
615
- ["path", { d: "M7 12h14l-3 -3m0 6l3 -3", key: "svg-1" }]
642
+ ["path", { d: "M9 12h12l-3 -3", key: "svg-1" }],
643
+ ["path", { d: "M18 15l3 -3", key: "svg-2" }]
616
644
  ]);
617
645
 
618
646
  /**
619
- * @tabler/icons-react v2.17.0 - MIT
647
+ * @tabler/icons-react v2.18.0 - MIT
620
648
  */
621
649
 
650
+
622
651
  var IconMathGreater = createReactComponent("math-greater", "IconMathGreater", [
623
652
  ["path", { d: "M5 18l14 -6l-14 -6", key: "svg-0" }]
624
653
  ]);
625
654
 
626
655
  /**
627
- * @tabler/icons-react v2.17.0 - MIT
656
+ * @tabler/icons-react v2.18.0 - MIT
628
657
  */
629
658
 
659
+
630
660
  var IconMathLower = createReactComponent("math-lower", "IconMathLower", [
631
661
  ["path", { d: "M19 18l-14 -6l14 -6", key: "svg-0" }]
632
662
  ]);
633
663
 
634
664
  /**
635
- * @tabler/icons-react v2.17.0 - MIT
665
+ * @tabler/icons-react v2.18.0 - MIT
636
666
  */
637
667
 
668
+
638
669
  var IconMessage = createReactComponent("message", "IconMessage", [
639
670
  ["path", { d: "M8 9h8", key: "svg-0" }],
640
671
  ["path", { d: "M8 13h6", key: "svg-1" }],
@@ -648,9 +679,10 @@
648
679
  ]);
649
680
 
650
681
  /**
651
- * @tabler/icons-react v2.17.0 - MIT
682
+ * @tabler/icons-react v2.18.0 - MIT
652
683
  */
653
684
 
685
+
654
686
  var IconPin = createReactComponent("pin", "IconPin", [
655
687
  [
656
688
  "path",
@@ -664,9 +696,10 @@
664
696
  ]);
665
697
 
666
698
  /**
667
- * @tabler/icons-react v2.17.0 - MIT
699
+ * @tabler/icons-react v2.18.0 - MIT
668
700
  */
669
701
 
702
+
670
703
  var IconPinnedOff = createReactComponent("pinned-off", "IconPinnedOff", [
671
704
  ["path", { d: "M3 3l18 18", key: "svg-0" }],
672
705
  [
@@ -681,27 +714,30 @@
681
714
  ]);
682
715
 
683
716
  /**
684
- * @tabler/icons-react v2.17.0 - MIT
717
+ * @tabler/icons-react v2.18.0 - MIT
685
718
  */
686
719
 
720
+
687
721
  var IconPlus = createReactComponent("plus", "IconPlus", [
688
722
  ["path", { d: "M12 5l0 14", key: "svg-0" }],
689
723
  ["path", { d: "M5 12l14 0", key: "svg-1" }]
690
724
  ]);
691
725
 
692
726
  /**
693
- * @tabler/icons-react v2.17.0 - MIT
727
+ * @tabler/icons-react v2.18.0 - MIT
694
728
  */
695
729
 
730
+
696
731
  var IconSearch = createReactComponent("search", "IconSearch", [
697
732
  ["path", { d: "M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0", key: "svg-0" }],
698
733
  ["path", { d: "M21 21l-6 -6", key: "svg-1" }]
699
734
  ]);
700
735
 
701
736
  /**
702
- * @tabler/icons-react v2.17.0 - MIT
737
+ * @tabler/icons-react v2.18.0 - MIT
703
738
  */
704
739
 
740
+
705
741
  var IconSettings = createReactComponent("settings", "IconSettings", [
706
742
  [
707
743
  "path",
@@ -714,9 +750,10 @@
714
750
  ]);
715
751
 
716
752
  /**
717
- * @tabler/icons-react v2.17.0 - MIT
753
+ * @tabler/icons-react v2.18.0 - MIT
718
754
  */
719
755
 
756
+
720
757
  var IconSortAscending = createReactComponent("sort-ascending", "IconSortAscending", [
721
758
  ["path", { d: "M4 6l7 0", key: "svg-0" }],
722
759
  ["path", { d: "M4 12l7 0", key: "svg-1" }],
@@ -726,9 +763,10 @@
726
763
  ]);
727
764
 
728
765
  /**
729
- * @tabler/icons-react v2.17.0 - MIT
766
+ * @tabler/icons-react v2.18.0 - MIT
730
767
  */
731
768
 
769
+
732
770
  var IconSortDescending = createReactComponent("sort-descending", "IconSortDescending", [
733
771
  ["path", { d: "M4 6l9 0", key: "svg-0" }],
734
772
  ["path", { d: "M4 12l7 0", key: "svg-1" }],
@@ -738,9 +776,10 @@
738
776
  ]);
739
777
 
740
778
  /**
741
- * @tabler/icons-react v2.17.0 - MIT
779
+ * @tabler/icons-react v2.18.0 - MIT
742
780
  */
743
781
 
782
+
744
783
  var IconSquare = createReactComponent("square", "IconSquare", [
745
784
  [
746
785
  "path",
@@ -752,9 +791,10 @@
752
791
  ]);
753
792
 
754
793
  /**
755
- * @tabler/icons-react v2.17.0 - MIT
794
+ * @tabler/icons-react v2.18.0 - MIT
756
795
  */
757
796
 
797
+
758
798
  var IconSwitchHorizontal = createReactComponent(
759
799
  "switch-horizontal",
760
800
  "IconSwitchHorizontal",
@@ -767,9 +807,10 @@
767
807
  );
768
808
 
769
809
  /**
770
- * @tabler/icons-react v2.17.0 - MIT
810
+ * @tabler/icons-react v2.18.0 - MIT
771
811
  */
772
812
 
813
+
773
814
  var IconTableExport = createReactComponent("table-export", "IconTableExport", [
774
815
  [
775
816
  "path",
@@ -785,9 +826,10 @@
785
826
  ]);
786
827
 
787
828
  /**
788
- * @tabler/icons-react v2.17.0 - MIT
829
+ * @tabler/icons-react v2.18.0 - MIT
789
830
  */
790
831
 
832
+
791
833
  var IconTrash = createReactComponent("trash", "IconTrash", [
792
834
  ["path", { d: "M4 7l16 0", key: "svg-0" }],
793
835
  ["path", { d: "M10 11l0 6", key: "svg-1" }],
@@ -800,9 +842,10 @@
800
842
  ]);
801
843
 
802
844
  /**
803
- * @tabler/icons-react v2.17.0 - MIT
845
+ * @tabler/icons-react v2.18.0 - MIT
804
846
  */
805
847
 
848
+
806
849
  var IconX = createReactComponent("x", "IconX", [
807
850
  ["path", { d: "M18 6l-12 12", key: "svg-0" }],
808
851
  ["path", { d: "M6 6l12 12", key: "svg-1" }]
@@ -1518,6 +1561,9 @@
1518
1561
  const medplum = useMedplum();
1519
1562
  const { elementDefinition, creatable, clearable, ...rest } = props;
1520
1563
  const loadValues = React.useCallback(async (input, signal) => {
1564
+ if (!elementDefinition.binding) {
1565
+ return [];
1566
+ }
1521
1567
  const system = elementDefinition.binding?.valueSet;
1522
1568
  const valueSet = await medplum.searchValueSet(system, input, { signal });
1523
1569
  const valueSetElements = valueSet.expansion?.contains;
@@ -1603,6 +1649,9 @@
1603
1649
  function Navbar(props) {
1604
1650
  const { classes } = useStyles$f();
1605
1651
  const navigate = useMedplumNavigate();
1652
+ const location = reactRouterDom.useLocation();
1653
+ const [searchParams] = reactRouterDom.useSearchParams();
1654
+ const activeLink = getActiveLink(location.pathname, searchParams, props.menus);
1606
1655
  const [bookmarkDialogVisible, setBookmarkDialogVisible] = React.useState(false);
1607
1656
  function onLinkClick(e, to) {
1608
1657
  e.stopPropagation();
@@ -1619,42 +1668,25 @@
1619
1668
  }
1620
1669
  return (React.createElement(React.Fragment, null,
1621
1670
  React.createElement(core$1.Navbar, { width: { sm: 250 }, p: "xs" },
1622
- React.createElement(core$1.Navbar.Section, { mb: "sm" },
1623
- React.createElement(CodeInput, { key: window.location.pathname, name: "resourceType", placeholder: "Resource Type", property: {
1624
- binding: {
1625
- valueSet: 'http://hl7.org/fhir/ValueSet/resource-types',
1626
- },
1627
- }, onChange: (newValue) => navigateResourceType(newValue), creatable: false, maxSelectedValues: 0, clearSearchOnChange: true, clearable: false })),
1628
- React.createElement(core$1.Navbar.Section, { grow: true },
1629
- props.menus?.map((menu) => (React.createElement(React.Fragment, { key: `menu-${menu.title}` },
1630
- React.createElement(core$1.Text, { className: classes.menuTitle }, menu.title),
1631
- menu.links?.map((link) => (React.createElement(NavbarLink, { key: link.href, to: link.href, onClick: (e) => onLinkClick(e, link.href) },
1632
- React.createElement(NavLinkIcon, { to: link.href, icon: link.icon }),
1633
- React.createElement("span", null, link.label))))))),
1634
- props.displayAddBookmark && (React.createElement(core$1.Button, { variant: "subtle", size: "xs", mt: "xl", leftIcon: React.createElement(IconPlus, { size: "0.75rem" }), onClick: () => setBookmarkDialogVisible(true) }, "Add Bookmark")))),
1671
+ React.createElement(core$1.ScrollArea, null,
1672
+ React.createElement(core$1.Navbar.Section, { mb: "sm" },
1673
+ React.createElement(CodeInput, { key: window.location.pathname, name: "resourceType", placeholder: "Resource Type", property: {
1674
+ binding: {
1675
+ valueSet: 'http://hl7.org/fhir/ValueSet/resource-types',
1676
+ },
1677
+ }, onChange: (newValue) => navigateResourceType(newValue), creatable: false, maxSelectedValues: 0, clearSearchOnChange: true, clearable: false })),
1678
+ React.createElement(core$1.Navbar.Section, { grow: true },
1679
+ props.menus?.map((menu) => (React.createElement(React.Fragment, { key: `menu-${menu.title}` },
1680
+ React.createElement(core$1.Text, { className: classes.menuTitle }, menu.title),
1681
+ menu.links?.map((link) => (React.createElement(NavbarLink, { key: link.href, to: link.href, active: link.href === activeLink?.href, onClick: (e) => onLinkClick(e, link.href) },
1682
+ React.createElement(NavLinkIcon, { to: link.href, icon: link.icon }),
1683
+ React.createElement("span", null, link.label))))))),
1684
+ props.displayAddBookmark && (React.createElement(core$1.Button, { variant: "subtle", size: "xs", mt: "xl", leftIcon: React.createElement(IconPlus, { size: "0.75rem" }), onClick: () => setBookmarkDialogVisible(true) }, "Add Bookmark"))))),
1635
1685
  React.createElement(BookmarkDialog, { visible: bookmarkDialogVisible, onOk: () => setBookmarkDialogVisible(false), onCancel: () => setBookmarkDialogVisible(false) })));
1636
1686
  }
1637
1687
  function NavbarLink(props) {
1638
1688
  const { classes, cx } = useStyles$f();
1639
- const location = reactRouterDom.useLocation();
1640
- const [searchParams] = reactRouterDom.useSearchParams();
1641
- const toUrl = new URL(props.to, window.location.protocol + '//' + window.location.host);
1642
- const isActive = location.pathname === toUrl.pathname && matchesParams(searchParams, toUrl);
1643
- return (React.createElement(MedplumLink, { onClick: props.onClick, to: props.to, className: cx(classes.link, { [classes.linkActive]: isActive }) }, props.children));
1644
- }
1645
- /**
1646
- * Returns true if the search params match.
1647
- * @param searchParams The current search params.
1648
- * @param toUrl The destination URL of the link.
1649
- * @returns True if the search params match.
1650
- */
1651
- function matchesParams(searchParams, toUrl) {
1652
- for (const [key, value] of toUrl.searchParams.entries()) {
1653
- if (searchParams.get(key) !== value) {
1654
- return false;
1655
- }
1656
- }
1657
- return true;
1689
+ return (React.createElement(MedplumLink, { onClick: props.onClick, to: props.to, className: cx(classes.link, { [classes.linkActive]: props.active }) }, props.children));
1658
1690
  }
1659
1691
  function NavLinkIcon(props) {
1660
1692
  if (props.icon) {
@@ -1662,6 +1694,71 @@
1662
1694
  }
1663
1695
  return React.createElement(core$1.Space, { w: 30 });
1664
1696
  }
1697
+ /**
1698
+ * Returns the best "active" link for the menu.
1699
+ * In most cases, the navbar links are simple, and an exact match can determine which link is active.
1700
+ * However, we ignore some search parameters to support pagination.
1701
+ * But we cannot ignore all search parameters, to support separate links based on search filters.
1702
+ * So in the end, we use a simple scoring system based on the number of matching query search params.
1703
+ * @param currentPathname The web browser current pathname.
1704
+ * @param currentSearchParams The web browser current search parameters.
1705
+ * @param menus Collection of navbar menus and links.
1706
+ * @returns The active link if one is found.
1707
+ */
1708
+ function getActiveLink(currentPathname, currentSearchParams, menus) {
1709
+ let bestLink = undefined;
1710
+ let bestScore = 0;
1711
+ if (menus) {
1712
+ for (const menu of menus) {
1713
+ if (menu.links) {
1714
+ for (const link of menu.links) {
1715
+ const score = getLinkScore(currentPathname, currentSearchParams, link.href);
1716
+ if (score > bestScore) {
1717
+ bestScore = score;
1718
+ bestLink = link;
1719
+ }
1720
+ }
1721
+ }
1722
+ }
1723
+ }
1724
+ return bestLink;
1725
+ }
1726
+ /**
1727
+ * Calculates a score for a link.
1728
+ * Zero means "does not match at all".
1729
+ * One means "matches the pathname only".
1730
+ * Additional increases for each matching search parameter.
1731
+ * Ignores pagination parameters "_count" and "_offset".
1732
+ * @param currentPathname The web browser current pathname.
1733
+ * @param currentSearchParams The web browser current search parameters.
1734
+ * @param linkHref A candidate link href.
1735
+ * @returns The link score.
1736
+ */
1737
+ function getLinkScore(currentPathname, currentSearchParams, linkHref) {
1738
+ const linkUrl = new URL(linkHref, 'https://example.com');
1739
+ if (currentPathname !== linkUrl.pathname) {
1740
+ return 0;
1741
+ }
1742
+ const ignoredParams = ['_count', '_offset'];
1743
+ for (const [key, value] of linkUrl.searchParams.entries()) {
1744
+ if (ignoredParams.includes(key)) {
1745
+ continue;
1746
+ }
1747
+ if (currentSearchParams.get(key) !== value) {
1748
+ return 0;
1749
+ }
1750
+ }
1751
+ let count = 1;
1752
+ for (const [key, value] of currentSearchParams.entries()) {
1753
+ if (ignoredParams.includes(key)) {
1754
+ continue;
1755
+ }
1756
+ if (linkUrl.searchParams.get(key) === value) {
1757
+ count++;
1758
+ }
1759
+ }
1760
+ return count;
1761
+ }
1665
1762
 
1666
1763
  function AppShell(props) {
1667
1764
  const theme = core$1.useMantineTheme();
@@ -4565,7 +4662,8 @@
4565
4662
  const { resourceType, filter } = props;
4566
4663
  const searchParam = core.globalSchema.types[resourceType]?.searchParams?.[filter.code];
4567
4664
  if (searchParam) {
4568
- if (searchParam.type === 'reference') {
4665
+ if (searchParam.type === 'reference' &&
4666
+ (filter.operator === core.Operator.EQUALS || filter.operator === core.Operator.NOT_EQUALS)) {
4569
4667
  return React.createElement(ResourceName, { value: { reference: filter.value } });
4570
4668
  }
4571
4669
  const searchParamDetails = core.getSearchParameterDetails(resourceType, searchParam);