@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.
- package/dist/cjs/index.cjs +175 -77
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.min.cjs +1 -1
- package/dist/esm/AppShell/Navbar.mjs +83 -32
- package/dist/esm/AppShell/Navbar.mjs.map +1 -1
- package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs +3 -2
- package/dist/esm/SearchFilterValueDisplay/SearchFilterValueDisplay.mjs.map +1 -1
- package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs +3 -0
- package/dist/esm/ValueSetAutocomplete/ValueSetAutocomplete.mjs.map +1 -1
- package/dist/esm/index.min.mjs +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAdjustmentsHorizontal.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAdjustmentsHorizontal.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertCircle.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleach.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleach.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleachOff.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBleachOff.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBoxMultiple.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBoxMultiple.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBracketsContain.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBracketsContain.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucket.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucket.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucketOff.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconBucketOff.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendar.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendar.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCircleMinus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCircleMinus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCirclePlus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCirclePlus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCloudUpload.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCloudUpload.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconColumns.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconColumns.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCurrencyDollar.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconCurrencyDollar.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconDots.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconDots.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEdit.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEdit.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqual.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqual.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqualNot.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconEqualNot.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFileAlert.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFileAlert.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilePlus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilePlus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilter.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconFilter.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconListDetails.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconListDetails.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconLogout.mjs +4 -2
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconLogout.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathGreater.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathGreater.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathLower.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMathLower.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMessage.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconMessage.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPin.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPin.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPinnedOff.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPinnedOff.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPlus.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconPlus.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSettings.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSettings.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortAscending.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortAscending.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortDescending.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSortDescending.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSwitchHorizontal.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconSwitchHorizontal.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTableExport.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTableExport.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.mjs.map +1 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconX.mjs +2 -1
- package/dist/esm/node_modules/@tabler/icons-react/dist/esm/icons/IconX.mjs.map +1 -1
- package/dist/types/AddressDisplay/AddressDisplay.d.ts +1 -0
- package/dist/types/AddressInput/AddressInput.d.ts +1 -0
- package/dist/types/AnnotationInput/AnnotationInput.d.ts +1 -0
- package/dist/types/AppShell/HeaderSearchInput.d.ts +1 -0
- package/dist/types/AppShell/Navbar.d.ts +1 -0
- package/dist/types/AsyncAutocomplete/AsyncAutocomplete.d.ts +1 -0
- package/dist/types/AttachmentArrayDisplay/AttachmentArrayDisplay.d.ts +1 -0
- package/dist/types/AttachmentArrayInput/AttachmentArrayInput.d.ts +1 -0
- package/dist/types/AttachmentDisplay/AttachmentDisplay.d.ts +1 -0
- package/dist/types/AttachmentInput/AttachmentInput.d.ts +1 -0
- package/dist/types/BackboneElementDisplay/BackboneElementDisplay.d.ts +1 -0
- package/dist/types/BackboneElementInput/BackboneElementInput.d.ts +1 -0
- package/dist/types/BookmarkDialog/BookmarkDialog.d.ts +1 -0
- package/dist/types/CalendarInput/CalendarInput.d.ts +1 -0
- package/dist/types/CodeInput/CodeInput.d.ts +1 -0
- package/dist/types/CodeableConceptDisplay/CodeableConceptDisplay.d.ts +1 -0
- package/dist/types/CodeableConceptInput/CodeableConceptInput.d.ts +1 -0
- package/dist/types/CodingDisplay/CodingDisplay.d.ts +1 -0
- package/dist/types/CodingInput/CodingInput.d.ts +1 -0
- package/dist/types/ContactDetailDisplay/ContactDetailDisplay.d.ts +1 -0
- package/dist/types/ContactDetailInput/ContactDetailInput.d.ts +1 -0
- package/dist/types/ContactPointDisplay/ContactPointDisplay.d.ts +1 -0
- package/dist/types/ContactPointInput/ContactPointInput.d.ts +1 -0
- package/dist/types/Container/Container.d.ts +1 -0
- package/dist/types/DateTimeInput/DateTimeInput.d.ts +1 -0
- package/dist/types/DefaultResourceTimeline/DefaultResourceTimeline.d.ts +1 -0
- package/dist/types/DiagnosticReportDisplay/DiagnosticReportDisplay.d.ts +1 -0
- package/dist/types/Document/Document.d.ts +1 -0
- package/dist/types/EncounterTimeline/EncounterTimeline.d.ts +1 -0
- package/dist/types/ExtensionInput/ExtensionInput.d.ts +1 -0
- package/dist/types/FhirPathDisplay/FhirPathDisplay.d.ts +1 -0
- package/dist/types/GoogleButton/GoogleButton.d.ts +1 -0
- package/dist/types/HumanNameDisplay/HumanNameDisplay.d.ts +1 -0
- package/dist/types/HumanNameInput/HumanNameInput.d.ts +1 -0
- package/dist/types/IdentifierDisplay/IdentifierDisplay.d.ts +1 -0
- package/dist/types/IdentifierInput/IdentifierInput.d.ts +1 -0
- package/dist/types/Loading/Loading.d.ts +1 -0
- package/dist/types/Logo/Logo.d.ts +1 -0
- package/dist/types/MoneyDisplay/MoneyDisplay.d.ts +1 -0
- package/dist/types/MoneyInput/MoneyInput.d.ts +1 -0
- package/dist/types/NoteDisplay/NoteDisplay.d.ts +1 -0
- package/dist/types/OperationOutcomeAlert/OperationOutcomeAlert.d.ts +1 -0
- package/dist/types/Panel/Panel.d.ts +1 -0
- package/dist/types/PatientTimeline/PatientTimeline.d.ts +1 -0
- package/dist/types/PeriodInput/PeriodInput.d.ts +1 -0
- package/dist/types/PlanDefinitionBuilder/PlanDefinitionBuilder.d.ts +1 -0
- package/dist/types/QuantityDisplay/QuantityDisplay.d.ts +1 -0
- package/dist/types/QuantityInput/QuantityInput.d.ts +1 -0
- package/dist/types/QuestionnaireBuilder/QuestionnaireBuilder.d.ts +1 -0
- package/dist/types/QuestionnaireForm/QuestionnaireForm.d.ts +1 -0
- package/dist/types/RangeDisplay/RangeDisplay.d.ts +1 -0
- package/dist/types/RangeInput/RangeInput.d.ts +1 -0
- package/dist/types/RatioDisplay/RatioDisplay.d.ts +1 -0
- package/dist/types/RatioInput/RatioInput.d.ts +1 -0
- package/dist/types/ReferenceDisplay/ReferenceDisplay.d.ts +1 -0
- package/dist/types/ReferenceInput/ReferenceInput.d.ts +1 -0
- package/dist/types/ReferenceRangeEditor/ReferenceRangeEditor.d.ts +1 -0
- package/dist/types/RequestGroupDisplay/RequestGroupDisplay.d.ts +1 -0
- package/dist/types/ResourceArrayDisplay/ResourceArrayDisplay.d.ts +1 -0
- package/dist/types/ResourceArrayInput/ResourceArrayInput.d.ts +1 -0
- package/dist/types/ResourceAvatar/ResourceAvatar.d.ts +1 -0
- package/dist/types/ResourceBadge/ResourceBadge.d.ts +1 -0
- package/dist/types/ResourceBlame/ResourceBlame.d.ts +1 -0
- package/dist/types/ResourceDiff/ResourceDiff.d.ts +1 -0
- package/dist/types/ResourceDiffTable/ResourceDiffTable.d.ts +1 -0
- package/dist/types/ResourceForm/ResourceForm.d.ts +1 -0
- package/dist/types/ResourceHistoryTable/ResourceHistoryTable.d.ts +1 -0
- package/dist/types/ResourceInput/ResourceInput.d.ts +1 -0
- package/dist/types/ResourceName/ResourceName.d.ts +1 -0
- package/dist/types/ResourcePropertyDisplay/ResourcePropertyDisplay.d.ts +1 -0
- package/dist/types/ResourcePropertyInput/ResourcePropertyInput.d.ts +1 -0
- package/dist/types/ResourceTable/ResourceTable.d.ts +1 -0
- package/dist/types/ResourceTimeline/ResourceTimeline.d.ts +1 -0
- package/dist/types/Scheduler/Scheduler.d.ts +1 -0
- package/dist/types/SearchControl/SearchUtils.d.ts +1 -0
- package/dist/types/SearchExportDialog/SearchExportDialog.d.ts +1 -0
- package/dist/types/SearchFieldEditor/SearchFieldEditor.d.ts +1 -0
- package/dist/types/SearchFilterEditor/SearchFilterEditor.d.ts +1 -0
- package/dist/types/SearchFilterValueDialog/SearchFilterValueDialog.d.ts +1 -0
- package/dist/types/SearchFilterValueDisplay/SearchFilterValueDisplay.d.ts +1 -0
- package/dist/types/SearchFilterValueInput/SearchFilterValueInput.d.ts +1 -0
- package/dist/types/SearchPopupMenu/SearchPopupMenu.d.ts +1 -0
- package/dist/types/ServiceRequestTimeline/ServiceRequestTimeline.d.ts +1 -0
- package/dist/types/StatusBadge/StatusBadge.d.ts +1 -0
- package/dist/types/TimingInput/TimingInput.d.ts +1 -0
- package/dist/types/ValueSetAutocomplete/ValueSetAutocomplete.d.ts +1 -0
- package/dist/types/auth/ChooseProfileForm.d.ts +1 -0
- package/dist/types/auth/ChooseScopeForm.d.ts +1 -0
- package/dist/types/auth/MfaForm.d.ts +1 -0
- package/dist/types/auth/NewProjectForm.d.ts +1 -0
- package/package.json +13 -13
package/dist/cjs/index.cjs
CHANGED
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/**
|
|
157
|
-
* @tabler/icons-react v2.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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: "
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
1623
|
-
React.createElement(
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
React.createElement(
|
|
1631
|
-
|
|
1632
|
-
React.createElement(
|
|
1633
|
-
|
|
1634
|
-
|
|
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
|
-
|
|
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);
|