@medplum/react 0.9.16 → 0.9.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/cjs/defaulttheme.css +9 -7
  2. package/dist/cjs/index.js +2721 -2419
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/index.min.js +1 -1
  5. package/dist/cjs/index.min.js.map +1 -1
  6. package/dist/cjs/styles.css +501 -392
  7. package/dist/esm/defaulttheme.css +9 -7
  8. package/dist/esm/index.js +2724 -2428
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/index.min.js +1 -1
  11. package/dist/esm/index.min.js.map +1 -1
  12. package/dist/esm/styles.css +501 -392
  13. package/dist/types/BackboneElementDisplay.d.ts +2 -4
  14. package/dist/types/BackboneElementInput.d.ts +2 -5
  15. package/dist/types/Checkbox.d.ts +12 -0
  16. package/dist/types/CheckboxFormSection.d.ts +9 -0
  17. package/dist/types/FhirPathDisplay.d.ts +1 -1
  18. package/dist/types/MedplumLink.d.ts +1 -0
  19. package/dist/types/PlanDefinitionBuilder.d.ts +7 -0
  20. package/dist/types/QuestionnaireForm.d.ts +0 -2
  21. package/dist/types/RequestGroupDisplay.d.ts +9 -0
  22. package/dist/types/ResourceArrayDisplay.d.ts +0 -2
  23. package/dist/types/ResourceArrayInput.d.ts +0 -2
  24. package/dist/types/ResourcePropertyDisplay.d.ts +2 -3
  25. package/dist/types/ResourcePropertyInput.d.ts +1 -2
  26. package/dist/types/SearchControl.d.ts +2 -0
  27. package/dist/types/SearchControlField.d.ts +1 -1
  28. package/dist/types/SearchFilterEditor.d.ts +1 -0
  29. package/dist/types/SearchPopupMenu.d.ts +2 -2
  30. package/dist/types/SearchUtils.d.ts +5 -8
  31. package/dist/types/StatusBadge.d.ts +6 -0
  32. package/dist/types/TextArea.d.ts +1 -0
  33. package/dist/types/UploadButton.d.ts +2 -1
  34. package/dist/types/index.d.ts +7 -1
  35. package/dist/types/stories/PlanDefinitionBuilder.stories.d.ts +5 -0
  36. package/dist/types/stories/RequestGroupDisplay.stories.d.ts +5 -0
  37. package/dist/types/stories/SearchControl.stories.d.ts +4 -0
  38. package/dist/types/stories/StatusBadge.stories.d.ts +5 -0
  39. package/dist/types/stories/UploadButton.stories.d.ts +6 -0
  40. package/package.json +19 -19
@@ -1,8 +1,8 @@
1
1
  .medplum-input {
2
2
  border: 0.1px solid var(--medplum-gray-300);
3
- border-radius: 3px;
3
+ border-radius: 2px;
4
4
  background: var(--medplum-surface);
5
- box-shadow: 0 1px 1px 0 var(--medplum-shadow);
5
+ box-shadow: 0 0.5px 0.5px 0 var(--medplum-shadow);
6
6
  color: var(--medplum-gray-800);
7
7
  font-size: var(--medplum-font-normal);
8
8
  height: 34px;
@@ -12,6 +12,10 @@
12
12
  width: 100%;
13
13
  }
14
14
 
15
+ .medplum-input::placeholder {
16
+ color: var(--medplum-gray-600);
17
+ }
18
+
15
19
  .medplum-input:focus {
16
20
  background: var(--medplum-surface);
17
21
  color: var(--medplum-gray-900);
@@ -31,26 +35,6 @@
31
35
  color: red;
32
36
  }
33
37
 
