@medplum/react 2.0.18 → 2.0.20
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 +200 -105
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.min.cjs +1 -1
- package/dist/esm/AppShell/AppShell.mjs +1 -1
- package/dist/esm/AppShell/AppShell.mjs.map +1 -1
- package/dist/esm/AppShell/HeaderSearchInput.mjs +2 -4
- package/dist/esm/AppShell/HeaderSearchInput.mjs.map +1 -1
- package/dist/esm/AppShell/Navbar.mjs +83 -34
- package/dist/esm/AppShell/Navbar.mjs.map +1 -1
- package/dist/esm/BookmarkDialog/BookmarkDialog.mjs +1 -3
- package/dist/esm/BookmarkDialog/BookmarkDialog.mjs.map +1 -1
- package/dist/esm/GoogleButton/GoogleButton.mjs +2 -2
- package/dist/esm/GoogleButton/GoogleButton.mjs.map +1 -1
- package/dist/esm/SearchControl/SearchControl.mjs +2 -2
- package/dist/esm/SearchControl/SearchControl.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/AppShell.d.ts +2 -0
- package/dist/types/AppShell/HeaderSearchInput.d.ts +5 -1
- package/dist/types/AppShell/Navbar.d.ts +3 -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 +3 -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 +15 -16
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@medplum/core'), require('react'), require('@mantine/core'), require('prop-types'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@medplum/core', 'react', '@mantine/core', 'prop-types', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.medplum = global.medplum || {}, global.medplum.react = {}), global.medplum.core, global.React, global.mantine.core, global.PropTypes, global.
|
|
5
|
-
})(this, (function (exports, core, React, core$1, PropTypes,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@medplum/core'), require('react'), require('@mantine/core'), require('prop-types'), require('@mantine/notifications')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@medplum/core', 'react', '@mantine/core', 'prop-types', '@mantine/notifications'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.medplum = global.medplum || {}, global.medplum.react = {}), global.medplum.core, global.React, global.mantine.core, global.PropTypes, global.mantine.notifications));
|
|
5
|
+
})(this, (function (exports, core, React, core$1, PropTypes, notifications) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function AddressDisplay(props) {
|
|
8
8
|
const address = props.value;
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/**
|
|
157
|
-
* @tabler/icons-react v2.
|
|
157
|
+
* @tabler/icons-react v2.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.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" }]
|
|
@@ -1135,11 +1178,10 @@
|
|
|
1135
1178
|
resource,
|
|
1136
1179
|
};
|
|
1137
1180
|
}
|
|
1138
|
-
function HeaderSearchInput() {
|
|
1181
|
+
function HeaderSearchInput(props) {
|
|
1139
1182
|
const { classes } = useStyles$h();
|
|
1140
1183
|
const navigate = useMedplumNavigate();
|
|
1141
1184
|
const medplum = useMedplum();
|
|
1142
|
-
const location = reactRouterDom.useLocation();
|
|
1143
1185
|
const loadData = React.useCallback(async (input, signal) => {
|
|
1144
1186
|
const query = buildGraphQLQuery(input);
|
|
1145
1187
|
const options = { signal };
|
|
@@ -1151,7 +1193,7 @@
|
|
|
1151
1193
|
navigate(`/${core.getReferenceString(item[0])}`);
|
|
1152
1194
|
}
|
|
1153
1195
|
}, [navigate]);
|
|
1154
|
-
return (React.createElement(AsyncAutocomplete, { key:
|
|
1196
|
+
return (React.createElement(AsyncAutocomplete, { key: props.pathname, size: "sm", radius: "md", className: classes.searchInput, icon: React.createElement(IconSearch, { size: 16 }), placeholder: "Search", itemComponent: ItemComponent$1, toKey: toKey$1, toOption: toOption$1, onChange: handleSelect, loadOptions: loadData }));
|
|
1155
1197
|
}
|
|
1156
1198
|
const ItemComponent$1 = React.forwardRef(({ resource, ...others }, ref) => {
|
|
1157
1199
|
let helpText = undefined;
|
|
@@ -1459,10 +1501,9 @@
|
|
|
1459
1501
|
function BookmarkDialog(props) {
|
|
1460
1502
|
const medplum = useMedplum();
|
|
1461
1503
|
const config = medplum.getUserConfiguration();
|
|
1462
|
-
const location = reactRouterDom.useLocation();
|
|
1463
1504
|
function submitHandler(formData) {
|
|
1464
1505
|
const { menuname, bookmarkname: name } = formData;
|
|
1465
|
-
const target =
|
|
1506
|
+
const target = `${props.pathname}?${props.searchParams.toString()}`;
|
|
1466
1507
|
const newConfig = core.deepClone(config);
|
|
1467
1508
|
const menu = newConfig?.menu?.find(({ title }) => title === menuname);
|
|
1468
1509
|
menu?.link?.push({ name, target });
|
|
@@ -1518,6 +1559,9 @@
|
|
|
1518
1559
|
const medplum = useMedplum();
|
|
1519
1560
|
const { elementDefinition, creatable, clearable, ...rest } = props;
|
|
1520
1561
|
const loadValues = React.useCallback(async (input, signal) => {
|
|
1562
|
+
if (!elementDefinition.binding) {
|
|
1563
|
+
return [];
|
|
1564
|
+
}
|
|
1521
1565
|
const system = elementDefinition.binding?.valueSet;
|
|
1522
1566
|
const valueSet = await medplum.searchValueSet(system, input, { signal });
|
|
1523
1567
|
const valueSetElements = valueSet.expansion?.contains;
|
|
@@ -1603,6 +1647,7 @@
|
|
|
1603
1647
|
function Navbar(props) {
|
|
1604
1648
|
const { classes } = useStyles$f();
|
|
1605
1649
|
const navigate = useMedplumNavigate();
|
|
1650
|
+
const activeLink = getActiveLink(props.pathname, props.searchParams, props.menus);
|
|
1606
1651
|
const [bookmarkDialogVisible, setBookmarkDialogVisible] = React.useState(false);
|
|
1607
1652
|
function onLinkClick(e, to) {
|
|
1608
1653
|
e.stopPropagation();
|
|
@@ -1619,42 +1664,25 @@
|
|
|
1619
1664
|
}
|
|
1620
1665
|
return (React.createElement(React.Fragment, null,
|
|
1621
1666
|
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
|
-
|
|
1635
|
-
|
|
1667
|
+
React.createElement(core$1.ScrollArea, null,
|
|
1668
|
+
React.createElement(core$1.Navbar.Section, { mb: "sm" },
|
|
1669
|
+
React.createElement(CodeInput, { key: window.location.pathname, name: "resourceType", placeholder: "Resource Type", property: {
|
|
1670
|
+
binding: {
|
|
1671
|
+
valueSet: 'http://hl7.org/fhir/ValueSet/resource-types',
|
|
1672
|
+
},
|
|
1673
|
+
}, onChange: (newValue) => navigateResourceType(newValue), creatable: false, maxSelectedValues: 0, clearSearchOnChange: true, clearable: false })),
|
|
1674
|
+
React.createElement(core$1.Navbar.Section, { grow: true },
|
|
1675
|
+
props.menus?.map((menu) => (React.createElement(React.Fragment, { key: `menu-${menu.title}` },
|
|
1676
|
+
React.createElement(core$1.Text, { className: classes.menuTitle }, menu.title),
|
|
1677
|
+
menu.links?.map((link) => (React.createElement(NavbarLink, { key: link.href, to: link.href, active: link.href === activeLink?.href, onClick: (e) => onLinkClick(e, link.href) },
|
|
1678
|
+
React.createElement(NavLinkIcon, { to: link.href, icon: link.icon }),
|
|
1679
|
+
React.createElement("span", null, link.label))))))),
|
|
1680
|
+
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"))))),
|
|
1681
|
+
props.pathname && props.searchParams && (React.createElement(BookmarkDialog, { pathname: props.pathname, searchParams: props.searchParams, visible: bookmarkDialogVisible, onOk: () => setBookmarkDialogVisible(false), onCancel: () => setBookmarkDialogVisible(false) }))));
|
|
1636
1682
|
}
|
|
1637
1683
|
function NavbarLink(props) {
|
|
1638
1684
|
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;
|
|
1685
|
+
return (React.createElement(MedplumLink, { onClick: props.onClick, to: props.to, className: cx(classes.link, { [classes.linkActive]: props.active }) }, props.children));
|
|
1658
1686
|
}
|
|
1659
1687
|
function NavLinkIcon(props) {
|
|
1660
1688
|
if (props.icon) {
|
|
@@ -1662,6 +1690,72 @@
|
|
|
1662
1690
|
}
|
|
1663
1691
|
return React.createElement(core$1.Space, { w: 30 });
|
|
1664
1692
|
}
|
|
1693
|
+
/**
|
|
1694
|
+
* Returns the best "active" link for the menu.
|
|
1695
|
+
* In most cases, the navbar links are simple, and an exact match can determine which link is active.
|
|
1696
|
+
* However, we ignore some search parameters to support pagination.
|
|
1697
|
+
* But we cannot ignore all search parameters, to support separate links based on search filters.
|
|
1698
|
+
* So in the end, we use a simple scoring system based on the number of matching query search params.
|
|
1699
|
+
* @param currentPathname The web browser current pathname.
|
|
1700
|
+
* @param currentSearchParams The web browser current search parameters.
|
|
1701
|
+
* @param menus Collection of navbar menus and links.
|
|
1702
|
+
* @returns The active link if one is found.
|
|
1703
|
+
*/
|
|
1704
|
+
function getActiveLink(currentPathname, currentSearchParams, menus) {
|
|
1705
|
+
if (!currentPathname || !currentSearchParams || !menus) {
|
|
1706
|
+
return undefined;
|
|
1707
|
+
}
|
|
1708
|
+
let bestLink = undefined;
|
|
1709
|
+
let bestScore = 0;
|
|
1710
|
+
for (const menu of menus) {
|
|
1711
|
+
if (menu.links) {
|
|
1712
|
+
for (const link of menu.links) {
|
|
1713
|
+
const score = getLinkScore(currentPathname, currentSearchParams, link.href);
|
|
1714
|
+
if (score > bestScore) {
|
|
1715
|
+
bestScore = score;
|
|
1716
|
+
bestLink = link;
|
|
1717
|
+
}
|
|
1718
|
+
}
|
|
1719
|
+
}
|
|
1720
|
+
}
|
|
1721
|
+
return bestLink;
|
|
1722
|
+
}
|
|
1723
|
+
/**
|
|
1724
|
+
* Calculates a score for a link.
|
|
1725
|
+
* Zero means "does not match at all".
|
|
1726
|
+
* One means "matches the pathname only".
|
|
1727
|
+
* Additional increases for each matching search parameter.
|
|
1728
|
+
* Ignores pagination parameters "_count" and "_offset".
|
|
1729
|
+
* @param currentPathname The web browser current pathname.
|
|
1730
|
+
* @param currentSearchParams The web browser current search parameters.
|
|
1731
|
+
* @param linkHref A candidate link href.
|
|
1732
|
+
* @returns The link score.
|
|
1733
|
+
*/
|
|
1734
|
+
function getLinkScore(currentPathname, currentSearchParams, linkHref) {
|
|
1735
|
+
const linkUrl = new URL(linkHref, 'https://example.com');
|
|
1736
|
+
if (currentPathname !== linkUrl.pathname) {
|
|
1737
|
+
return 0;
|
|
1738
|
+
}
|
|
1739
|
+
const ignoredParams = ['_count', '_offset'];
|
|
1740
|
+
for (const [key, value] of linkUrl.searchParams.entries()) {
|
|
1741
|
+
if (ignoredParams.includes(key)) {
|
|
1742
|
+
continue;
|
|
1743
|
+
}
|
|
1744
|
+
if (currentSearchParams.get(key) !== value) {
|
|
1745
|
+
return 0;
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1748
|
+
let count = 1;
|
|
1749
|
+
for (const [key, value] of currentSearchParams.entries()) {
|
|
1750
|
+
if (ignoredParams.includes(key)) {
|
|
1751
|
+
continue;
|
|
1752
|
+
}
|
|
1753
|
+
if (linkUrl.searchParams.get(key) === value) {
|
|
1754
|
+
count++;
|
|
1755
|
+
}
|
|
1756
|
+
}
|
|
1757
|
+
return count;
|
|
1758
|
+
}
|
|
1665
1759
|
|
|
1666
1760
|
function AppShell(props) {
|
|
1667
1761
|
const theme = core$1.useMantineTheme();
|
|
@@ -1685,7 +1779,7 @@
|
|
|
1685
1779
|
main: {
|
|
1686
1780
|
background: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.colors.gray[0],
|
|
1687
1781
|
},
|
|
1688
|
-
}, padding: 0, fixed: true, header: profile && React.createElement(Header, { logo: props.logo, version: props.version, navbarToggle: toggleNavbar }), navbar: profile && navbarOpen ? (React.createElement(Navbar, { menus: props.menus, closeNavbar: closeNavbar, displayAddBookmark: props.displayAddBookmark })) : undefined },
|
|
1782
|
+
}, padding: 0, fixed: true, header: profile && React.createElement(Header, { logo: props.logo, version: props.version, navbarToggle: toggleNavbar }), navbar: profile && navbarOpen ? (React.createElement(Navbar, { pathname: props.pathname, searchParams: props.searchParams, menus: props.menus, closeNavbar: closeNavbar, displayAddBookmark: props.displayAddBookmark })) : undefined },
|
|
1689
1783
|
React.createElement(ErrorBoundary, null,
|
|
1690
1784
|
React.createElement(React.Suspense, { fallback: React.createElement(Loading, null) }, props.children))));
|
|
1691
1785
|
}
|
|
@@ -3903,6 +3997,20 @@
|
|
|
3903
3997
|
return React.createElement(ResourcePropertyDisplay, { value: value[0] || '', propertyType: props.propertyType });
|
|
3904
3998
|
}
|
|
3905
3999
|
|
|
4000
|
+
function SearchExportDialog(props) {
|
|
4001
|
+
return (React.createElement(core$1.Modal, { title: "Export", closeButtonProps: { 'aria-label': 'Close' }, opened: props.visible, onClose: props.onCancel },
|
|
4002
|
+
React.createElement(core$1.Box, { display: "flex", sx: { justifyContent: 'space-between' } },
|
|
4003
|
+
props.exportCsv && React.createElement(ExportButton, { text: "CSV", exportLogic: props.exportCsv, onCancel: props.onCancel }),
|
|
4004
|
+
props.exportTransactionBundle && (React.createElement(ExportButton, { text: "Transaction Bundle", exportLogic: props.exportTransactionBundle, onCancel: props.onCancel }))),
|
|
4005
|
+
React.createElement(core$1.Text, { sx: { marginTop: '10px', marginLeft: '2px' } }, "Limited to 1000 records")));
|
|
4006
|
+
}
|
|
4007
|
+
function ExportButton(props) {
|
|
4008
|
+
return (React.createElement(core$1.Button, { onClick: () => {
|
|
4009
|
+
props.exportLogic();
|
|
4010
|
+
props.onCancel();
|
|
4011
|
+
} }, `Export as ${props.text}`));
|
|
4012
|
+
}
|
|
4013
|
+
|
|
3906
4014
|
const searchParamToOperators = {
|
|
3907
4015
|
string: [core.Operator.EQUALS, core.Operator.NOT, core.Operator.CONTAINS, core.Operator.EXACT],
|
|
3908
4016
|
fulltext: [core.Operator.EQUALS, core.Operator.NOT, core.Operator.CONTAINS, core.Operator.EXACT],
|
|
@@ -4565,7 +4673,8 @@
|
|
|
4565
4673
|
const { resourceType, filter } = props;
|
|
4566
4674
|
const searchParam = core.globalSchema.types[resourceType]?.searchParams?.[filter.code];
|
|
4567
4675
|
if (searchParam) {
|
|
4568
|
-
if (searchParam.type === 'reference'
|
|
4676
|
+
if (searchParam.type === 'reference' &&
|
|
4677
|
+
(filter.operator === core.Operator.EQUALS || filter.operator === core.Operator.NOT_EQUALS)) {
|
|
4569
4678
|
return React.createElement(ResourceName, { value: { reference: filter.value } });
|
|
4570
4679
|
}
|
|
4571
4680
|
const searchParamDetails = core.getSearchParameterDetails(resourceType, searchParam);
|
|
@@ -4931,20 +5040,6 @@
|
|
|
4931
5040
|
return { name };
|
|
4932
5041
|
}
|
|
4933
5042
|
|
|
4934
|
-
function SearchExportDialog(props) {
|
|
4935
|
-
return (React.createElement(core$1.Modal, { title: "Export", closeButtonProps: { 'aria-label': 'Close' }, opened: props.visible, onClose: props.onCancel },
|
|
4936
|
-
React.createElement(core$1.Box, { display: "flex", sx: { justifyContent: 'space-between' } },
|
|
4937
|
-
props.exportCsv && React.createElement(ExportButton, { text: "CSV", exportLogic: props.exportCsv, onCancel: props.onCancel }),
|
|
4938
|
-
props.exportTransactionBundle && (React.createElement(ExportButton, { text: "Transaction Bundle", exportLogic: props.exportTransactionBundle, onCancel: props.onCancel }))),
|
|
4939
|
-
React.createElement(core$1.Text, { sx: { marginTop: '10px', marginLeft: '2px' } }, "Limited to 1000 records")));
|
|
4940
|
-
}
|
|
4941
|
-
function ExportButton(props) {
|
|
4942
|
-
return (React.createElement(core$1.Button, { onClick: () => {
|
|
4943
|
-
props.exportLogic();
|
|
4944
|
-
props.onCancel();
|
|
4945
|
-
} }, `Export as ${props.text}`));
|
|
4946
|
-
}
|
|
4947
|
-
|
|
4948
5043
|
class SearchChangeEvent extends Event {
|
|
4949
5044
|
constructor(definition) {
|
|
4950
5045
|
super('change');
|
|
@@ -5018,7 +5113,7 @@
|
|
|
5018
5113
|
React.useEffect(() => {
|
|
5019
5114
|
setOutcome(undefined);
|
|
5020
5115
|
medplum
|
|
5021
|
-
.search(search.resourceType, core.formatSearchQuery({ ...search, total: '
|
|
5116
|
+
.search(search.resourceType, core.formatSearchQuery({ ...search, total: 'estimate', fields: undefined }))
|
|
5022
5117
|
.then((response) => {
|
|
5023
5118
|
setState({ ...stateRef.current, searchResponse: response });
|
|
5024
5119
|
if (onLoad) {
|
|
@@ -7094,9 +7189,9 @@
|
|
|
7094
7189
|
}
|
|
7095
7190
|
if (typeof window !== 'undefined') {
|
|
7096
7191
|
const origin = window.location.protocol + '//' + window.location.host;
|
|
7097
|
-
const authorizedOrigins = "
|
|
7192
|
+
const authorizedOrigins = "http://localhost:3000,http://127.0.0.1:3000,http://localhost:6006,http://127.0.0.1:6006,https://app.medplum.com,https://docs.medplum.com,https://storybook.medplum.com,https://graphiql.medplum.com,https://www.medplum.com"?.split(',') ?? [];
|
|
7098
7193
|
if (authorizedOrigins.includes(origin)) {
|
|
7099
|
-
return "
|
|
7194
|
+
return "921088377005-3j1sa10vr6hj86jgmdfh2l53v3mp7lfi.apps.googleusercontent.com";
|
|
7100
7195
|
}
|
|
7101
7196
|
}
|
|
7102
7197
|
return undefined;
|