@medplum/react 0.9.38 → 0.10.1

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 (291) hide show
  1. package/dist/cjs/AttachmentButton.d.ts +9 -0
  2. package/dist/cjs/CodeInput.d.ts +2 -1
  3. package/dist/cjs/CodeableConceptInput.d.ts +2 -1
  4. package/dist/cjs/CodingInput.d.ts +2 -1
  5. package/dist/cjs/DateTimeInput.d.ts +9 -2
  6. package/dist/cjs/DiagnosticReportDisplay.d.ts +0 -1
  7. package/dist/cjs/ReferenceInput.d.ts +1 -0
  8. package/dist/cjs/ResourceAvatar.d.ts +8 -0
  9. package/dist/cjs/ResourceBadge.d.ts +0 -1
  10. package/dist/cjs/ResourceHistoryTable.d.ts +0 -1
  11. package/dist/cjs/ResourceInput.d.ts +2 -3
  12. package/dist/cjs/SearchPopupMenu.d.ts +0 -4
  13. package/dist/cjs/SearchUtils.d.ts +5 -5
  14. package/dist/cjs/StatusBadge.d.ts +0 -1
  15. package/dist/cjs/ValueSetAutocomplete.d.ts +10 -0
  16. package/dist/cjs/auth/RegisterForm.d.ts +0 -1
  17. package/dist/cjs/auth/SignInForm.d.ts +0 -1
  18. package/dist/cjs/defaulttheme.css +0 -51
  19. package/dist/cjs/index.d.ts +3 -21
  20. package/dist/cjs/index.js +859 -1560
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/index.min.js +1 -1
  23. package/dist/cjs/index.min.js.map +1 -1
  24. package/dist/cjs/stories/{UploadButton.stories.d.ts → AttachmentButton.stories.d.ts} +1 -0
  25. package/dist/cjs/stories/{FormSection.stories.d.ts → CodeInput.stories.d.ts} +0 -0
  26. package/dist/cjs/stories/{Input.stories.d.ts → CodeableConceptInput.stories.d.ts} +0 -0
  27. package/dist/cjs/stories/PeriodInput.stories.d.ts +6 -0
  28. package/dist/cjs/stories/{Avatar.stories.d.ts → ResourceAvatar.stories.d.ts} +0 -0
  29. package/dist/cjs/stories/ResourceForm.stories.d.ts +1 -0
  30. package/dist/cjs/stories/{Loading.stories.d.ts → ResourceInput.stories.d.ts} +2 -1
  31. package/dist/cjs/stories/SearchControl.stories.d.ts +1 -0
  32. package/dist/cjs/styles.css +35 -1206
  33. package/dist/cjs/utils/outcomes.d.ts +1 -0
  34. package/dist/esm/AddressInput.js +9 -21
  35. package/dist/esm/AddressInput.js.map +1 -1
  36. package/dist/esm/AnnotationInput.js +2 -2
  37. package/dist/esm/AnnotationInput.js.map +1 -1
  38. package/dist/esm/AttachmentArrayInput.js +11 -8
  39. package/dist/esm/AttachmentArrayInput.js.map +1 -1
  40. package/dist/esm/AttachmentButton.d.ts +9 -0
  41. package/dist/esm/{UploadButton.js → AttachmentButton.js} +9 -9
  42. package/dist/esm/AttachmentButton.js.map +1 -0
  43. package/dist/esm/AttachmentInput.js +3 -3
  44. package/dist/esm/AttachmentInput.js.map +1 -1
  45. package/dist/esm/CalendarInput.js +6 -7
  46. package/dist/esm/CalendarInput.js.map +1 -1
  47. package/dist/esm/CodeInput.d.ts +2 -1
  48. package/dist/esm/CodeInput.js +16 -21
  49. package/dist/esm/CodeInput.js.map +1 -1
  50. package/dist/esm/CodeableConceptInput.d.ts +2 -1
  51. package/dist/esm/CodeableConceptInput.js +18 -33
  52. package/dist/esm/CodeableConceptInput.js.map +1 -1
  53. package/dist/esm/CodingInput.d.ts +2 -1
  54. package/dist/esm/CodingInput.js +24 -23
  55. package/dist/esm/CodingInput.js.map +1 -1
  56. package/dist/esm/ContactDetailInput.js +3 -4
  57. package/dist/esm/ContactDetailInput.js.map +1 -1
  58. package/dist/esm/ContactPointInput.js +5 -21
  59. package/dist/esm/ContactPointInput.js.map +1 -1
  60. package/dist/esm/DateTimeInput.d.ts +9 -2
  61. package/dist/esm/DateTimeInput.js +13 -3
  62. package/dist/esm/DateTimeInput.js.map +1 -1
  63. package/dist/esm/DiagnosticReportDisplay.d.ts +0 -1
  64. package/dist/esm/DiagnosticReportDisplay.js +21 -2
  65. package/dist/esm/DiagnosticReportDisplay.js.map +1 -1
  66. package/dist/esm/EncounterTimeline.js +2 -0
  67. package/dist/esm/EncounterTimeline.js.map +1 -1
  68. package/dist/esm/ExtensionInput.js +2 -2
  69. package/dist/esm/ExtensionInput.js.map +1 -1
  70. package/dist/esm/FhirPathTable.js +4 -5
  71. package/dist/esm/FhirPathTable.js.map +1 -1
  72. package/dist/esm/HumanNameInput.js +7 -17
  73. package/dist/esm/HumanNameInput.js.map +1 -1
  74. package/dist/esm/IdentifierInput.js +4 -5
  75. package/dist/esm/IdentifierInput.js.map +1 -1
  76. package/dist/esm/Logo.js +4 -4
  77. package/dist/esm/Logo.js.map +1 -1
  78. package/dist/esm/PatientTimeline.js +2 -0
  79. package/dist/esm/PatientTimeline.js.map +1 -1
  80. package/dist/esm/PeriodInput.js +5 -5
  81. package/dist/esm/PeriodInput.js.map +1 -1
  82. package/dist/esm/PlanDefinitionBuilder.js +17 -29
  83. package/dist/esm/PlanDefinitionBuilder.js.map +1 -1
  84. package/dist/esm/QuantityInput.js +5 -12
  85. package/dist/esm/QuantityInput.js.map +1 -1
  86. package/dist/esm/QuestionnaireBuilder.js +22 -25
  87. package/dist/esm/QuestionnaireBuilder.js.map +1 -1
  88. package/dist/esm/QuestionnaireForm.js +35 -29
  89. package/dist/esm/QuestionnaireForm.js.map +1 -1
  90. package/dist/esm/RangeInput.js +2 -2
  91. package/dist/esm/RangeInput.js.map +1 -1
  92. package/dist/esm/RatioInput.js +2 -2
  93. package/dist/esm/RatioInput.js.map +1 -1
  94. package/dist/esm/ReferenceInput.d.ts +1 -0
  95. package/dist/esm/ReferenceInput.js +4 -6
  96. package/dist/esm/ReferenceInput.js.map +1 -1
  97. package/dist/esm/RequestGroupDisplay.js +1 -1
  98. package/dist/esm/RequestGroupDisplay.js.map +1 -1
  99. package/dist/esm/ResourceArrayInput.js +10 -7
  100. package/dist/esm/ResourceArrayInput.js.map +1 -1
  101. package/dist/esm/ResourceAvatar.d.ts +8 -0
  102. package/dist/esm/ResourceAvatar.js +24 -0
  103. package/dist/esm/ResourceAvatar.js.map +1 -0
  104. package/dist/esm/ResourceBadge.d.ts +0 -1
  105. package/dist/esm/ResourceBadge.js +2 -3
  106. package/dist/esm/ResourceBadge.js.map +1 -1
  107. package/dist/esm/ResourceBlame.js +3 -3
  108. package/dist/esm/ResourceBlame.js.map +1 -1
  109. package/dist/esm/ResourceForm.js +10 -10
  110. package/dist/esm/ResourceForm.js.map +1 -1
  111. package/dist/esm/ResourceHistoryTable.d.ts +0 -1
  112. package/dist/esm/ResourceHistoryTable.js +2 -1
  113. package/dist/esm/ResourceHistoryTable.js.map +1 -1
  114. package/dist/esm/ResourceInput.d.ts +2 -3
  115. package/dist/esm/ResourceInput.js +37 -29
  116. package/dist/esm/ResourceInput.js.map +1 -1
  117. package/dist/esm/ResourcePropertyInput.js +30 -18
  118. package/dist/esm/ResourcePropertyInput.js.map +1 -1
  119. package/dist/esm/ResourceTimeline.js +23 -17
  120. package/dist/esm/ResourceTimeline.js.map +1 -1
  121. package/dist/esm/Scheduler.js +7 -7
  122. package/dist/esm/Scheduler.js.map +1 -1
  123. package/dist/esm/SearchControl.js +76 -58
  124. package/dist/esm/SearchControl.js.map +1 -1
  125. package/dist/esm/SearchControlField.js.map +1 -1
  126. package/dist/esm/SearchFieldEditor.js +7 -7
  127. package/dist/esm/SearchFieldEditor.js.map +1 -1
  128. package/dist/esm/SearchFilterEditor.js +11 -15
  129. package/dist/esm/SearchFilterEditor.js.map +1 -1
  130. package/dist/esm/SearchFilterValueDialog.js +4 -3
  131. package/dist/esm/SearchFilterValueDialog.js.map +1 -1
  132. package/dist/esm/SearchFilterValueInput.js +6 -7
  133. package/dist/esm/SearchFilterValueInput.js.map +1 -1
  134. package/dist/esm/SearchPopupMenu.d.ts +0 -4
  135. package/dist/esm/SearchPopupMenu.js +59 -73
  136. package/dist/esm/SearchPopupMenu.js.map +1 -1
  137. package/dist/esm/SearchUtils.d.ts +5 -5
  138. package/dist/esm/SearchUtils.js +11 -12
  139. package/dist/esm/SearchUtils.js.map +1 -1
  140. package/dist/esm/ServiceRequestTimeline.js +2 -0
  141. package/dist/esm/ServiceRequestTimeline.js.map +1 -1
  142. package/dist/esm/StatusBadge.d.ts +0 -1
  143. package/dist/esm/StatusBadge.js +55 -1
  144. package/dist/esm/StatusBadge.js.map +1 -1
  145. package/dist/esm/Timeline.js +12 -20
  146. package/dist/esm/Timeline.js.map +1 -1
  147. package/dist/esm/TimingInput.js +14 -17
  148. package/dist/esm/TimingInput.js.map +1 -1
  149. package/dist/esm/ValueSetAutocomplete.d.ts +10 -0
  150. package/dist/esm/ValueSetAutocomplete.js +65 -0
  151. package/dist/esm/ValueSetAutocomplete.js.map +1 -0
  152. package/dist/esm/auth/AuthenticationForm.js +12 -20
  153. package/dist/esm/auth/AuthenticationForm.js.map +1 -1
  154. package/dist/esm/auth/ChooseProfileForm.js +10 -10
  155. package/dist/esm/auth/ChooseProfileForm.js.map +1 -1
  156. package/dist/esm/auth/NewProjectForm.js +12 -15
  157. package/dist/esm/auth/NewProjectForm.js.map +1 -1
  158. package/dist/esm/auth/NewUserForm.js +25 -33
  159. package/dist/esm/auth/NewUserForm.js.map +1 -1
  160. package/dist/esm/auth/RegisterForm.d.ts +0 -1
  161. package/dist/esm/auth/RegisterForm.js.map +1 -1
  162. package/dist/esm/auth/SignInForm.d.ts +0 -1
  163. package/dist/esm/auth/SignInForm.js.map +1 -1
  164. package/dist/esm/defaulttheme.css +0 -51
  165. package/dist/esm/index.d.ts +3 -21
  166. package/dist/esm/index.js +4 -22
  167. package/dist/esm/index.js.map +1 -1
  168. package/dist/esm/index.min.js +1 -1
  169. package/dist/esm/index.min.js.map +1 -1
  170. package/dist/esm/node_modules/tslib/tslib.es6.js +13 -1
  171. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  172. package/dist/esm/stories/{UploadButton.stories.d.ts → AttachmentButton.stories.d.ts} +1 -0
  173. package/dist/{cjs/stories/Select.stories.d.ts → esm/stories/CodeInput.stories.d.ts} +0 -0
  174. package/dist/esm/stories/{FormSection.stories.d.ts → CodeableConceptInput.stories.d.ts} +0 -0
  175. package/dist/esm/stories/PeriodInput.stories.d.ts +6 -0
  176. package/dist/esm/stories/{Avatar.stories.d.ts → ResourceAvatar.stories.d.ts} +0 -0
  177. package/dist/esm/stories/ResourceForm.stories.d.ts +1 -0
  178. package/dist/{cjs/stories/Dialog.stories.d.ts → esm/stories/ResourceInput.stories.d.ts} +2 -1
  179. package/dist/esm/stories/SearchControl.stories.d.ts +1 -0
  180. package/dist/esm/styles.css +35 -1206
  181. package/dist/esm/utils/outcomes.d.ts +1 -0
  182. package/dist/esm/utils/outcomes.js +5 -1
  183. package/dist/esm/utils/outcomes.js.map +1 -1
  184. package/package.json +27 -19
  185. package/dist/cjs/Autocomplete.d.ts +0 -20
  186. package/dist/cjs/Avatar.d.ts +0 -12
  187. package/dist/cjs/Button.d.ts +0 -15
  188. package/dist/cjs/Checkbox.d.ts +0 -12
  189. package/dist/cjs/Dialog.d.ts +0 -10
  190. package/dist/cjs/FooterLinks.d.ts +0 -6
  191. package/dist/cjs/Header.d.ts +0 -12
  192. package/dist/cjs/HeaderSearchInput.d.ts +0 -10
  193. package/dist/cjs/Input.d.ts +0 -22
  194. package/dist/cjs/InputRow.d.ts +0 -7
  195. package/dist/cjs/Loading.d.ts +0 -3
  196. package/dist/cjs/MenuItem.d.ts +0 -9
  197. package/dist/cjs/MenuSeparator.d.ts +0 -3
  198. package/dist/cjs/Popup.d.ts +0 -14
  199. package/dist/cjs/Scrollable.d.ts +0 -9
  200. package/dist/cjs/Select.d.ts +0 -16
  201. package/dist/cjs/SubMenu.d.ts +0 -7
  202. package/dist/cjs/Tab.d.ts +0 -12
  203. package/dist/cjs/TabList.d.ts +0 -10
  204. package/dist/cjs/TabPanel.d.ts +0 -6
  205. package/dist/cjs/TabSwitch.d.ts +0 -6
  206. package/dist/cjs/TextArea.d.ts +0 -18
  207. package/dist/cjs/TitleBar.d.ts +0 -6
  208. package/dist/cjs/UploadButton.d.ts +0 -7
  209. package/dist/cjs/stories/Autocomplete.stories.d.ts +0 -9
  210. package/dist/cjs/stories/Button.stories.d.ts +0 -9
  211. package/dist/cjs/stories/Header.stories.d.ts +0 -8
  212. package/dist/cjs/stories/Tabs.stories.d.ts +0 -6
  213. package/dist/esm/Autocomplete.d.ts +0 -20
  214. package/dist/esm/Autocomplete.js +0 -281
  215. package/dist/esm/Autocomplete.js.map +0 -1
  216. package/dist/esm/Avatar.d.ts +0 -12
  217. package/dist/esm/Avatar.js +0 -24
  218. package/dist/esm/Avatar.js.map +0 -1
  219. package/dist/esm/Button.d.ts +0 -15
  220. package/dist/esm/Button.js +0 -13
  221. package/dist/esm/Button.js.map +0 -1
  222. package/dist/esm/Checkbox.d.ts +0 -12
  223. package/dist/esm/Checkbox.js +0 -13
  224. package/dist/esm/Checkbox.js.map +0 -1
  225. package/dist/esm/Dialog.d.ts +0 -10
  226. package/dist/esm/Dialog.js +0 -43
  227. package/dist/esm/Dialog.js.map +0 -1
  228. package/dist/esm/FooterLinks.d.ts +0 -6
  229. package/dist/esm/FooterLinks.js +0 -8
  230. package/dist/esm/FooterLinks.js.map +0 -1
  231. package/dist/esm/Header.d.ts +0 -12
  232. package/dist/esm/Header.js +0 -99
  233. package/dist/esm/Header.js.map +0 -1
  234. package/dist/esm/HeaderSearchInput.d.ts +0 -10
  235. package/dist/esm/HeaderSearchInput.js +0 -181
  236. package/dist/esm/HeaderSearchInput.js.map +0 -1
  237. package/dist/esm/Input.d.ts +0 -22
  238. package/dist/esm/Input.js +0 -26
  239. package/dist/esm/Input.js.map +0 -1
  240. package/dist/esm/InputRow.d.ts +0 -7
  241. package/dist/esm/InputRow.js +0 -8
  242. package/dist/esm/InputRow.js.map +0 -1
  243. package/dist/esm/Loading.d.ts +0 -3
  244. package/dist/esm/Loading.js +0 -11
  245. package/dist/esm/Loading.js.map +0 -1
  246. package/dist/esm/MenuItem.d.ts +0 -9
  247. package/dist/esm/MenuItem.js +0 -8
  248. package/dist/esm/MenuItem.js.map +0 -1
  249. package/dist/esm/MenuSeparator.d.ts +0 -3
  250. package/dist/esm/MenuSeparator.js +0 -8
  251. package/dist/esm/MenuSeparator.js.map +0 -1
  252. package/dist/esm/Popup.d.ts +0 -14
  253. package/dist/esm/Popup.js +0 -78
  254. package/dist/esm/Popup.js.map +0 -1
  255. package/dist/esm/Scrollable.d.ts +0 -9
  256. package/dist/esm/Scrollable.js +0 -12
  257. package/dist/esm/Scrollable.js.map +0 -1
  258. package/dist/esm/Select.d.ts +0 -16
  259. package/dist/esm/Select.js +0 -16
  260. package/dist/esm/Select.js.map +0 -1
  261. package/dist/esm/SubMenu.d.ts +0 -7
  262. package/dist/esm/SubMenu.js +0 -38
  263. package/dist/esm/SubMenu.js.map +0 -1
  264. package/dist/esm/Tab.d.ts +0 -12
  265. package/dist/esm/Tab.js +0 -19
  266. package/dist/esm/Tab.js.map +0 -1
  267. package/dist/esm/TabList.d.ts +0 -10
  268. package/dist/esm/TabList.js +0 -23
  269. package/dist/esm/TabList.js.map +0 -1
  270. package/dist/esm/TabPanel.d.ts +0 -6
  271. package/dist/esm/TabPanel.js +0 -8
  272. package/dist/esm/TabPanel.js.map +0 -1
  273. package/dist/esm/TabSwitch.d.ts +0 -6
  274. package/dist/esm/TabSwitch.js +0 -16
  275. package/dist/esm/TabSwitch.js.map +0 -1
  276. package/dist/esm/TextArea.d.ts +0 -18
  277. package/dist/esm/TextArea.js +0 -16
  278. package/dist/esm/TextArea.js.map +0 -1
  279. package/dist/esm/TitleBar.d.ts +0 -6
  280. package/dist/esm/TitleBar.js +0 -8
  281. package/dist/esm/TitleBar.js.map +0 -1
  282. package/dist/esm/UploadButton.d.ts +0 -7
  283. package/dist/esm/UploadButton.js.map +0 -1
  284. package/dist/esm/stories/Autocomplete.stories.d.ts +0 -9
  285. package/dist/esm/stories/Button.stories.d.ts +0 -9
  286. package/dist/esm/stories/Dialog.stories.d.ts +0 -5
  287. package/dist/esm/stories/Header.stories.d.ts +0 -8
  288. package/dist/esm/stories/Input.stories.d.ts +0 -6
  289. package/dist/esm/stories/Loading.stories.d.ts +0 -5
  290. package/dist/esm/stories/Select.stories.d.ts +0 -6
  291. package/dist/esm/stories/Tabs.stories.d.ts +0 -6
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
-
3
- function Scrollable(props) {
4
- const containerHeight = props.height || '100%';
5
- const contentHeight = props.height ? props.height + 25 : '100%';
6
- const className = 'medplum-scrollable-content' + (props.className ? ` ${props.className}` : '');
7
- return (React.createElement("div", { className: "medplum-scrollable-container", style: { height: containerHeight } },
8
- React.createElement("div", { className: className, role: props.role, style: { height: contentHeight } }, props.children)));
9
- }
10
-
11
- export { Scrollable };
12
- //# sourceMappingURL=Scrollable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Scrollable.js","sources":["../../src/Scrollable.tsx"],"sourcesContent":["import React from 'react';\nimport './Scrollable.css';\n\nexport interface ScrollableProps {\n readonly role?: string;\n readonly className?: string;\n readonly height?: number;\n readonly children: React.ReactNode;\n}\n\nexport function Scrollable(props: ScrollableProps): JSX.Element {\n const containerHeight = props.height || '100%';\n const contentHeight = props.height ? props.height + 25 : '100%';\n const className = 'medplum-scrollable-content' + (props.className ? ` ${props.className}` : '');\n return (\n <div className=\"medplum-scrollable-container\" style={{ height: containerHeight }}>\n <div className={className} role={props.role} style={{ height: contentHeight }}>\n {props.children}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":";;AAUM,SAAU,UAAU,CAAC,KAAsB,EAAA;AAC/C,IAAA,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;AAC/C,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;IAChE,MAAM,SAAS,GAAG,4BAA4B,IAAI,KAAK,CAAC,SAAS,GAAG,CAAI,CAAA,EAAA,KAAK,CAAC,SAAS,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC;AAChG,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,EAAA;QAC9E,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAC1E,EAAA,KAAK,CAAC,QAAQ,CACX,CACF,EACN;AACJ;;;;"}
@@ -1,16 +0,0 @@
1
- import { OperationOutcome } from '@medplum/fhirtypes';
2
- import React, { RefObject } from 'react';
3
- import './Select.css';
4
- export interface SelectProps {
5
- name?: string;
6
- defaultValue?: string;
7
- required?: boolean;
8
- autoFocus?: boolean;
9
- inputRef?: RefObject<HTMLSelectElement>;
10
- children: React.ReactNode;
11
- outcome?: OperationOutcome;
12
- testid?: string;
13
- style?: React.CSSProperties;
14
- onChange?: (newValue: string) => void;
15
- }
16
- export declare function Select(props: SelectProps): JSX.Element;
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { getIssuesForExpression } from './utils/outcomes.js';
3
-
4
- function Select(props) {
5
- const className = 'medplum-select';
6
- const issues = getIssuesForExpression(props.outcome, props.name);
7
- const invalid = issues && issues.length > 0;
8
- return (React.createElement("select", { id: props.name, name: props.name, className: className, defaultValue: props.defaultValue || '', required: props.required, autoFocus: props.autoFocus, ref: props.inputRef, style: props.style, "aria-invalid": invalid, "aria-describedby": invalid ? props.name + '-errors' : '', "data-testid": props.testid, onChange: (e) => {
9
- if (props.onChange) {
10
- props.onChange(e.currentTarget.value);
11
- }
12
- } }, props.children));
13
- }
14
-
15
- export { Select };
16
- //# sourceMappingURL=Select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select.js","sources":["../../src/Select.tsx"],"sourcesContent":["import { OperationOutcome } from '@medplum/fhirtypes';\nimport React, { RefObject } from 'react';\nimport { getIssuesForExpression } from './utils/outcomes';\nimport './Select.css';\n\nexport interface SelectProps {\n name?: string;\n defaultValue?: string;\n required?: boolean;\n autoFocus?: boolean;\n inputRef?: RefObject<HTMLSelectElement>;\n children: React.ReactNode;\n outcome?: OperationOutcome;\n testid?: string;\n style?: React.CSSProperties;\n onChange?: (newValue: string) => void;\n}\n\nexport function Select(props: SelectProps): JSX.Element {\n const className = 'medplum-select';\n const issues = getIssuesForExpression(props.outcome, props.name);\n const invalid = issues && issues.length > 0;\n return (\n <select\n id={props.name}\n name={props.name}\n className={className}\n defaultValue={props.defaultValue || ''}\n required={props.required}\n autoFocus={props.autoFocus}\n ref={props.inputRef}\n style={props.style}\n aria-invalid={invalid}\n aria-describedby={invalid ? props.name + '-errors' : ''}\n data-testid={props.testid}\n onChange={(e) => {\n if (props.onChange) {\n props.onChange(e.currentTarget.value);\n }\n }}\n >\n {props.children}\n </select>\n );\n}\n"],"names":[],"mappings":";;;AAkBM,SAAU,MAAM,CAAC,KAAkB,EAAA;IACvC,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACnC,IAAA,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,EAAE,EAAE,KAAK,CAAC,IAAI,EACd,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,EACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,GAAG,EAAE,KAAK,CAAC,QAAQ,EACnB,KAAK,EAAE,KAAK,CAAC,KAAK,kBACJ,OAAO,EAAA,kBAAA,EACH,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,EAC1C,aAAA,EAAA,KAAK,CAAC,MAAM,EACzB,QAAQ,EAAE,CAAC,CAAC,KAAI;YACd,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACvC,aAAA;AACH,SAAC,IAEA,KAAK,CAAC,QAAQ,CACR,EACT;AACJ;;;;"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import './SubMenu.css';
3
- export interface SubMenuProps {
4
- title: string;
5
- children: React.ReactNode;
6
- }
7
- export declare function SubMenu(props: SubMenuProps): JSX.Element;
@@ -1,38 +0,0 @@
1
- import React, { useState, useRef, useEffect } from 'react';
2
- import { Popup } from './Popup.js';
3
-
4
- function SubMenu(props) {
5
- const [hover, setHover] = useState(false);
6
- const [visible, setVisible] = useState(false);
7
- const [anchor, setAnchor] = useState(undefined);
8
- const menuItemRef = useRef(null);
9
- const hoverRef = useRef(false);
10
- hoverRef.current = hover;
11
- const visibleRef = useRef(false);
12
- visibleRef.current = visible;
13
- function show() {
14
- const el = menuItemRef.current;
15
- if (el) {
16
- setAnchor(el.getBoundingClientRect());
17
- setVisible(true);
18
- }
19
- }
20
- useEffect(() => {
21
- const timerId = window.setInterval(() => {
22
- if (!visibleRef.current && hoverRef.current) {
23
- show();
24
- }
25
- else if (visibleRef.current && !hoverRef.current) {
26
- setVisible(false);
27
- }
28
- }, 150);
29
- return () => window.clearInterval(timerId);
30
- }, []);
31
- return (React.createElement("div", { ref: menuItemRef, className: "medplum-menu-item medplum-submenu-item", onClick: () => show(), onMouseOver: () => setHover(true), onMouseLeave: () => setHover(false) },
32
- props.title,
33
- React.createElement("span", { className: "medplum-submenu-arrow" }, '\u25BA'),
34
- React.createElement(Popup, { visible: visible, anchor: anchor, autoClose: true, onClose: () => setVisible(false) }, props.children)));
35
- }
36
-
37
- export { SubMenu };
38
- //# sourceMappingURL=SubMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubMenu.js","sources":["../../src/SubMenu.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Popup } from './Popup';\nimport './SubMenu.css';\n\nexport interface SubMenuProps {\n title: string;\n children: React.ReactNode;\n}\n\nexport function SubMenu(props: SubMenuProps): JSX.Element {\n const [hover, setHover] = useState(false);\n const [visible, setVisible] = useState(false);\n const [anchor, setAnchor] = useState<DOMRectReadOnly | undefined>(undefined);\n const menuItemRef = useRef<HTMLDivElement>(null);\n\n const hoverRef = useRef<boolean>(false);\n hoverRef.current = hover;\n\n const visibleRef = useRef<boolean>(false);\n visibleRef.current = visible;\n\n function show(): void {\n const el = menuItemRef.current;\n if (el) {\n setAnchor(el.getBoundingClientRect());\n setVisible(true);\n }\n }\n\n useEffect(() => {\n const timerId = window.setInterval(() => {\n if (!visibleRef.current && hoverRef.current) {\n show();\n } else if (visibleRef.current && !hoverRef.current) {\n setVisible(false);\n }\n }, 150);\n return () => window.clearInterval(timerId);\n }, []);\n\n return (\n <div\n ref={menuItemRef}\n className=\"medplum-menu-item medplum-submenu-item\"\n onClick={() => show()}\n onMouseOver={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n >\n {props.title}\n <span className=\"medplum-submenu-arrow\">{'\\u25BA'}</span>\n <Popup visible={visible} anchor={anchor} autoClose={true} onClose={() => setVisible(false)}>\n {props.children}\n </Popup>\n </div>\n );\n}\n"],"names":[],"mappings":";;;AASM,SAAU,OAAO,CAAC,KAAmB,EAAA;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA8B,SAAS,CAAC,CAAC;AAC7E,IAAA,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AAEjD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;AACxC,IAAA,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;AAEzB,IAAA,MAAM,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;AAC1C,IAAA,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;AAE7B,IAAA,SAAS,IAAI,GAAA;AACX,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC;AAC/B,QAAA,IAAI,EAAE,EAAE;AACN,YAAA,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClB,SAAA;KACF;IAED,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAK;YACtC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC3C,gBAAA,IAAI,EAAE,CAAC;AACR,aAAA;iBAAM,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAClD,UAAU,CAAC,KAAK,CAAC,CAAC;AACnB,aAAA;SACF,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC5C,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,WAAW,EAChB,SAAS,EAAC,wCAAwC,EAClD,OAAO,EAAE,MAAM,IAAI,EAAE,EACrB,WAAW,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EACjC,YAAY,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAA;AAElC,QAAA,KAAK,CAAC,KAAK;AACZ,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uBAAuB,EAAA,EAAE,QAAQ,CAAQ;AACzD,QAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,EACvF,EAAA,KAAK,CAAC,QAAQ,CACT,CACJ,EACN;AACJ;;;;"}
package/dist/esm/Tab.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /// <reference types="react" />
2
- import './Tab.css';
3
- export interface TabClickHandler {
4
- (name: string, button: number): void;
5
- }
6
- export interface TabProps {
7
- name: string;
8
- label: string;
9
- selected?: boolean;
10
- onClick?: TabClickHandler;
11
- }
12
- export declare function Tab(props: TabProps): JSX.Element;
package/dist/esm/Tab.js DELETED
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { killEvent } from './utils/dom.js';
3
-
4
- function Tab(props) {
5
- let className = 'medplum-tab';
6
- if (props.selected) {
7
- className += ' selected';
8
- }
9
- function clickHandler(e) {
10
- killEvent(e);
11
- // The onClick prop is set by TabBar as parent component.
12
- // Using Tab outside of a TabBar is unsupported.
13
- props.onClick(props.name, e.button);
14
- }
15
- return (React.createElement("a", { href: `#${props.name}`, role: "tab", "aria-selected": props.selected, className: className, onClick: clickHandler, onAuxClick: clickHandler }, props.label));
16
- }
17
-
18
- export { Tab };
19
- //# sourceMappingURL=Tab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tab.js","sources":["../../src/Tab.tsx"],"sourcesContent":["import React from 'react';\nimport './Tab.css';\nimport { killEvent } from './utils/dom';\n\nexport interface TabClickHandler {\n (name: string, button: number): void;\n}\n\nexport interface TabProps {\n name: string;\n label: string;\n selected?: boolean;\n onClick?: TabClickHandler;\n}\n\nexport function Tab(props: TabProps): JSX.Element {\n let className = 'medplum-tab';\n if (props.selected) {\n className += ' selected';\n }\n\n function clickHandler(e: React.MouseEvent): void {\n killEvent(e);\n\n // The onClick prop is set by TabBar as parent component.\n // Using Tab outside of a TabBar is unsupported.\n (props.onClick as TabClickHandler)(props.name, e.button);\n }\n\n return (\n <a\n href={`#${props.name}`}\n role=\"tab\"\n aria-selected={props.selected}\n className={className}\n onClick={clickHandler}\n onAuxClick={clickHandler}\n >\n {props.label}\n </a>\n );\n}\n"],"names":[],"mappings":";;;AAeM,SAAU,GAAG,CAAC,KAAe,EAAA;IACjC,IAAI,SAAS,GAAG,aAAa,CAAC;IAC9B,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClB,SAAS,IAAI,WAAW,CAAC;AAC1B,KAAA;IAED,SAAS,YAAY,CAAC,CAAmB,EAAA;QACvC,SAAS,CAAC,CAAC,CAAC,CAAC;;;QAIZ,KAAK,CAAC,OAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;KAC1D;AAED,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EACE,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAA,CAAE,EACtB,IAAI,EAAC,KAAK,EAAA,eAAA,EACK,KAAK,CAAC,QAAQ,EAC7B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,YAAY,IAEvB,KAAK,CAAC,KAAK,CACV,EACJ;AACJ;;;;"}
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { TabClickHandler } from './Tab';
3
- import './Surface.css';
4
- import './TabList.css';
5
- export interface TabListProps {
6
- value?: string;
7
- onChange: TabClickHandler;
8
- children: React.ReactNode;
9
- }
10
- export declare function TabList(props: TabListProps): JSX.Element;
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { Scrollable } from './Scrollable.js';
3
- import { Tab } from './Tab.js';
4
-
5
- function TabList(props) {
6
- return (React.createElement(Scrollable, { className: "medplum-surface", height: 50 },
7
- React.createElement("div", { role: "tablist", className: "medplum-tablist" },
8
- React.createElement("div", { className: "medplum-tablist-foreground" }, React.Children.map(props.children, (child, tabIndex) => {
9
- if (React.isValidElement(child) && child.type === Tab) {
10
- return React.cloneElement(child, {
11
- selected: child.props.name === props.value,
12
- onClick: props.onChange,
13
- tabIndex,
14
- });
15
- }
16
- else {
17
- return null;
18
- }
19
- })))));
20
- }
21
-
22
- export { TabList };
23
- //# sourceMappingURL=TabList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabList.js","sources":["../../src/TabList.tsx"],"sourcesContent":["import React from 'react';\nimport { Scrollable } from './Scrollable';\nimport { Tab, TabClickHandler } from './Tab';\nimport './Surface.css';\nimport './TabList.css';\n\nexport interface TabListProps {\n value?: string;\n onChange: TabClickHandler;\n children: React.ReactNode;\n}\n\nexport function TabList(props: TabListProps): JSX.Element {\n return (\n <Scrollable className=\"medplum-surface\" height={50}>\n <div role=\"tablist\" className=\"medplum-tablist\">\n <div className=\"medplum-tablist-foreground\">\n {React.Children.map(props.children, (child, tabIndex) => {\n if (React.isValidElement(child) && child.type === Tab) {\n return React.cloneElement(child as React.ReactElement<any>, {\n selected: child.props.name === props.value,\n onClick: props.onChange,\n tabIndex,\n });\n } else {\n return null;\n }\n })}\n </div>\n </div>\n </Scrollable>\n );\n}\n"],"names":[],"mappings":";;;;AAYM,SAAU,OAAO,CAAC,KAAmB,EAAA;IACzC,QACE,KAAC,CAAA,aAAA,CAAA,UAAU,EAAC,EAAA,SAAS,EAAC,iBAAiB,EAAC,MAAM,EAAE,EAAE,EAAA;AAChD,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,SAAS,EAAC,SAAS,EAAC,iBAAiB,EAAA;AAC7C,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4BAA4B,IACxC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAI;AACtD,gBAAA,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE;AACrD,oBAAA,OAAO,KAAK,CAAC,YAAY,CAAC,KAAgC,EAAE;wBAC1D,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK;wBAC1C,OAAO,EAAE,KAAK,CAAC,QAAQ;wBACvB,QAAQ;AACT,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACH,aAAC,CAAC,CACE,CACF,CACK,EACb;AACJ;;;;"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export interface TabPanelProps {
3
- name: string;
4
- children: React.ReactNode;
5
- }
6
- export declare function TabPanel(props: TabPanelProps): JSX.Element;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
-
3
- function TabPanel(props) {
4
- return React.createElement("div", { role: "tabpanel" }, props.children);
5
- }
6
-
7
- export { TabPanel };
8
- //# sourceMappingURL=TabPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabPanel.js","sources":["../../src/TabPanel.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface TabPanelProps {\n name: string;\n children: React.ReactNode;\n}\n\nexport function TabPanel(props: TabPanelProps): JSX.Element {\n return <div role=\"tabpanel\">{props.children}</div>;\n}\n"],"names":[],"mappings":";;AAOM,SAAU,QAAQ,CAAC,KAAoB,EAAA;IAC3C,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,UAAU,IAAE,KAAK,CAAC,QAAQ,CAAO,CAAC;AACrD;;;;"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export interface TabSwitchProps {
3
- value?: string;
4
- children: React.ReactNode;
5
- }
6
- export declare function TabSwitch(props: TabSwitchProps): JSX.Element;
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { TabPanel } from './TabPanel.js';
3
-
4
- function TabSwitch(props) {
5
- return (React.createElement(React.Fragment, null, React.Children.map(props.children, (child) => {
6
- if (React.isValidElement(child) && child.type === TabPanel && child.props.name === props.value) {
7
- return child;
8
- }
9
- else {
10
- return null;
11
- }
12
- })));
13
- }
14
-
15
- export { TabSwitch };
16
- //# sourceMappingURL=TabSwitch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabSwitch.js","sources":["../../src/TabSwitch.tsx"],"sourcesContent":["import React from 'react';\nimport { TabPanel } from './TabPanel';\n\nexport interface TabSwitchProps {\n value?: string;\n children: React.ReactNode;\n}\n\nexport function TabSwitch(props: TabSwitchProps): JSX.Element {\n return (\n <>\n {React.Children.map(props.children, (child) => {\n if (React.isValidElement(child) && child.type === TabPanel && child.props.name === props.value) {\n return child;\n } else {\n return null;\n }\n })}\n </>\n );\n}\n"],"names":[],"mappings":";;;AAQM,SAAU,SAAS,CAAC,KAAqB,EAAA;AAC7C,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;QAC5C,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE;AAC9F,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF,CAAC,CACD,EACH;AACJ;;;;"}
@@ -1,18 +0,0 @@
1
- import { OperationOutcome } from '@medplum/fhirtypes';
2
- import React, { RefObject } from 'react';
3
- import './TextArea.css';
4
- export interface TextAreaProps {
5
- name?: string;
6
- defaultValue?: string;
7
- required?: boolean;
8
- autoComplete?: string;
9
- autoFocus?: boolean;
10
- inputRef?: RefObject<HTMLTextAreaElement>;
11
- outcome?: OperationOutcome;
12
- placeholder?: string;
13
- testid?: string;
14
- monospace?: boolean;
15
- style?: React.CSSProperties;
16
- onChange?: (newValue: string) => void;
17
- }
18
- export declare function TextArea(props: TextAreaProps): JSX.Element;
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { getIssuesForExpression } from './utils/outcomes.js';
3
-
4
- function TextArea(props) {
5
- const className = 'medplum-textarea' + (props.monospace ? ' monospace' : '');
6
- const issues = getIssuesForExpression(props.outcome, props.name);
7
- const invalid = issues && issues.length > 0;
8
- return (React.createElement("textarea", { id: props.name, name: props.name, className: className, defaultValue: props.defaultValue || '', required: props.required, autoComplete: props.autoComplete, autoFocus: props.autoFocus, ref: props.inputRef, "aria-invalid": invalid, "aria-describedby": invalid ? props.name + '-errors' : '', placeholder: props.placeholder, "data-testid": props.testid, style: props.style, onChange: (e) => {
9
- if (props.onChange) {
10
- props.onChange(e.currentTarget.value);
11
- }
12
- } }));
13
- }
14
-
15
- export { TextArea };
16
- //# sourceMappingURL=TextArea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../src/TextArea.tsx"],"sourcesContent":["import { OperationOutcome } from '@medplum/fhirtypes';\nimport React, { RefObject } from 'react';\nimport { getIssuesForExpression } from './utils/outcomes';\nimport './TextArea.css';\n\nexport interface TextAreaProps {\n name?: string;\n defaultValue?: string;\n required?: boolean;\n autoComplete?: string;\n autoFocus?: boolean;\n inputRef?: RefObject<HTMLTextAreaElement>;\n outcome?: OperationOutcome;\n placeholder?: string;\n testid?: string;\n monospace?: boolean;\n style?: React.CSSProperties;\n onChange?: (newValue: string) => void;\n}\n\nexport function TextArea(props: TextAreaProps): JSX.Element {\n const className = 'medplum-textarea' + (props.monospace ? ' monospace' : '');\n const issues = getIssuesForExpression(props.outcome, props.name);\n const invalid = issues && issues.length > 0;\n return (\n <textarea\n id={props.name}\n name={props.name}\n className={className}\n defaultValue={props.defaultValue || ''}\n required={props.required}\n autoComplete={props.autoComplete}\n autoFocus={props.autoFocus}\n ref={props.inputRef}\n aria-invalid={invalid}\n aria-describedby={invalid ? props.name + '-errors' : ''}\n placeholder={props.placeholder}\n data-testid={props.testid}\n style={props.style}\n onChange={(e) => {\n if (props.onChange) {\n props.onChange(e.currentTarget.value);\n }\n }}\n />\n );\n}\n"],"names":[],"mappings":";;;AAoBM,SAAU,QAAQ,CAAC,KAAoB,EAAA;AAC3C,IAAA,MAAM,SAAS,GAAG,kBAAkB,IAAI,KAAK,CAAC,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC;AAC7E,IAAA,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,IAAA,QACE,KACE,CAAA,aAAA,CAAA,UAAA,EAAA,EAAA,EAAE,EAAE,KAAK,CAAC,IAAI,EACd,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,EACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,GAAG,EAAE,KAAK,CAAC,QAAQ,EACL,cAAA,EAAA,OAAO,sBACH,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,EACvD,WAAW,EAAE,KAAK,CAAC,WAAW,iBACjB,KAAK,CAAC,MAAM,EACzB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,CAAC,KAAI;YACd,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACvC,aAAA;SACF,EAAA,CACD,EACF;AACJ;;;;"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import './TitleBar.css';
3
- export interface TitleBarProps {
4
- children?: React.ReactNode;
5
- }
6
- export declare function TitleBar(props: TitleBarProps): JSX.Element;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
-
3
- function TitleBar(props) {
4
- return React.createElement("div", { className: "medplum-title-bar" }, props.children);
5
- }
6
-
7
- export { TitleBar };
8
- //# sourceMappingURL=TitleBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TitleBar.js","sources":["../../src/TitleBar.tsx"],"sourcesContent":["import React from 'react';\nimport './TitleBar.css';\n\nexport interface TitleBarProps {\n children?: React.ReactNode;\n}\n\nexport function TitleBar(props: TitleBarProps): JSX.Element {\n return <div className=\"medplum-title-bar\">{props.children}</div>;\n}\n"],"names":[],"mappings":";;AAOM,SAAU,QAAQ,CAAC,KAAoB,EAAA;IAC3C,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,IAAE,KAAK,CAAC,QAAQ,CAAO,CAAC;AACnE;;;;"}
@@ -1,7 +0,0 @@
1
- import { Attachment } from '@medplum/fhirtypes';
2
- import React from 'react';
3
- export interface UploadButtonProps {
4
- onUpload: (attachment: Attachment) => void;
5
- children?: React.ReactNode;
6
- }
7
- export declare function UploadButton(props: UploadButtonProps): JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"UploadButton.js","sources":["../../src/UploadButton.tsx"],"sourcesContent":["import { Attachment, Binary, OperationOutcome } from '@medplum/fhirtypes';\nimport React, { useRef } from 'react';\nimport { Button } from './Button';\nimport { useMedplum } from './MedplumProvider';\nimport { killEvent } from './utils/dom';\n\nexport interface UploadButtonProps {\n onUpload: (attachment: Attachment) => void;\n children?: React.ReactNode;\n}\n\nexport function UploadButton(props: UploadButtonProps): JSX.Element {\n const medplum = useMedplum();\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n function onFileChange(e: React.ChangeEvent): void {\n killEvent(e);\n const files = (e.target as HTMLInputElement).files;\n if (files) {\n Array.from(files).forEach(processFile);\n }\n }\n\n /**\n * Processes a single file.\n *\n * @param {File} file The file descriptor.\n */\n function processFile(file: File): void {\n if (!file) {\n return;\n }\n\n const fileName = file.name;\n if (!fileName) {\n return;\n }\n\n const filename = file.name;\n const contentType = file.type || 'application/octet-stream';\n medplum\n .createBinary(file, filename, contentType)\n .then((binary: Binary) => {\n props.onUpload({\n contentType: binary.contentType,\n url: binary.url,\n title: filename,\n });\n })\n .catch((outcome: OperationOutcome) => {\n alert(outcome?.issue?.[0]?.details?.text);\n });\n }\n\n return (\n <>\n <input\n type=\"file\"\n data-testid=\"upload-file-input\"\n style={{ display: 'none' }}\n ref={fileInputRef}\n onChange={(e) => onFileChange(e)}\n />\n <Button\n testid=\"upload-button\"\n onClick={(e) => {\n killEvent(e);\n fileInputRef.current?.click();\n }}\n >\n {props.children || 'Upload...'}\n </Button>\n </>\n );\n}\n"],"names":[],"mappings":";;;;;AAWM,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAC7B,IAAA,MAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEpD,SAAS,YAAY,CAAC,CAAoB,EAAA;QACxC,SAAS,CAAC,CAAC,CAAC,CAAC;AACb,QAAA,MAAM,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;AACnD,QAAA,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACxC,SAAA;KACF;AAED;;;;AAIG;IACH,SAAS,WAAW,CAAC,IAAU,EAAA;QAC7B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;AACR,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;AACR,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;AAC3B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,0BAA0B,CAAC;QAC5D,OAAO;AACJ,aAAA,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;AACzC,aAAA,IAAI,CAAC,CAAC,MAAc,KAAI;YACvB,KAAK,CAAC,QAAQ,CAAC;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;AACf,gBAAA,KAAK,EAAE,QAAQ;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,OAAyB,KAAI;;AACnC,YAAA,KAAK,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC;AAC5C,SAAC,CAAC,CAAC;KACN;AAED,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACE,QAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,MAAM,EAAA,aAAA,EACC,mBAAmB,EAC/B,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAChC,CAAA;QACF,KAAC,CAAA,aAAA,CAAA,MAAM,EACL,EAAA,MAAM,EAAC,eAAe,EACtB,OAAO,EAAE,CAAC,CAAC,KAAI;;gBACb,SAAS,CAAC,CAAC,CAAC,CAAC;AACb,gBAAA,CAAA,EAAA,GAAA,YAAY,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,EAAE,CAAC;aAC/B,EAAA,EAEA,KAAK,CAAC,QAAQ,IAAI,WAAW,CACvB,CACR,EACH;AACJ;;;;"}
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- declare const _default: Meta<import("@storybook/react").Args>;
4
- export default _default;
5
- export declare const Single: () => JSX.Element;
6
- export declare const Multiple: () => JSX.Element;
7
- export declare const Prefilled: () => JSX.Element;
8
- export declare const HelpText: () => JSX.Element;
9
- export declare const LoadOnFocus: () => JSX.Element;
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- declare const _default: Meta<import("@storybook/react").Args>;
4
- export default _default;
5
- export declare const Primary: () => JSX.Element;
6
- export declare const Secondary: () => JSX.Element;
7
- export declare const Danger: () => JSX.Element;
8
- export declare const Large: () => JSX.Element;
9
- export declare const Small: () => JSX.Element;
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- declare const _default: Meta<import("@storybook/react").Args>;
4
- export default _default;
5
- export declare const Basic: () => JSX.Element;
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- import { HeaderProps } from '../Header';
4
- declare const _default: Meta<import("@storybook/react").Args>;
5
- export default _default;
6
- export declare const Basic: (args: HeaderProps) => JSX.Element;
7
- export declare const CustomColor: (args: HeaderProps) => JSX.Element;
8
- export declare const Search: (args: HeaderProps) => JSX.Element;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- declare const _default: Meta<import("@storybook/react").Args>;
4
- export default _default;
5
- export declare const Basic: () => JSX.Element;
6
- export declare const DefaultValue: () => JSX.Element;
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- declare const _default: Meta<import("@storybook/react").Args>;
4
- export default _default;
5
- export declare const Example: () => JSX.Element;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- declare const _default: Meta<import("@storybook/react").Args>;
4
- export default _default;
5
- export declare const Basic: () => JSX.Element;
6
- export declare const DefaultValue: () => JSX.Element;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { Meta } from '@storybook/react';
3
- declare const _default: Meta<import("@storybook/react").Args>;
4
- export default _default;
5
- export declare const Basic: () => JSX.Element;
6
- export declare const LongStrings: () => JSX.Element;