34
- input[type='checkbox'],
35
- input[type='radio'] {
36
- border: 0.1px solid var(--medplum-gray-300);
37
- border-radius: 0;
38
- background: var(--medplum-surface);
39
- margin: 4px;
40
- }
41
-
42
- input[type='checkbox']:focus,
43
- input[type='radio']:focus {
44
- background: var(--medplum-surface);
45
- color: var(--medplum-gray-900);
46
- border: 0.1px solid var(--medplum-blue-300);
47
- }
48
-
49
- input[type='checkbox']:disabled,
50
- input[type='radio']:disabled {
51
- background: var(--medplum-gray-100);
52
- }
53
-
54
38
  .medplum-input-row {
55
39
  display: flex;
56
40
  width: 100%;
@@ -62,7 +46,7 @@ input[type='radio']:disabled {
62
46
  select.medplum-select {
63
47
  background: var(--medplum-surface);
64
48
  padding: 4px 8px;
65
- margin: 1px;
49
+ margin: 1px 1px 1px 0;
66
50
  line-height: 28px;
67
51
  border-radius: 3px;
68
52
  }
@@ -70,7 +54,7 @@ select.medplum-select {
70
54
  select.medplum-select:not([size]) {
71
55
  border: 0.1px solid var(--medplum-gray-300);
72
56
  border-radius: 3px;
73
- box-shadow: 0 1px 1px 0 var(--medplum-shadow);
57
+ box-shadow: 0 0.5px 0.5px 0 var(--medplum-shadow);
74
58
  color: var(--medplum-gray-800);
75
59
  font-size: var(--medplum-font-normal);
76
60
  height: 34px;
@@ -98,14 +82,15 @@ select.medplum-select:disabled {
98
82
  font-size: var(--medplum-font-normal);
99
83
  line-height: 24px;
100
84
  color: var(--medplum-gray-800);
101
- margin: 1px 2px;
85
+ margin: 1px 2px 1px 0;
102
86
  padding: 4px 12px;
103
87
  cursor: pointer;
104
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
88
+ box-shadow: 0 0.5px 0.5px 0 var(--medplum-shadow);
105
89
  }
106
90
 
107
91
  .medplum-button:hover {
108
92
  background: var(--medplum-gray-200);
93
+ text-decoration: none;
109
94
  }
110
95
 
111
96
  .medplum-button:active {
@@ -191,7 +176,7 @@ select.medplum-select:disabled {
191
176
  border: 0.1px solid var(--medplum-gray-300);
192
177
  border-radius: 3px;
193
178
  background: var(--medplum-surface);
194
- box-shadow: 0 1px 1px 0 var(--medplum-shadow);
179
+ box-shadow: 0 0.5px 0.5px 0 var(--medplum-shadow);
195
180
  outline: 2px var(--medplum-surface);
196
181
  position: relative;
197
182
  cursor: text;
@@ -229,10 +214,10 @@ select.medplum-select:disabled {
229
214
 
230
215
  .medplum-autocomplete-container li.medplum-autocomplete-item.choice {
231
216
  margin: 1px 0 1px 4px;
232
- padding: 0 6px;
233
- border: 0.1px solid var(--medplum-orange-200);
217
+ padding: 2px 6px 0 6px;
218
+ border: 0.1px solid var(--medplum-gray-400);
234
219
  border-radius: 4px;
235
- background-color: var(--medplum-gray-50);
220
+ background-color: var(--medplum-gray-200);
236
221
  cursor: move;
237
222
  line-height: 22px;
238
223
  }
@@ -244,7 +229,7 @@ select.medplum-select:disabled {
244
229
  .medplum-autocomplete-container li.medplum-autocomplete-item input {
245
230
  color: var(--medplum-gray-800);
246
231
  display: inline-block;
247
- width: 80px;
232
+ width: 100%;
248
233
  height: 28px;
249
234
  line-height: 26px;
250
235
  padding: 0 0 0 4px;
@@ -375,31 +360,42 @@ select.medplum-select:disabled {
375
360
  text-decoration: none;
376
361
  }
377
362
 
378
- fieldset {
379
- border: 0;
380
- margin: 6px 0 16px 0;
381
- padding: 2px 0 8px 0;
363
+ .medplum-checkbox-form-section {
364
+ display: flex;
365
+ justify-content: space-between;
382
366
  }
383
367
 
384
- fieldset.bordered {
385
- border: 0.1px solid var(--medplum-gray-300);
386
- border-radius: 6px;
387
- margin: 6px 0 16px 0;
388
- padding: 2px 8px 8px 8px;
368
+ .medplum-checkbox-form-section-checkbox-container {
369
+ width: 30px;
389
370
  }
390
371
 
391
- fieldset label,
392
- fieldset legend {
393
- display: block;
394
- margin: 2px 0 4px 0;
395
- font-size: var(--medplum-font-small);
372
+ .medplum-checkbox-form-section-details-container {
373
+ flex: 1;
374
+ width: 100%;
396
375
  }
397
376
 
398
- fieldset small {
377
+ .medplum-checkbox-form-section-details-container > label {
378
+ font-weight: 500;
379
+ }
380
+
381
+ fieldset.medplum-form-section {
382
+ border: 0;
383
+ margin: 6px 0 12px 0;
384
+ padding: 2px 0 8px 0;
385
+ }
386
+
387
+ fieldset.medplum-form-section > label,
388
+ fieldset.medplum-form-section > legend {
399
389
  display: block;
400
- margin: 2px 0 4px 0;
401
- padding: 2px 0 4px 0;
402
- font-size: var(--medplum-font-small);
390
+ margin: 1px 0 3px 0;
391
+ line-height: 1.75;
392
+ font-weight: 500;
393
+ }
394
+
395
+ fieldset.medplum-form-section > p {
396
+ margin: 1px 0 4px 0;
397
+ padding: 1px 0 4px 0;
398
+ line-height: 1.75;
403
399
  }
404
400
 
405
401
  dl.medplum-description-list {
@@ -425,17 +421,41 @@ dl.medplum-description-list.compact dd {
425
421
  border: 0;
426
422
  }
427
423
 
424
+ input[type='checkbox'],
425
+ input[type='radio'] {
426
+ background: var(--medplum-surface);
427
+ padding: 10px;
428
+ margin: 4px;
429
+ transform: scale(1.25);
430
+ }
431
+
432
+ input[type='checkbox']:focus,
433
+ input[type='radio']:focus {
434
+ color: var(--medplum-gray-900);
435
+ border: 0.1px solid var(--medplum-blue-300);
436
+ }
437
+
438
+ input[type='checkbox']:disabled,
439
+ input[type='radio']:disabled {
440
+ background: var(--medplum-gray-100);
441
+ }
442
+
428
443
  .medplum-textarea {
429
444
  background: var(--medplum-surface);
430
445
  border: 0.1px solid var(--medplum-gray-300);
431
446
  border-radius: 3px;
432
- box-shadow: 0 1px 1px 0 var(--medplum-shadow);
447
+ box-shadow: 0 0.5px 0.5px 0 var(--medplum-shadow);
433
448
  color: var(--medplum-foreground);
434
449
  line-height: 18px;
435
- padding: 2px 4px;
450
+ padding: 8px 12px;
436
451
  margin: 0;
437
452
  }
438
453
 
454
+ .medplum-textarea.monospace {
455
+ font-family: var(--medplum-monospace-font-family);
456
+ padding: 2px 4px;
457
+ }
458
+
439
459
  .medplum-textarea:focus {
440
460
  background: var(--medplum-surface);
441
461
  color: var(--medplum-gray-900);
@@ -772,147 +792,383 @@ table.medplum-diff-table td {
772
792
  }
773
793
 
774
794
  .medplum-document textarea {
775
- line-height: 18px;
776
795
  margin: 0;
777
- min-height: 300px;
778
- padding: 2px 4px;
796
+ min-height: 100px;
779
797
  width: 100%;
780
798
  }
781
799
 
782
- .medplum-footer {
783
- text-align: center;
784
- font-size: 12px;
800
+ .modal-dialog {
801
+ background: var(--medplum-gray-600);
802
+ border: 0.1px solid var(--medplum-gray-700);
803
+ color: var(--medplum-foreground);
804
+ padding: 0;
805
+ position: absolute;
806
+ z-index: 21;
807
+ box-shadow: var(--medplum-shadow) 0 2px 6px;
808
+ outline: 0;
785
809
  }
786
810
 
787
- .medplum-footer a {
788
- color: var(--medplum-gray-500);
789
- margin: 0 8px;
811
+ .modal-dialog a,
812
+ .modal-dialog a:link,
813
+ .modal-dialog a:visited {
814
+ color: var(--medplum-blue-800);
815
+ cursor: pointer;
790
816
  }
791
817
 
792
- header {
793
- min-height: 50px;
794
- line-height: 24px;
795
- margin: 0 0 2px 0;
796
- padding: 8px;
797
- display: flex;
798
- align-items: center;
799
- justify-content: space-between;
800
- background-color: var(--medplum-navbar);
801
- box-shadow: 0 1px 2px 0 var(--medplum-shadow);
802
- color: white;
818
+ .modal-dialog-bg {
819
+ background: rgba(0, 0, 0, 0.5);
820
+ left: 0;
821
+ position: absolute;
822
+ top: 0;
823
+ right: 0;
824
+ bottom: 0;
825
+ z-index: 20;
803
826
  }
804
827
 
805
- header > div {
828
+ .modal-dialog-title {
829
+ background: var(--medplum-gray-800);
830
+ color: var(--medplum-surface);
831
+ cursor: pointer;
832
+ padding: 6px;
806
833
  display: flex;
807
- align-items: center;
808
834
  justify-content: space-between;
809
- padding: 0 8px 0 4px;
810
835
  }
811
836
 
812
- header svg {
813
- margin-right: 8px;
837
+ .modal-dialog-title-close {
838
+ cursor: pointer;
839
+ vertical-align: middle;
814
840
  }
815
841
 
816
- header a {
817
- text-decoration: none;
818
- padding: 0 8px 0 4px;
819
- color: white;
820
- font-weight: bold;
842
+ .modal-dialog-title-close:hover {
843
+ background-color: var(--medplum-gray-700);
821
844
  }
822
845
 
823
- header a:hover {
824
- text-decoration: none;
846
+ .modal-dialog-title-close > svg {
847
+ width: 20px;
848
+ height: 20px;
825
849
  }
826
850
 
827
- header a:focus {
828
- outline: none;
851
+ .modal-dialog-content {
852
+ text-align: center;
853
+ background-color: var(--medplum-surface);
854
+ padding: 8px;
829
855
  }
830
856
 
831
- .medplum-nav-search-container {
832
- border: 0;
833
- border-radius: 3px;
834
- background-color: var(--medplum-navbar-textbox);
835
- box-shadow: none;
836
- position: relative;
837
- margin: 0;
838
- cursor: text;
839
- height: 32px;
840
- width: 250px;
841
- line-height: 28px;
842
- margin-left: 32px;
857
+ .modal-dialog-buttons {
858
+ text-align: right;
859
+ background-color: var(--medplum-gray-100);
860
+ border-top: 1px solid var(--medplum-gray-400);
861
+ padding: 8px;
843
862
  }
844
863
 
845
- @media (max-width: 700px) {
846
- #medplum-header-logo {
847
- display: none;
848
- }
864
+ .modal-dialog-buttons button {
865
+ padding: 1px 6px;
866
+ }
849
867
 
850
- .medplum-nav-search-container {
851
- width: 200px;
852
- margin-left: 16px;
853
- }
868
+ .medplum-filter-editor {
869
+ text-align: left;
870
+ width: 900px;
871
+ max-width: 900px;
854
872
  }
855
873
 
856
- .medplum-nav-search-container.focused {
857
- background: var(--medplum-surface);
858
- color: var(--medplum-gray-900);
859
- border: 0.1px solid var(--medplum-blue-300);
860
- box-shadow: 0 0 0 2px var(--medplum-blue-200);
874
+ .medplum-filter-editor-table {
875
+ width: 100%;
876
+ border-collapse: collapse;
861
877
  }
862
878
 
863
- .medplum-nav-search-container > ul {
864
- margin: 0;
879
+ .medplum-menu-separator {
880
+ border-top: 0.1px solid var(--medplum-gray-400);
881
+ margin: 4px 0;
865
882
  padding: 0;
866
- list-style-type: none;
867
- overflow: hidden;
868
- cursor: text;
869
- height: 32px;
870
883
  }
871
884
 
872
- .medplum-nav-search-container > ul > li {
873
- margin: 0;
874
- padding: 0;
875
- display: inline-block;
876
- list-style: none;
877
- white-space: nowrap;
885
+ .medplum-submenu-arrow {
886
+ color: var(--medplum-foreground);
887
+ left: auto;
888
+ padding-right: 6px;
889
+ position: absolute;
890
+ right: 0;
891
+ text-align: right;
878
892
  user-select: none;
879
893
  }
880
894
 
881
- .medplum-nav-search-container > ul > li.choice {
882
- margin: 1px 0 1px 4px;
883
- padding: 0 6px;
884
- border: 0.1px solid var(--medplum-orange-200);
885
- border-radius: 4px;
886
- background-color: var(--medplum-gray-50);
887
- cursor: move;
888
- line-height: 22px;
895
+ .medplum-title-bar {
896
+ display: flex;
897
+ width: 100%;
898
+ height: 50px;
899
+ padding: 15px;
900
+ justify-content: space-between;
901
+ background: var(--medplum-surface);
902
+ border-bottom: 2px solid var(--medplum-gray-200);
889
903
  color: var(--medplum-gray-800);
890
904
  }
891
905
 
892
- .medplum-nav-search-container > ul > li.unstructured {
893
- border: 0.1px dashed var(--medplum-red-700) !important;
906
+ .medplum-title-bar > div {
907
+ display: flex;
908
+ align-items: center;
894
909
  }
895
910
 
896
- .medplum-nav-search-container > ul > li > input {
897
- display: inline-block;
898
- width: 80px;
899
- line-height: 26px;
900
- padding: 0 0 0 6px;
901
- margin: 2px 0 0 2px;
902
- outline: none;
903
- border: none;
904
- box-shadow: none;
905
- background: transparent;
906
- height: 28px;
907
- color: var(--medplum-navbar-placeholder);
911
+ .medplum-title-bar h1 {
912
+ font-size: 14px;
913
+ font-weight: bold;
914
+ padding: 0 4px 0 1px;
915
+ margin: 0 4px 0 1px;
916
+ color: var(--medplum-gray-800);
908
917
  }
909
918
 
910
- .medplum-nav-search-container > ul > li > input::placeholder {
911
- color: var(--medplum-navbar-placeholder);
919
+ .medplum-search-control {
920
+ max-width: 100%;
921
+ overflow: auto;
922
+ text-align: left;
923
+ margin-bottom: 20px;
924
+ background: var(--medplum-surface);
912
925
  }
913
926
 
914
- .medplum-nav-search-container.focused > ul > li > input::placeholder {
915
- color: var(--medplum-gray-500);
927
+ .medplum-search-control .medplum-search-summary {
928
+ line-height: 28px;
929
+ padding: 2px 6px;
930
+ font-size: 12px;
931
+ white-space: nowrap;
932
+ }
933
+
934
+ /*
935
+ * Table styles
936
+ */
937
+
938
+ .medplum-search-control > table {
939
+ width: 100%;
940
+ clear: both;
941
+ border-top: 0.1px solid var(--medplum-gray-300);
942
+ border-collapse: collapse;
943
+ }
944
+
945
+ .medplum-search-control > table tr {
946
+ border-bottom: 0.1px solid var(--medplum-gray-300);
947
+ }
948
+
949
+ .medplum-search-control > table td,
950
+ .medplum-search-control > table th {
951
+ padding: 7px 10px;
952
+ cursor: pointer;
953
+ }
954
+
955
+ .medplum-search-control > table td.c {
956
+ text-align: center;
957
+ }
958
+
959
+ .medplum-search-control > table td.r {
960
+ text-align: right;
961
+ }
962
+
963
+ /* Header cells */
964
+
965
+ .medplum-search-control > table thead th {
966
+ text-align: left;
967
+ background-color: var(--medplum-blue-50);
968
+ white-space: nowrap;
969
+ color: var(--medplum-gray-700);
970
+ border: 0.1px solid var(--medplum-gray-300);
971
+ position: relative;
972
+ }
973
+
974
+ .medplum-search-control > table thead th:hover {
975
+ background-color: var(--medplum-blue-200);
976
+ }
977
+
978
+ .medplum-search-control > table thead th.filters {
979
+ background-color: var(--medplum-gray-100);
980
+ text-align: center;
981
+ color: var(--medplum-gray-600);
982
+ }
983
+
984
+ .medplum-search-control > table thead th svg {
985
+ position: absolute;
986
+ top: 2px;
987
+ right: 2px;
988
+ width: 14px;
989
+ height: 14px;
990
+ }
991
+
992
+ /* Body cells */
993
+
994
+ .medplum-search-control > table tbody tr {
995
+ background-color: var(--medplum-surface);
996
+ }
997
+
998
+ .medplum-search-control > table tbody tr.high-priority {
999
+ background-color: var(--medplum-gray-300);
1000
+ }
1001
+
1002
+ .medplum-search-control > table tbody tr.duplicate {
1003
+ background-color: var(--medplum-gray-100);
1004
+ }
1005
+
1006
+ .medplum-search-control > table tbody tr:hover {
1007
+ background-color: var(--medplum-yellow-100);
1008
+ }
1009
+
1010
+ .medplum-search-control > table tbody td {
1011
+ color: var(--medplum-gray-800);
1012
+ border-right: 0.1px solid var(--medplum-gray-100);
1013
+ }
1014
+
1015
+ .medplum-search-control .medplum-empty-search {
1016
+ background: var(--medplum-gray-100);
1017
+ border: 0.1px solid var(--medplum-gray-300);
1018
+ color: var(--medplum-gray-500);
1019
+ text-align: center;
1020
+ padding: 40px;
1021
+ font-size: var(--medplum-font-big);
1022
+ }
1023
+
1024
+ .medplum-search-icon-cell {
1025
+ padding: 0 !important;
1026
+ text-align: center !important;
1027
+ width: 32px !important;
1028
+ min-width: 32px !important;
1029
+ max-width: 32px !important;
1030
+ }
1031
+
1032
+ .medplum-search-icon-cell input[type='checkbox'] {
1033
+ margin: 0;
1034
+ padding: 0;
1035
+ outline: 0;
1036
+ }
1037
+
1038
+ .medplum-footer {
1039
+ text-align: center;
1040
+ font-size: 12px;
1041
+ }
1042
+
1043
+ .medplum-footer a {
1044
+ color: var(--medplum-gray-500);
1045
+ margin: 0 8px;
1046
+ }
1047
+
1048
+ header {
1049
+ min-height: 50px;
1050
+ line-height: 24px;
1051
+ margin: 0 0 2px 0;
1052
+ padding: 8px;
1053
+ display: flex;
1054
+ align-items: center;
1055
+ justify-content: space-between;
1056
+ background-color: var(--medplum-navbar);
1057
+ box-shadow: 0 1px 2px 0 var(--medplum-shadow);
1058
+ color: white;
1059
+ }
1060
+
1061
+ header > div {
1062
+ display: flex;
1063
+ align-items: center;
1064
+ justify-content: space-between;
1065
+ padding: 0 8px 0 4px;
1066
+ }
1067
+
1068
+ header svg {
1069
+ margin-right: 8px;
1070
+ }
1071
+
1072
+ header a {
1073
+ text-decoration: none;
1074
+ padding: 0 8px 0 4px;
1075
+ color: white;
1076
+ font-weight: bold;
1077
+ }
1078
+
1079
+ header a:hover {
1080
+ text-decoration: none;
1081
+ }
1082
+
1083
+ header a:focus {
1084
+ outline: none;
1085
+ }
1086
+
1087
+ .medplum-nav-search-container {
1088
+ border: 0;
1089
+ border-radius: 3px;
1090
+ background-color: var(--medplum-navbar-textbox);
1091
+ box-shadow: none;
1092
+ position: relative;
1093
+ margin: 0;
1094
+ cursor: text;
1095
+ height: 32px;
1096
+ width: 250px;
1097
+ line-height: 28px;
1098
+ margin-left: 32px;
1099
+ }
1100
+
1101
+ @media (max-width: 700px) {
1102
+ #medplum-header-logo {
1103
+ display: none;
1104
+ }
1105
+
1106
+ .medplum-nav-search-container {
1107
+ width: 200px;
1108
+ margin-left: 16px;
1109
+ }
1110
+ }
1111
+
1112
+ .medplum-nav-search-container.focused {
1113
+ background: var(--medplum-surface);
1114
+ color: var(--medplum-gray-900);
1115
+ border: 0.1px solid var(--medplum-blue-300);
1116
+ box-shadow: 0 0 0 2px var(--medplum-blue-200);
1117
+ }
1118
+
1119
+ .medplum-nav-search-container > ul {
1120
+ margin: 0;
1121
+ padding: 0;
1122
+ list-style-type: none;
1123
+ overflow: hidden;
1124
+ cursor: text;
1125
+ height: 32px;
1126
+ }
1127
+
1128
+ .medplum-nav-search-container > ul > li {
1129
+ margin: 0;
1130
+ padding: 0;
1131
+ display: inline-block;
1132
+ list-style: none;
1133
+ white-space: nowrap;
1134
+ user-select: none;
1135
+ }
1136
+
1137
+ .medplum-nav-search-container > ul > li.choice {
1138
+ margin: 1px 0 1px 4px;
1139
+ padding: 2px 6px 0 6px;
1140
+ border: 0.1px solid var(--medplum-orange-200);
1141
+ border-radius: 4px;
1142
+ background-color: var(--medplum-gray-50);
1143
+ cursor: move;
1144
+ line-height: 22px;
1145
+ color: var(--medplum-gray-800);
1146
+ }
1147
+
1148
+ .medplum-nav-search-container > ul > li.unstructured {
1149
+ border: 0.1px dashed var(--medplum-red-700) !important;
1150
+ }
1151
+
1152
+ .medplum-nav-search-container > ul > li > input {
1153
+ display: inline-block;
1154
+ width: 100%;
1155
+ line-height: 26px;
1156
+ padding: 0 0 0 6px;
1157
+ margin: 2px 0 0 2px;
1158
+ outline: none;
1159
+ border: none;
1160
+ box-shadow: none;
1161
+ background: transparent;
1162
+ height: 28px;
1163
+ color: var(--medplum-navbar-placeholder);
1164
+ }
1165
+
1166
+ .medplum-nav-search-container > ul > li > input::placeholder {
1167
+ color: var(--medplum-navbar-placeholder);
1168
+ }
1169
+
1170
+ .medplum-nav-search-container.focused > ul > li > input::placeholder {
1171
+ color: var(--medplum-gray-500);
916
1172
  }
917
1173
 
918
1174
  .medplum-nav-search-container > ul > li > input::-moz-focus-inner {
@@ -1087,7 +1343,7 @@ div.medplum-nav-menu-container {
1087
1343
  }
1088
1344
 
1089
1345
  .medplum-questionnaire-builder .section > .top-actions {
1090
- top: 0;
1346
+ top: 1px;
1091
1347
  padding: 4px;
1092
1348
  color: var(--medplum-gray-500);
1093
1349
  }
@@ -1099,7 +1355,7 @@ div.medplum-nav-menu-container {
1099
1355
  .medplum-questionnaire-builder .section > .top-actions,
1100
1356
  .medplum-questionnaire-builder .section > .bottom-actions {
1101
1357
  position: absolute;
1102
- right: 0;
1358
+ right: 4px;
1103
1359
  }
1104
1360
 
1105
1361
  .medplum-questionnaire-builder .section > .top-actions a,
@@ -1114,292 +1370,145 @@ div.medplum-nav-menu-container {
1114
1370
  color: var(--medplum-blue-500);
1115
1371
  }
1116
1372
 
1117
- .medplum-blame-container {
1118
- overflow-x: auto;
1373
+ .medplum-status {
1374
+ padding: 1px 6px;
1375
+ font-size: 80%;
1376
+ line-height: 1;
1377
+ text-align: center;
1378
+ white-space: nowrap;
1379
+ vertical-align: baseline;
1380
+ border-radius: 8px;
1119
1381
  }
1120
1382
 
1121
- .medplum-blame {
1122
- border: 0.1px solid var(--medplum-gray-100);
1123
- border-collapse: collapse;
1124
- border-radius: 4px;
1125
- border-spacing: 0;
1126
- width: 100%;
1127
- }
1383
+ /*
1384
+ * Request status: https://hl7.org/fhir/valueset-request-status.html
1385
+ * draft, active, on-hold, revoked, completed, entered-in-error, unknown
1386
+ *
1387
+ * Publication status: https://hl7.org/fhir/valueset-publication-status.html
1388
+ * draft, active, retired, unknown
1389
+ *
1390
+ * Observation status: https://www.hl7.org/fhir/valueset-observation-status.html
1391
+ * registered, preliminary, final, amended, cancelled, entered-in-error, unknown
1392
+ *
1393
+ * DiagnosticReport status: https://hl7.org/fhir/valueset-diagnostic-report-status.html
1394
+ * registered, preliminary, final, amended, corrected, appended, cancelled, entered-in-error, unknown
1395
+ *
1396
+ * Task status: https://hl7.org/fhir/valueset-task-status.html
1397
+ * draft, requested, received, accepted, rejected, ready, cancelled, in-progress, on-hold, failed, completed, entered-in-error
1398
+ */
1128
1399
 
1129
- .medplum-blame .start-row {
1130
- border-top: 0.1px solid var(--medplum-gray-100);
1131
- }
1132
-
1133
- .medplum-blame .normal-row {
1134
- border-top: 0;
1135
- }
1136
-
1137
- .medplum-blame .details {
1138
- border-right: 0.1px solid var(--medplum-gray-100);
1139
- padding: 4px;
1140
- font-size: 10px;
1141
- line-height: 10px;
1142
- vertical-align: top;
1400
+ .medplum-status-active,
1401
+ .medplum-status-draft,
1402
+ .medplum-status-preliminary,
1403
+ .medplum-status-registered,
1404
+ .medplum-status-requested {
1405
+ background-color: var(--medplum-blue-50);
1406
+ border: 0.01px solid var(--medplum-blue-300);
1407
+ color: var(--medplum-blue-800);
1143
1408
  }
1144
1409
 
1145
- .medplum-blame .line-number {
1146
- background-color: var(--medplum-gray-50);
1147
- border: 0;
1148
- color: var(--medplum-gray-500);
1149
- font-family: monospace;
1150
- padding: 4px 8px;
1151
- text-align: right;
1410
+ .medplum-status-on-hold {
1411
+ background-color: var(--medplum-orange-50);
1412
+ border: 0.01px solid var(--medplum-orange-300);
1413
+ color: var(--medplum-orange-800);
1152
1414
  }
1153
1415
 
1154
- .medplum-blame .line {
1155
- font-family: monospace;
1156
- padding: 4px 8px;
1416
+ .medplum-status-completed {
1417
+ background-color: var(--medplum-green-50);
1418
+ border: 0.01px solid var(--medplum-green-300);
1419
+ color: var(--medplum-green-800);
1157
1420
  }
1158
1421
 
1159
- .medplum-blame .line-pre {
1160
- margin: 0;
1422
+ .medplum-status-cancelled,
1423
+ .medplum-status-rejected,
1424
+ .medplum-status-revoked,
1425
+ .medplum-status-entered-in-error {
1426
+ background-color: var(--medplum-red-50);
1427
+ border: 0.01px solid var(--medplum-red-300);
1428
+ color: var(--medplum-red-800);
1161
1429
  }
1162
1430
 
1163
- .medplum-search-control {
1164
- max-width: 100%;
1165
- overflow: auto;
1166
- text-align: left;
1167
- margin-bottom: 20px;
1168
- background: var(--medplum-surface);
1431
+ .medplum-status-unknown {
1432
+ background-color: var(--medplum-gray-50);
1433
+ border: 0.01px solid var(--medplum-gray-500);
1434
+ color: var(--medplum-gray-800);
1169
1435
  }
1170
1436
 
1171
- .medplum-search-control .medplum-search-summary {
1172
- line-height: 28px;
1173
- padding: 2px 6px;
1174
- font-size: 12px;
1175
- white-space: nowrap;
1437
+ .medplum-request-group {
1438
+ padding: 4px;
1176
1439
  }
1177
1440
 
1178
- /*
1179
- * Table styles
1180
- */
1181
-
1182
- .medplum-search-control > table {
1441
+ .medplum-request-group-task {
1442
+ display: flex;
1443
+ flex-direction: row;
1183
1444
  width: 100%;
1184
- clear: both;
1185
- border-top: 0.1px solid var(--medplum-gray-300);
1186
- border-collapse: collapse;
1187
- }
1188
-
1189
- .medplum-search-control > table tr {
1190
- border-bottom: 0.1px solid var(--medplum-gray-300);
1191
- }
1192
-
1193
- .medplum-search-control > table td,
1194
- .medplum-search-control > table th {
1195
- padding: 7px 10px;
1196
- cursor: pointer;
1197
- }
1198
-
1199
- .medplum-search-control > table td.c {
1200
- text-align: center;
1201
- }
1202
-
1203
- .medplum-search-control > table td.r {
1204
- text-align: right;
1445
+ margin-bottom: 16px;
1205
1446
  }
1206
1447
 
1207
- /* Header cells */
1208
-
1209
- .medplum-search-control > table thead th {
1210
- text-align: left;
1211
- background-color: var(--medplum-blue-50);
1212
- white-space: nowrap;
1448
+ .medplum-request-group-task-checkmark {
1213
1449
  color: var(--medplum-gray-700);
1214
- border: 0.1px solid var(--medplum-gray-300);
1215
- position: relative;
1450
+ font-size: 24px;
1451
+ width: 40px;
1216
1452
  }
1217
1453
 
1218
- .medplum-search-control > table thead th:hover {
1219
- background-color: var(--medplum-blue-200);
1454
+ .medplum-request-group-task-details {
1455
+ flex: 1;
1456
+ line-height: 1.75;
1220
1457
  }
1221
1458
 
1222
- .medplum-search-control > table thead th.filters {
1223
- background-color: var(--medplum-gray-100);
1224
- text-align: center;
1225
- color: var(--medplum-gray-600);
1459
+ .medplum-request-group-task-title {
1460
+ font-size: 14px;
1461
+ font-weight: bold;
1226
1462
  }
1227
1463
 
1228
- .medplum-search-control > table thead th svg {
1229
- position: absolute;
1230
- top: 2px;
1231
- right: 2px;
1232
- width: 14px;
1233
- height: 14px;
1464
+ .medplum-request-grou-task-actions {
1465
+ width: 100px;
1234
1466
  }
1235
1467
 
1236
- /* Body cells */
1237
-
1238
- .medplum-search-control > table tbody tr {
1239
- background-color: var(--medplum-surface);
1468
+ .medplum-blame-container {
1469
+ overflow-x: auto;
1240
1470
  }
1241
1471
 
1242
- .medplum-search-control > table tbody tr.high-priority {
1243
- background-color: var(--medplum-gray-300);
1472
+ .medplum-blame {
1473
+ border: 0.1px solid var(--medplum-gray-100);
1474
+ border-collapse: collapse;
1475
+ border-radius: 4px;
1476
+ border-spacing: 0;
1477
+ width: 100%;
1244
1478
  }
1245
1479
 
1246
- .medplum-search-control > table tbody tr.duplicate {
1247
- background-color: var(--medplum-gray-100);
1480
+ .medplum-blame .start-row {
1481
+ border-top: 0.1px solid var(--medplum-gray-100);
1248
1482
  }
1249
1483
 
1250
- .medplum-search-control > table tbody tr:hover {
1251
- background-color: var(--medplum-yellow-100);
1484
+ .medplum-blame .normal-row {
1485
+ border-top: 0;
1252
1486
  }
1253
1487
 
1254
- .medplum-search-control > table tbody td {
1255
- color: var(--medplum-gray-800);
1488
+ .medplum-blame .details {
1256
1489
  border-right: 0.1px solid var(--medplum-gray-100);
1490
+ padding: 4px;
1491
+ font-size: 10px;
1492
+ line-height: 10px;
1493
+ vertical-align: top;
1257
1494
  }
1258
1495
 
1259
- .medplum-search-control .medplum-empty-search {
1260
- background: var(--medplum-gray-100);
1261
- border: 0.1px solid var(--medplum-gray-300);
1496
+ .medplum-blame .line-number {
1497
+ background-color: var(--medplum-gray-50);
1498
+ border: 0;
1262
1499
  color: var(--medplum-gray-500);
1263
- text-align: center;
1264
- padding: 40px;
1265
- font-size: var(--medplum-font-big);
1266
- }
1267
-
1268
- .medplum-search-icon-cell {
1269
- padding: 0 !important;
1270
- text-align: center !important;
1271
- width: 32px !important;
1272
- min-width: 32px !important;
1273
- max-width: 32px !important;
1274
- }
1275
-
1276
- .medplum-search-icon-cell input[type='checkbox'] {
1277
- margin: 0;
1278
- padding: 0;
1279
- border: 0.1px solid var(--medplum-gray-600);
1280
- outline: 0;
1281
- }
1282
-
1283
- /*
1284
- * Filter editor
1285
- */
1286
-
1287
- .medplum-filter-editor {
1288
- text-align: left;
1289
- min-width: 800px;
1290
- }
1291
-
1292
- .medplum-filter-editor-table {
1293
- width: 100%;
1294
- border-collapse: collapse;
1295
- }
1296
-
1297
- .modal-dialog {
1298
- background: var(--medplum-gray-600);
1299
- border: 0.1px solid var(--medplum-gray-700);
1300
- color: var(--medplum-foreground);
1301
- padding: 0;
1302
- position: absolute;
1303
- z-index: 21;
1304
- box-shadow: var(--medplum-shadow) 0 2px 6px;
1305
- outline: 0;
1306
- }
1307
-
1308
- .modal-dialog a,
1309
- .modal-dialog a:link,
1310
- .modal-dialog a:visited {
1311
- color: var(--medplum-blue-800);
1312
- cursor: pointer;
1313
- }
1314
-
1315
- .modal-dialog-bg {
1316
- background: rgba(0, 0, 0, 0.5);
1317
- left: 0;
1318
- position: absolute;
1319
- top: 0;
1320
- right: 0;
1321
- bottom: 0;
1322
- z-index: 20;
1323
- }
1324
-
1325
- .modal-dialog-title {
1326
- background: var(--medplum-gray-800);
1327
- color: var(--medplum-surface);
1328
- cursor: pointer;
1329
- padding: 6px;
1330
- display: flex;
1331
- justify-content: space-between;
1332
- }
1333
-
1334
- .modal-dialog-title-close {
1335
- cursor: pointer;
1336
- vertical-align: middle;
1337
- }
1338
-
1339
- .modal-dialog-title-close:hover {
1340
- background-color: var(--medplum-gray-700);
1341
- }
1342
-
1343
- .modal-dialog-title-close > svg {
1344
- width: 20px;
1345
- height: 20px;
1346
- }
1347
-
1348
- .modal-dialog-content {
1349
- text-align: center;
1350
- background-color: var(--medplum-surface);
1351
- padding: 8px;
1352
- }
1353
-
1354
- .modal-dialog-buttons {
1355
- text-align: right;
1356
- background-color: var(--medplum-gray-100);
1357
- border-top: 1px solid var(--medplum-gray-400);
1358
- padding: 8px;
1359
- }
1360
-
1361
- .modal-dialog-buttons button {
1362
- padding: 1px 6px;
1363
- }
1364
-
1365
- .medplum-menu-separator {
1366
- border-top: 0.1px solid var(--medplum-gray-400);
1367
- margin: 4px 0;
1368
- padding: 0;
1369
- }
1370
-
1371
- .medplum-submenu-arrow {
1372
- color: var(--medplum-foreground);
1373
- left: auto;
1374
- padding-right: 6px;
1375
- position: absolute;
1376
- right: 0;
1500
+ font-family: monospace;
1501
+ padding: 4px 8px;
1377
1502
  text-align: right;
1378
- user-select: none;
1379
1503
  }
1380
1504
 
1381
- .medplum-title-bar {
1382
- display: flex;
1383
- width: 100%;
1384
- height: 50px;
1385
- padding: 15px;
1386
- justify-content: space-between;
1387
- background: var(--medplum-surface);
1388
- border-bottom: 2px solid var(--medplum-gray-200);
1389
- color: var(--medplum-gray-800);
1390
- }
1391
-
1392
- .medplum-title-bar > div {
1393
- display: flex;
1394
- align-items: center;
1505
+ .medplum-blame .line {
1506
+ font-family: monospace;
1507
+ padding: 4px 8px;
1395
1508
  }
1396
1509
 
1397
- .medplum-title-bar h1 {
1398
- font-size: 14px;
1399
- font-weight: bold;
1400
- padding: 0 4px 0 1px;
1401
- margin: 0 4px 0 1px;
1402
- color: var(--medplum-gray-800);
1510
+ .medplum-blame .line-pre {
1511
+ margin: 0;
1403
1512
  }
1404
1513
 
1405
1514
  .medplum-signin {