@medplum/react 1.0.3 → 1.0.4

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 (53) hide show
  1. package/dist/cjs/Container/Container.d.ts +3 -0
  2. package/dist/cjs/Document/Document.d.ts +3 -6
  3. package/dist/cjs/Panel/Panel.d.ts +11 -0
  4. package/dist/cjs/Timeline/Timeline.d.ts +2 -4
  5. package/dist/cjs/index.d.ts +2 -0
  6. package/dist/cjs/index.js +97 -40
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/index.min.js +1 -1
  9. package/dist/cjs/index.min.js.map +1 -1
  10. package/dist/esm/AttachmentDisplay/AttachmentDisplay.js +2 -1
  11. package/dist/esm/AttachmentDisplay/AttachmentDisplay.js.map +1 -1
  12. package/dist/esm/BackboneElementDisplay/BackboneElementDisplay.js +3 -0
  13. package/dist/esm/BackboneElementDisplay/BackboneElementDisplay.js.map +1 -1
  14. package/dist/esm/Container/Container.d.ts +3 -0
  15. package/dist/esm/Container/Container.js +20 -0
  16. package/dist/esm/Container/Container.js.map +1 -0
  17. package/dist/esm/Document/Document.d.ts +3 -6
  18. package/dist/esm/Document/Document.js +5 -6
  19. package/dist/esm/Document/Document.js.map +1 -1
  20. package/dist/esm/Panel/Panel.d.ts +11 -0
  21. package/dist/esm/Panel/Panel.js +35 -0
  22. package/dist/esm/Panel/Panel.js.map +1 -0
  23. package/dist/esm/PlanDefinitionBuilder/PlanDefinitionBuilder.js +3 -3
  24. package/dist/esm/PlanDefinitionBuilder/PlanDefinitionBuilder.js.map +1 -1
  25. package/dist/esm/QuestionnaireBuilder/QuestionnaireBuilder.js +6 -6
  26. package/dist/esm/QuestionnaireBuilder/QuestionnaireBuilder.js.map +1 -1
  27. package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.js +4 -3
  28. package/dist/esm/ReferenceRangeEditor/ReferenceRangeEditor.js.map +1 -1
  29. package/dist/esm/ResourceInput/ResourceInput.js +1 -0
  30. package/dist/esm/ResourceInput/ResourceInput.js.map +1 -1
  31. package/dist/esm/ResourcePropertyDisplay/ResourcePropertyDisplay.js +4 -0
  32. package/dist/esm/ResourcePropertyDisplay/ResourcePropertyDisplay.js.map +1 -1
  33. package/dist/esm/ResourcePropertyInput/ResourcePropertyInput.js +4 -0
  34. package/dist/esm/ResourcePropertyInput/ResourcePropertyInput.js.map +1 -1
  35. package/dist/esm/ResourceTimeline/ResourceTimeline.js +3 -2
  36. package/dist/esm/ResourceTimeline/ResourceTimeline.js.map +1 -1
  37. package/dist/esm/SearchControl/SearchControl.js +2 -1
  38. package/dist/esm/SearchControl/SearchControl.js.map +1 -1
  39. package/dist/esm/Timeline/Timeline.d.ts +2 -4
  40. package/dist/esm/Timeline/Timeline.js +14 -10
  41. package/dist/esm/Timeline/Timeline.js.map +1 -1
  42. package/dist/esm/auth/AuthenticationForm.js +2 -2
  43. package/dist/esm/auth/AuthenticationForm.js.map +1 -1
  44. package/dist/esm/auth/NewProjectForm.js +5 -4
  45. package/dist/esm/auth/NewProjectForm.js.map +1 -1
  46. package/dist/esm/auth/NewUserForm.js +7 -6
  47. package/dist/esm/auth/NewUserForm.js.map +1 -1
  48. package/dist/esm/index.d.ts +2 -0
  49. package/dist/esm/index.js +2 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/index.min.js +1 -1
  52. package/dist/esm/index.min.js.map +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { ContainerProps } from '@mantine/core';
3
+ export declare function Container(props: ContainerProps): JSX.Element;
@@ -1,6 +1,3 @@
1
- import React from 'react';
2
- export interface DocumentProps {
3
- width?: number;
4
- children?: React.ReactNode;
5
- }
6
- export declare function Document(props: DocumentProps): JSX.Element;
1
+ /// <reference types="react" />
2
+ import { PanelProps } from '../Panel/Panel';
3
+ export declare function Document(props: PanelProps): JSX.Element;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { PaperProps } from '@mantine/core';
3
+ export interface PanelStylesParams {
4
+ width?: number;
5
+ fill?: boolean;
6
+ }
7
+ export interface PanelProps extends PaperProps {
8
+ width?: number;
9
+ fill?: boolean;
10
+ }
11
+ export declare function Panel(props: PanelProps): JSX.Element;
@@ -1,16 +1,14 @@
1
1
  import { Reference, Resource } from '@medplum/fhirtypes';
2
2
  import React from 'react';
3
+ import { PanelProps } from '../Panel/Panel';
3
4
  export interface TimelineProps {
4
5
  children?: React.ReactNode;
5
6
  }
6
7
  export declare function Timeline(props: TimelineProps): JSX.Element;
7
- export interface TimelineItemProps {
8
+ export interface TimelineItemProps extends PanelProps {
8
9
  resource: Resource;
9
10
  profile?: Reference;
10
- socialEnabled?: boolean;
11
- children?: React.ReactNode;
12
11
  padding?: boolean;
13
- className?: string;
14
12
  popupMenuItems?: React.ReactNode;
15
13
  }
16
14
  export declare function TimelineItem(props: TimelineItemProps): JSX.Element;
@@ -21,6 +21,7 @@ export * from './ContactDetailDisplay/ContactDetailDisplay';
21
21
  export * from './ContactDetailInput/ContactDetailInput';
22
22
  export * from './ContactPointDisplay/ContactPointDisplay';
23
23
  export * from './ContactPointInput/ContactPointInput';
24
+ export * from './Container/Container';
24
25
  export * from './DateTimeInput/DateTimeInput';
25
26
  export * from './DefaultResourceTimeline/DefaultResourceTimeline';
26
27
  export * from './DescriptionList/DescriptionList';
@@ -39,6 +40,7 @@ export * from './IdentifierInput/IdentifierInput';
39
40
  export * from './Logo/Logo';
40
41
  export * from './MedplumLink/MedplumLink';
41
42
  export * from './MedplumProvider/MedplumProvider';
43
+ export * from './Panel/Panel';
42
44
  export * from './PatientTimeline/PatientTimeline';
43
45
  export * from './PlanDefinitionBuilder/PlanDefinitionBuilder';
44
46
  export * from './QuantityDisplay/QuantityDisplay';
package/dist/cjs/index.js CHANGED
@@ -144,7 +144,7 @@
144
144
  contentType === 'application/pdf' && !(title === null || title === void 0 ? void 0 : title.endsWith('.pdf')) && (React.createElement("div", { "data-testid": "attachment-pdf", style: { maxWidth: props.maxWidth, minHeight: 400 } },
145
145
  React.createElement("iframe", { width: "100%", height: "400", src: url + '#navpanes=0', allowFullScreen: true, frameBorder: 0, seamless: true }))),
146
146
  React.createElement("div", { "data-testid": "download-link", style: { padding: '2px 16px 16px 16px' } },
147
- React.createElement("a", { href: value === null || value === void 0 ? void 0 : value.url, "data-testid": "attachment-details", target: "_blank", rel: "noopener noreferrer" }, (value === null || value === void 0 ? void 0 : value.title) || 'Download'))));
147
+ React.createElement(core$1.Anchor, { href: value === null || value === void 0 ? void 0 : value.url, "data-testid": "attachment-details", target: "_blank", rel: "noopener noreferrer" }, (value === null || value === void 0 ? void 0 : value.title) || 'Download'))));
148
148
  }
149
149
 
150
150
  function AttachmentArrayDisplay(props) {
@@ -292,15 +292,6 @@
292
292
  return (React.createElement(AttachmentButton, { onUpload: setValueWrapper }, (props) => React.createElement(core$1.Button, Object.assign({}, props), "Upload...")));
293
293
  }
294
294
 
295
- function Document(props) {
296
- let style = undefined;
297
- if (props.width) {
298
- style = { maxWidth: props.width };
299
- }
300
- return (React.createElement(core$1.Container, null,
301
- React.createElement(core$1.Paper, { style: style, mx: "auto", my: "lg", p: "lg", shadow: "xs", radius: "sm", withBorder: true }, props.children)));
302
- }
303
-
304
295
  /******************************************************************************
305
296
  Copyright (c) Microsoft Corporation.
306
297
 
@@ -338,6 +329,55 @@
338
329
  });
339
330
  }
340
331
 
332
+ const useStyles$d = core$1.createStyles(() => ({
333
+ root: {
334
+ '@media (max-width: 800px)': {
335
+ paddingLeft: 4,
336
+ paddingRight: 4,
337
+ },
338
+ },
339
+ }));
340
+ function Container(props) {
341
+ const { children } = props, others = __rest(props, ["children"]);
342
+ const { classes } = useStyles$d();
343
+ return (React.createElement(core$1.Container, Object.assign({ className: classes.root }, others), children));
344
+ }
345
+
346
+ const useStyles$c = core$1.createStyles((theme, { width, fill }) => ({
347
+ paper: {
348
+ maxWidth: width,
349
+ margin: `${theme.spacing.xl}px auto`,
350
+ padding: fill ? 0 : theme.spacing.md,
351
+ '@media (max-width: 800px)': {
352
+ padding: fill ? 0 : 8,
353
+ },
354
+ '& img': {
355
+ width: '100%',
356
+ maxWidth: '100%',
357
+ },
358
+ '& video': {
359
+ width: '100%',
360
+ maxWidth: '100%',
361
+ },
362
+ },
363
+ }));
364
+ const defaultProps$1 = {
365
+ shadow: 'xs',
366
+ radius: 'md',
367
+ withBorder: true,
368
+ };
369
+ function Panel(props) {
370
+ const _a = core$1.useComponentDefaultProps('Panel', defaultProps$1, props), { className, children, width, fill, unstyled } = _a, others = __rest(_a, ["className", "children", "width", "fill", "unstyled"]);
371
+ const { classes, cx } = useStyles$c({ width, fill }, { name: 'Panel', unstyled });
372
+ return (React.createElement(core$1.Paper, Object.assign({ className: cx(classes.paper, className) }, others), children));
373
+ }
374
+
375
+ function Document(props) {
376
+ const { children } = props, others = __rest(props, ["children"]);
377
+ return (React.createElement(Container, null,
378
+ React.createElement(Panel, Object.assign({}, others), children)));
379
+ }
380
+
341
381
  /**
342
382
  * Parses an HTML form and returns the result as a JavaScript object.
343
383
  * @param form The HTML form element.
@@ -452,10 +492,11 @@
452
492
  React.createElement(core$1.Stack, { spacing: "xl" },
453
493
  React.createElement(core$1.TextInput, { name: "projectName", label: "Project Name", placeholder: "My Project", required: true, autoFocus: true, error: getErrorsForInput(outcome, 'firstName') }),
454
494
  React.createElement(core$1.Text, { color: "dimmed", size: "xs" },
455
- "By clicking submit you agree to the Medplum ",
456
- React.createElement("a", { href: "https://www.medplum.com/privacy" }, "Privacy\u00A0Policy"),
495
+ "By clicking submit you agree to the Medplum",
496
+ ' ',
497
+ React.createElement(core$1.Anchor, { href: "https://www.medplum.com/privacy" }, "Privacy\u00A0Policy"),
457
498
  ' and ',
458
- React.createElement("a", { href: "https://www.medplum.com/terms" }, "Terms\u00A0of\u00A0Service"),
499
+ React.createElement(core$1.Anchor, { href: "https://www.medplum.com/terms" }, "Terms\u00A0of\u00A0Service"),
459
500
  ".")),
460
501
  React.createElement(core$1.Group, { position: "right", mt: "xl", noWrap: true },
461
502
  React.createElement(core$1.Button, { type: "submit" }, "Create project"))));
@@ -596,17 +637,18 @@
596
637
  React.createElement(core$1.TextInput, { name: "email", type: "email", label: "Email", placeholder: "name@domain.com", required: true, error: getErrorsForInput(outcome, 'email') }),
597
638
  React.createElement(core$1.PasswordInput, { name: "password", label: "Password", autoComplete: "off", required: true, error: getErrorsForInput(outcome, 'password') }),
598
639
  React.createElement(core$1.Text, { color: "dimmed", size: "xs" },
599
- "By clicking submit you agree to the Medplum ",
600
- React.createElement("a", { href: "https://www.medplum.com/privacy" }, "Privacy\u00A0Policy"),
640
+ "By clicking submit you agree to the Medplum",
641
+ ' ',
642
+ React.createElement(core$1.Anchor, { href: "https://www.medplum.com/privacy" }, "Privacy\u00A0Policy"),
601
643
  ' and ',
602
- React.createElement("a", { href: "https://www.medplum.com/terms" }, "Terms\u00A0of\u00A0Service"),
644
+ React.createElement(core$1.Anchor, { href: "https://www.medplum.com/terms" }, "Terms\u00A0of\u00A0Service"),
603
645
  "."),
604
646
  React.createElement(core$1.Text, { color: "dimmed", size: "xs" },
605
647
  "This site is protected by reCAPTCHA and the Google",
606
648
  ' ',
607
- React.createElement("a", { href: "https://policies.google.com/privacy" }, "Privacy\u00A0Policy"),
649
+ React.createElement(core$1.Anchor, { href: "https://policies.google.com/privacy" }, "Privacy\u00A0Policy"),
608
650
  ' and ',
609
- React.createElement("a", { href: "https://policies.google.com/terms" }, "Terms\u00A0of\u00A0Service"),
651
+ React.createElement(core$1.Anchor, { href: "https://policies.google.com/terms" }, "Terms\u00A0of\u00A0Service"),
610
652
  " apply.")),
611
653
  React.createElement(core$1.Group, { position: "apart", mt: "xl", noWrap: true },
612
654
  React.createElement(core$1.Checkbox, { name: "remember", label: "Remember me", size: "xs" }),
@@ -680,10 +722,10 @@
680
722
  React.createElement(core$1.Stack, { spacing: "xl" },
681
723
  React.createElement(core$1.TextInput, { name: "email", type: "email", label: "Email", placeholder: "name@domain.com", required: true, autoFocus: true, error: getErrorsForInput(outcome, 'email') }),
682
724
  React.createElement(core$1.PasswordInput, { name: "password", type: "password", label: "Password", autoComplete: "off", required: true, error: getErrorsForInput(outcome, 'password') })),
683
- React.createElement(core$1.Group, { position: "apart", mt: "xl", noWrap: true },
725
+ React.createElement(core$1.Group, { position: "apart", mt: "xl", spacing: 0, noWrap: true },
684
726
  onForgotPassword && (React.createElement(core$1.Anchor, { component: "button", type: "button", color: "dimmed", onClick: onForgotPassword, size: "xs" }, "Forgot password")),
685
727
  onRegister && (React.createElement(core$1.Anchor, { component: "button", type: "button", color: "dimmed", onClick: onRegister, size: "xs" }, "Register")),
686
- React.createElement(core$1.Checkbox, { id: "remember", name: "remember", label: "Remember me", size: "xs" }),
728
+ React.createElement(core$1.Checkbox, { id: "remember", name: "remember", label: "Remember me", size: "xs", sx: { lineHeight: 1 } }),
687
729
  React.createElement(core$1.Button, { type: "submit" }, "Sign in"))));
688
730
  }
689
731
 
@@ -1028,6 +1070,7 @@
1028
1070
  case core.PropertyType.Period:
1029
1071
  return React.createElement(React.Fragment, null, core.formatPeriod(value));
1030
1072
  case core.PropertyType.Quantity:
1073
+ case core.PropertyType.Duration:
1031
1074
  return React.createElement(QuantityDisplay, { value: value });
1032
1075
  case core.PropertyType.Range:
1033
1076
  return React.createElement(RangeDisplay, { value: value });
@@ -1037,6 +1080,9 @@
1037
1080
  return React.createElement(ReferenceDisplay, { value: value, link: props.link });
1038
1081
  case core.PropertyType.Timing:
1039
1082
  return React.createElement(React.Fragment, null, core.formatTiming(value));
1083
+ case core.PropertyType.Dosage:
1084
+ case core.PropertyType.UsageContext:
1085
+ return (React.createElement(BackboneElementDisplay, { value: { type: propertyType, value }, compact: true, ignoreMissingValues: props.ignoreMissingValues }));
1040
1086
  default:
1041
1087
  if (!(property === null || property === void 0 ? void 0 : property.path)) {
1042
1088
  throw Error(`Displaying property of type ${props.propertyType} requires element definition path`);
@@ -1093,6 +1139,9 @@
1093
1139
  return null;
1094
1140
  }
1095
1141
  const property = entry[1];
1142
+ if (!property.path) {
1143
+ property.path = typeName + '.' + key;
1144
+ }
1096
1145
  const [propertyValue, propertyType] = getValueAndType(typedValue, key);
1097
1146
  if (props.ignoreMissingValues &&
1098
1147
  (!propertyValue || (Array.isArray(propertyValue) && propertyValue.length === 0))) {
@@ -1645,6 +1694,7 @@
1645
1694
  Observation: 'code',
1646
1695
  RequestGroup: '_id',
1647
1696
  ActivityDefinition: 'name',
1697
+ User: 'email',
1648
1698
  };
1649
1699
  function ResourceInput(props) {
1650
1700
  const medplum = useMedplum();
@@ -1968,6 +2018,7 @@
1968
2018
  return React.createElement(IdentifierInput, { name: name, defaultValue: value, onChange: props.onChange });
1969
2019
  case core.PropertyType.Period:
1970
2020
  return React.createElement(PeriodInput, { name: name, defaultValue: value, onChange: props.onChange });
2021
+ case core.PropertyType.Duration:
1971
2022
  case core.PropertyType.Quantity:
1972
2023
  return React.createElement(QuantityInput, { name: name, defaultValue: value, onChange: props.onChange });
1973
2024
  case core.PropertyType.Range:
@@ -1978,6 +2029,9 @@
1978
2029
  return (React.createElement(ReferenceInput, { name: name, defaultValue: value, targetTypes: getTargetTypes(property), onChange: props.onChange }));
1979
2030
  case core.PropertyType.Timing:
1980
2031
  return React.createElement(TimingInput, { name: name, defaultValue: value, onChange: props.onChange });
2032
+ case core.PropertyType.Dosage:
2033
+ case core.PropertyType.UsageContext:
2034
+ return (React.createElement(BackboneElementInput, { typeName: propertyType, defaultValue: value, onChange: props.onChange, outcome: props.outcome }));
1981
2035
  default:
1982
2036
  return (React.createElement(BackboneElementInput, { typeName: core.buildTypeName((_a = property.path) === null || _a === void 0 ? void 0 : _a.split('.')), defaultValue: value, onChange: props.onChange, outcome: props.outcome }));
1983
2037
  }
@@ -2396,29 +2450,30 @@
2396
2450
  }
2397
2451
 
2398
2452
  function Timeline(props) {
2399
- return React.createElement(core$1.Container, null, props.children);
2453
+ return React.createElement(Container, null, props.children);
2400
2454
  }
2401
2455
  function TimelineItem(props) {
2402
- var _a, _b, _c;
2403
- const author = (_a = props.profile) !== null && _a !== void 0 ? _a : (_b = props.resource.meta) === null || _b === void 0 ? void 0 : _b.author;
2404
- return (React.createElement(core$1.Paper, { "data-testid": "timeline-item", m: "lg", p: "sm", shadow: "xs", radius: "sm", withBorder: true, className: props.className },
2405
- React.createElement(core$1.Group, { position: "apart", spacing: 8 },
2456
+ var _a, _b;
2457
+ const { resource, profile, padding, popupMenuItems } = props, others = __rest(props, ["resource", "profile", "padding", "popupMenuItems"]);
2458
+ const author = profile !== null && profile !== void 0 ? profile : (_a = resource.meta) === null || _a === void 0 ? void 0 : _a.author;
2459
+ return (React.createElement(Panel, Object.assign({ "data-testid": "timeline-item", fill: true }, others),
2460
+ React.createElement(core$1.Group, { position: "apart", spacing: 8, mx: "xs", my: "sm" },
2406
2461
  React.createElement(ResourceAvatar, { value: author, link: true, size: "md" }),
2407
2462
  React.createElement("div", { style: { flex: 1 } },
2408
2463
  React.createElement(core$1.Text, { size: "sm" },
2409
2464
  React.createElement(ResourceName, { color: "dark", weight: 500, value: author, link: true })),
2410
2465
  React.createElement(core$1.Text, { size: "xs" },
2411
- React.createElement(MedplumLink, { color: "dimmed", to: props.resource }, core.formatDateTime((_c = props.resource.meta) === null || _c === void 0 ? void 0 : _c.lastUpdated)),
2466
+ React.createElement(MedplumLink, { color: "dimmed", to: props.resource }, core.formatDateTime((_b = props.resource.meta) === null || _b === void 0 ? void 0 : _b.lastUpdated)),
2412
2467
  React.createElement(core$1.Text, { component: "span", color: "dimmed", mx: 8 }, "\u00B7"),
2413
2468
  React.createElement(MedplumLink, { color: "dimmed", to: props.resource }, props.resource.resourceType))),
2414
- props.popupMenuItems && (React.createElement(core$1.Menu, { position: "bottom-end", shadow: "md", width: 200 },
2469
+ popupMenuItems && (React.createElement(core$1.Menu, { position: "bottom-end", shadow: "md", width: 200 },
2415
2470
  React.createElement(core$1.Menu.Target, null,
2416
2471
  React.createElement(core$1.ActionIcon, { radius: "xl", "aria-label": `Actions for ${core.getReferenceString(props.resource)}` },
2417
2472
  React.createElement(icons.IconDots, null))),
2418
- props.popupMenuItems))),
2473
+ popupMenuItems))),
2419
2474
  React.createElement(ErrorBoundary, null,
2420
- props.padding && React.createElement("div", { style: { padding: '2px 16px 16px 16px' } }, props.children),
2421
- !props.padding && React.createElement(React.Fragment, null, props.children))));
2475
+ padding && React.createElement("div", { style: { padding: '0 16px 16px 16px' } }, props.children),
2476
+ !padding && React.createElement(React.Fragment, null, props.children))));
2422
2477
  }
2423
2478
 
2424
2479
  /**
@@ -2625,7 +2680,7 @@
2625
2680
  React.createElement(core$1.Loader, null)));
2626
2681
  }
2627
2682
  return (React.createElement(Timeline, null,
2628
- props.createCommunication && (React.createElement(core$1.Paper, { m: "lg", p: "sm", shadow: "xs", radius: "sm", withBorder: true },
2683
+ props.createCommunication && (React.createElement(Panel, null,
2629
2684
  React.createElement(Form, { testid: "timeline-form", onSubmit: (formData) => {
2630
2685
  createComment(formData.text);
2631
2686
  const input = inputRef.current;
@@ -4049,7 +4104,7 @@
4049
4104
  checkboxColumn && (React.createElement("td", null,
4050
4105
  React.createElement("input", { type: "checkbox", value: "checked", "data-testid": "row-checkbox", "aria-label": `Checkbox for ${resource.id}`, checked: !!state.selected[resource.id], onChange: (e) => handleSingleCheckboxClick(e, resource.id) }))),
4051
4106
  fields.map((field) => (React.createElement("td", { key: field.name }, renderValue(resource, field))))))))),
4052
- (resources === null || resources === void 0 ? void 0 : resources.length) === 0 && (React.createElement(core$1.Container, null,
4107
+ (resources === null || resources === void 0 ? void 0 : resources.length) === 0 && (React.createElement(Container, null,
4053
4108
  React.createElement(core$1.Center, null,
4054
4109
  React.createElement(core$1.Text, { size: "xl", color: "dimmed" }, "No results")))),
4055
4110
  (lastResult === null || lastResult === void 0 ? void 0 : lastResult.total) !== undefined && lastResult.total > 0 && (React.createElement(core$1.Center, { m: "md", p: "md" },
@@ -4341,7 +4396,7 @@
4341
4396
  props.actions.map((action) => (React.createElement("div", { key: action.id },
4342
4397
  React.createElement(ActionBuilder, { action: action, selectedKey: props.selectedKey, setSelectedKey: props.setSelectedKey, hoverKey: props.hoverKey, setHoverKey: props.setHoverKey, onChange: changeAction, onRemove: () => removeAction(action) })))),
4343
4398
  React.createElement("div", { className: classes.bottomActions },
4344
- React.createElement("a", { href: "#", onClick: (e) => {
4399
+ React.createElement(core$1.Anchor, { href: "#", onClick: (e) => {
4345
4400
  killEvent(e);
4346
4401
  addAction({ id: generateId$1() });
4347
4402
  } }, "Add action"))));
@@ -4367,7 +4422,7 @@
4367
4422
  return (React.createElement("div", { "data-testid": action.id, className: className, onClick: onClick, onMouseOver: onHover },
4368
4423
  editing ? (React.createElement(ActionEditor, { action: action, actionType: actionType, onChange: props.onChange, selectedKey: props.selectedKey, setSelectedKey: props.setSelectedKey, hoverKey: props.hoverKey, setHoverKey: props.setHoverKey, onRemove: props.onRemove })) : (React.createElement(ActionDisplay, { action: action, actionType: actionType })),
4369
4424
  React.createElement("div", { className: classes.bottomActions },
4370
- React.createElement("a", { href: "#", onClick: (e) => {
4425
+ React.createElement(core$1.Anchor, { href: "#", onClick: (e) => {
4371
4426
  e.preventDefault();
4372
4427
  props.onRemove();
4373
4428
  } }, "Remove"))));
@@ -4917,7 +4972,7 @@
4917
4972
  ] })))) : (React.createElement("div", null, linkId)))),
4918
4973
  React.createElement("div", { className: classes.bottomActions },
4919
4974
  isContainer && (React.createElement(React.Fragment, null,
4920
- React.createElement("a", { href: "#", onClick: (e) => {
4975
+ React.createElement(core$1.Anchor, { href: "#", onClick: (e) => {
4921
4976
  e.preventDefault();
4922
4977
  addItem({
4923
4978
  id: generateId(),
@@ -4926,7 +4981,7 @@
4926
4981
  text: 'Question',
4927
4982
  });
4928
4983
  } }, "Add item"),
4929
- React.createElement("a", { href: "#", onClick: (e) => {
4984
+ React.createElement(core$1.Anchor, { href: "#", onClick: (e) => {
4930
4985
  e.preventDefault();
4931
4986
  addItem({
4932
4987
  id: generateId(),
@@ -4935,7 +4990,7 @@
4935
4990
  text: 'Group',
4936
4991
  });
4937
4992
  } }, "Add group"))),
4938
- editing && !isResource && (React.createElement("a", { href: "#", onClick: (e) => {
4993
+ editing && !isResource && (React.createElement(core$1.Anchor, { href: "#", onClick: (e) => {
4939
4994
  e.preventDefault();
4940
4995
  if (props.onRemove) {
4941
4996
  props.onRemove();
@@ -4964,12 +5019,12 @@
4964
5019
  props.onChange(newOptions);
4965
5020
  } })),
4966
5021
  React.createElement("div", null,
4967
- React.createElement("a", { href: "#", onClick: (e) => {
5022
+ React.createElement(core$1.Anchor, { href: "#", onClick: (e) => {
4968
5023
  killEvent(e);
4969
5024
  props.onChange(options.filter((o) => o.id !== option.id));
4970
5025
  } }, "Remove"))));
4971
5026
  }),
4972
- React.createElement("a", { href: "#", onClick: (e) => {
5027
+ React.createElement(core$1.Anchor, { href: "#", onClick: (e) => {
4973
5028
  killEvent(e);
4974
5029
  props.onChange([
4975
5030
  ...options,
@@ -5129,7 +5184,7 @@
5129
5184
  function ReferenceRangeGroupEditor(props) {
5130
5185
  const { intervalGroup, unit } = props;
5131
5186
  const { classes } = useStyles$3();
5132
- return (React.createElement(core$1.Container, { "data-testid": intervalGroup.id, className: classes.section },
5187
+ return (React.createElement(Container, { "data-testid": intervalGroup.id, className: classes.section },
5133
5188
  React.createElement(core$1.Stack, { spacing: 'lg' },
5134
5189
  React.createElement(core$1.Group, { position: "right" },
5135
5190
  React.createElement(core$1.ActionIcon, { title: "Remove Group", "data-testid": `remove-group-button-${intervalGroup.id}`, key: `remove-group-button-${intervalGroup.id}`, size: "sm", onClick: (e) => {
@@ -5928,6 +5983,7 @@
5928
5983
  exports.ContactDetailInput = ContactDetailInput;
5929
5984
  exports.ContactPointDisplay = ContactPointDisplay;
5930
5985
  exports.ContactPointInput = ContactPointInput;
5986
+ exports.Container = Container;
5931
5987
  exports.DateTimeInput = DateTimeInput;
5932
5988
  exports.DefaultResourceTimeline = DefaultResourceTimeline;
5933
5989
  exports.DescriptionList = DescriptionList;
@@ -5951,6 +6007,7 @@
5951
6007
  exports.MemoizedFhirPathTable = MemoizedFhirPathTable;
5952
6008
  exports.MemoizedSearchControl = MemoizedSearchControl;
5953
6009
  exports.ObservationTable = ObservationTable;
6010
+ exports.Panel = Panel;
5954
6011
  exports.PatientTimeline = PatientTimeline;
5955
6012
  exports.PlanDefinitionBuilder = PlanDefinitionBuilder;
5956
6013
  exports.QuantityDisplay = QuantityDisplay;