@ampath/esm-reports-app 1.0.0-next.7 → 1.0.0-next.71

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 (258) hide show
  1. package/dist/197.js +1 -1
  2. package/dist/282.js +1 -1
  3. package/dist/282.js.map +1 -1
  4. package/dist/295.css +1 -0
  5. package/dist/295.css.map +1 -0
  6. package/dist/295.js +1 -0
  7. package/dist/295.js.map +1 -0
  8. package/dist/299.js +2 -0
  9. package/dist/299.js.LICENSE.txt +3 -0
  10. package/dist/299.js.map +1 -0
  11. package/dist/300.js +1 -1
  12. package/dist/311.js +1 -1
  13. package/dist/311.js.map +1 -1
  14. package/dist/335.js +1 -1
  15. package/dist/353.js +1 -1
  16. package/dist/353.js.map +1 -1
  17. package/dist/354.js +2 -0
  18. package/dist/354.js.LICENSE.txt +20 -0
  19. package/dist/354.js.map +1 -0
  20. package/dist/410.js +1 -0
  21. package/dist/410.js.map +1 -0
  22. package/dist/457.js +2 -0
  23. package/dist/457.js.LICENSE.txt +261 -0
  24. package/dist/457.js.map +1 -0
  25. package/dist/478.js +1 -1
  26. package/dist/478.js.map +1 -1
  27. package/dist/480.js +1 -0
  28. package/dist/540.js +1 -1
  29. package/dist/540.js.map +1 -1
  30. package/dist/55.js +1 -1
  31. package/dist/580.js +1 -0
  32. package/dist/580.js.map +1 -0
  33. package/dist/600.js +2 -0
  34. package/dist/600.js.LICENSE.txt +35 -0
  35. package/dist/600.js.map +1 -0
  36. package/dist/652.js +1 -1
  37. package/dist/781.js +1 -0
  38. package/dist/781.js.map +1 -0
  39. package/dist/919.css +1 -0
  40. package/dist/919.css.map +1 -0
  41. package/dist/919.js +1 -0
  42. package/dist/919.js.map +1 -0
  43. package/dist/961.js +1 -1
  44. package/dist/961.js.map +1 -1
  45. package/dist/99.js +1 -1
  46. package/dist/99.js.map +1 -0
  47. package/dist/ampath-esm-reports-app.js +1 -1
  48. package/dist/ampath-esm-reports-app.js.map +1 -1
  49. package/dist/routes.json +1 -1
  50. package/package.json +4 -2
  51. package/src/common/daily-summary-table.tsx +55 -0
  52. package/src/common/linelist-table/index.ts +3 -0
  53. package/src/common/linelist-table/linelist-columns.ts +48 -0
  54. package/src/common/linelist-table/linelist-table.component.tsx +442 -0
  55. package/src/common/linelist-table/linelist-table.scss +306 -0
  56. package/src/common/linelist-table/linelist-table.test.tsx +120 -0
  57. package/src/common/linelist-table/use-all-rows.ts +93 -0
  58. package/src/common/linelist-table/use-column-layout.ts +123 -0
  59. package/src/common/report-error/index.ts +1 -0
  60. package/src/common/report-error/show-report-error.ts +25 -0
  61. package/src/common/report-filters/date-range.ts +137 -0
  62. package/src/common/report-filters/index.ts +4 -0
  63. package/src/common/report-filters/report-filters.component.tsx +317 -99
  64. package/src/common/report-filters/report-filters.scss +255 -32
  65. package/src/common/report-filters/types.ts +79 -0
  66. package/src/common/report-filters/use-restore-period.ts +43 -0
  67. package/src/common/report-header/index.ts +1 -0
  68. package/src/common/report-header/use-location-details.ts +58 -0
  69. package/src/common/report-page/download-sheet-pdf.ts +59 -0
  70. package/src/common/report-page/index.ts +3 -0
  71. package/src/common/report-page/report-page.component.tsx +32 -0
  72. package/src/common/report-page/report-page.scss +45 -0
  73. package/src/common/report-page/use-page-scale.ts +60 -0
  74. package/src/common/report-placeholder/has-report-data.ts +15 -0
  75. package/src/common/report-placeholder/index.ts +3 -0
  76. package/src/common/report-placeholder/report-placeholder.component.tsx +81 -0
  77. package/src/common/report-placeholder/report-placeholder.scss +48 -0
  78. package/src/common/report-placeholder/use-generated-location.ts +62 -0
  79. package/src/common/report-register/index.ts +6 -0
  80. package/src/common/report-register/register-columns.ts +46 -0
  81. package/src/common/report-register/register-layout.component.tsx +265 -0
  82. package/src/common/report-register/register-layout.scss +150 -0
  83. package/src/common/report-register/register-table.scss +71 -0
  84. package/src/common/report-register/report-parents.ts +27 -0
  85. package/src/common/report-register/rows-to-csv.ts +89 -0
  86. package/src/common/report-register/use-location-name.ts +54 -0
  87. package/src/common/report-register/use-patient-list.ts +92 -0
  88. package/src/common/report-skeleton/index.ts +1 -0
  89. package/src/common/report-skeleton/report-skeleton.component.tsx +46 -0
  90. package/src/common/report-skeleton/report-skeleton.scss +29 -0
  91. package/src/config-schema.ts +9 -1
  92. package/src/dashboard/report-catalog.ts +173 -0
  93. package/src/dashboard/reports-dasboard.tsx +189 -18
  94. package/src/dashboard/reports-dashboard.module.scss +357 -14
  95. package/src/index.ts +13 -1
  96. package/src/registers/moh-240/moh-240-register.scss +41 -0
  97. package/src/registers/moh-240/moh-240.component.test.tsx +166 -0
  98. package/src/registers/moh-240/moh-240.component.tsx +164 -0
  99. package/src/registers/moh-362/moh-362-lab-register.component.tsx +392 -0
  100. package/src/registers/moh-362/moh-362-linkage-register.component.tsx +120 -0
  101. package/src/registers/moh-362/moh-362-register.scss +222 -0
  102. package/src/registers/moh-362/moh-362.component.tsx +99 -0
  103. package/src/registers/moh-362/moh-362.scss +11 -0
  104. package/src/registers/moh-362/moh-362.types.ts +97 -0
  105. package/src/registers/register-catalog.ts +96 -0
  106. package/src/registers/tb-lab-register/tb-lab-register-table.component.tsx +116 -0
  107. package/src/registers/tb-lab-register/tb-lab-register-table.scss +123 -0
  108. package/src/registers/tb-lab-register/tb-lab-register.columns.ts +164 -0
  109. package/src/registers/tb-lab-register/tb-lab-register.component.test.tsx +232 -0
  110. package/src/registers/tb-lab-register/tb-lab-register.component.tsx +153 -0
  111. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +63 -48
  112. package/src/reports/moh-240/moh-240-header.component.tsx +62 -0
  113. package/src/reports/moh-240/moh-240.columns.ts +113 -0
  114. package/src/reports/moh-240/moh-240.component.tsx +72 -9
  115. package/src/reports/moh-240/moh-240.scss +40 -0
  116. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +31 -37
  117. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +143 -106
  118. package/src/reports/moh-505/moh-505-header.component.tsx +67 -0
  119. package/src/reports/moh-505/moh-505.component.tsx +441 -0
  120. package/src/reports/moh-505/moh-505.scss +117 -0
  121. package/src/reports/moh-705B/moh-204b-register.component.tsx +244 -0
  122. package/src/reports/moh-705B/moh-204b.columns.ts +39 -0
  123. package/src/reports/moh-705B/moh-705b.component.tsx +659 -0
  124. package/src/reports/moh-705B/moh-705b.scss +172 -0
  125. package/src/reports/moh-705a/moh-705a.component.tsx +661 -0
  126. package/src/reports/moh-705a/moh-705a.scss +172 -0
  127. package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +329 -0
  128. package/src/reports/moh-705a/registers/moh-204a.columns.ts +57 -0
  129. package/src/reports/moh-705a/type.ts +6 -0
  130. package/src/reports/moh-706/moh-706-header.component.tsx +66 -0
  131. package/src/reports/moh-706/moh-706.component.tsx +150 -24
  132. package/src/reports/moh-706/moh-706.scss +119 -11
  133. package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +54 -62
  134. package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +228 -317
  135. package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +31 -46
  136. package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +47 -55
  137. package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +43 -58
  138. package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +31 -39
  139. package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +26 -34
  140. package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +9 -24
  141. package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +43 -51
  142. package/src/reports/moh-710/moh-710.component.tsx +799 -632
  143. package/src/reports/moh-710/moh-710.scss +142 -21
  144. package/src/reports/moh-710/registers/moh-510/moh-510.columns.ts +40 -0
  145. package/src/reports/moh-710/registers/moh-510/moh-510.component.tsx +144 -0
  146. package/src/reports/moh-710/registers/moh-510/moh-510.scss +130 -0
  147. package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +268 -0
  148. package/src/reports/moh-710/registers/moh-511-710.columns.ts +52 -0
  149. package/src/reports/moh-710/registers/type.ts +31 -0
  150. package/src/reports/moh-711/moh-711.component.tsx +138 -1269
  151. package/src/reports/moh-711/moh711.scss +135 -20
  152. package/src/reports/moh-711/registers/moh-333-register.component.tsx +637 -0
  153. package/src/reports/moh-711/registers/moh-333.columns.ts +119 -0
  154. package/src/reports/moh-711/registers/moh-405-register.component.tsx +520 -0
  155. package/src/reports/moh-711/registers/moh-405.columns.ts +120 -0
  156. package/src/reports/moh-711/registers/moh-406-register.component.tsx +530 -0
  157. package/src/reports/moh-711/registers/moh-406.columns.ts +133 -0
  158. package/src/reports/moh-711/registers/moh-510-register.component.tsx +55 -0
  159. package/src/reports/moh-711/registers/moh-511-register.component.tsx +270 -0
  160. package/src/reports/moh-711/registers/moh-511.columns.ts +59 -0
  161. package/src/reports/moh-711/registers/type.ts +192 -0
  162. package/src/reports/moh-711/sections/anc.component.tsx +159 -0
  163. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +148 -0
  164. package/src/reports/moh-711/sections/chanis.component.tsx +366 -0
  165. package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
  166. package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
  167. package/src/reports/moh-711/sections/maternity.component.tsx +321 -0
  168. package/src/reports/moh-711/sections/medical-social-work.component.tsx +73 -0
  169. package/src/reports/moh-711/sections/other.component.tsx +47 -0
  170. package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
  171. package/src/reports/moh-711/sections/pnc.component.tsx +127 -0
  172. package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
  173. package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
  174. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +50 -0
  175. package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
  176. package/src/reports/moh-717/moh-717.component.tsx +149 -985
  177. package/src/reports/moh-717/moh717.scss +217 -21
  178. package/src/reports/moh-717/registers/nutrition-register.component.tsx +48 -0
  179. package/src/reports/moh-717/sections/finance.component.tsx +42 -0
  180. package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
  181. package/src/reports/moh-717/sections/maternity.component.tsx +126 -0
  182. package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
  183. package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
  184. package/src/reports/moh-717/sections/operations.component.tsx +53 -0
  185. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
  186. package/src/reports/moh-717/sections/outpatient.component.tsx +597 -0
  187. package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
  188. package/src/reports/moh-717/sections/preparedby.component.tsx +52 -0
  189. package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
  190. package/src/reports/moh-731/linelist/moh-731-indicators.ts +1122 -0
  191. package/src/reports/moh-731/linelist/moh-731-linelist-sections.ts +472 -0
  192. package/src/reports/moh-731/linelist/moh-731-linelist.component.tsx +102 -0
  193. package/src/reports/moh-731/linelist/use-open-moh-731-linelist.ts +50 -0
  194. package/src/reports/moh-731/moh-731.component.tsx +266 -0
  195. package/src/reports/moh-731/moh-731.scss +499 -0
  196. package/src/reports/moh-731/registers/moh-366.columns.ts +38 -0
  197. package/src/reports/moh-731/registers/moh-366.component.tsx +471 -0
  198. package/src/reports/moh-731/registers/prep-register.component.tsx +284 -0
  199. package/src/reports/moh-731/registers/prep.columns.ts +34 -0
  200. package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +1206 -0
  201. package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +727 -0
  202. package/src/reports/moh-731/sections/pmtct.component.tsx +572 -0
  203. package/src/reports/moh-731/summary/moh-731-summary.component.tsx +313 -0
  204. package/src/reports/moh-731/summary/moh-731-summary.config.ts +529 -0
  205. package/src/reports/moh-731/summary/moh-731-summary.scss +242 -0
  206. package/src/reports/moh-740/moh-740.component.scss +202 -0
  207. package/src/reports/moh-740/moh-740.component.tsx +1332 -0
  208. package/src/reports/moh-740/moh-740.resource.ts +54 -0
  209. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +149 -0
  210. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +123 -0
  211. package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
  212. package/src/reports/moh-740/registers/moh-740-patient-list.tsx +60 -0
  213. package/src/reports/moh-740/registers/moh-740.columns.ts +54 -0
  214. package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
  215. package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
  216. package/src/reports/moh-740/shared/utils/indicator-register-map.ts +159 -0
  217. package/src/reports/moh-740/types/index.ts +223 -0
  218. package/src/reports/moh-745/moh-745.component.tsx +1021 -0
  219. package/src/reports/moh-745/moh-745.scss +132 -0
  220. package/src/reports/moh-745/registers/moh-412-register.component.tsx +249 -0
  221. package/src/reports/moh-745/registers/moh-412.columns.ts +52 -0
  222. package/src/reports/moh-745/registers/type.ts +181 -0
  223. package/src/reports/table-wrapper/table-row-mapper.component.tsx +57 -0
  224. package/src/reports/table-wrapper/table-wrapper.component.tsx +23 -14
  225. package/src/reports/table-wrapper/table-wrapper.scss +1 -16
  226. package/src/resources/moh-362.resource.ts +27 -0
  227. package/src/resources/moh-505.resource.ts +69 -0
  228. package/src/resources/moh-705.resource.ts +106 -0
  229. package/src/resources/moh-706.resource.ts +80 -0
  230. package/src/resources/moh-710.resource.ts +32 -9
  231. package/src/resources/moh-711.resource.ts +137 -9
  232. package/src/resources/moh-717.resource.ts +26 -9
  233. package/src/resources/moh-731.resource.ts +90 -0
  234. package/src/resources/moh-745.resource.ts +76 -0
  235. package/src/resources/patient-list-page.ts +65 -0
  236. package/src/root.component.tsx +59 -8
  237. package/src/root.scss +36 -0
  238. package/src/routes.json +3 -1
  239. package/src/utils/format-indicator.ts +39 -0
  240. package/src/utils/get-base-url.ts +39 -7
  241. package/src/utils/utils.ts +36 -0
  242. package/tsconfig.json +1 -1
  243. package/webpack.config.js +22 -1
  244. package/dist/138.js +0 -2
  245. package/dist/138.js.LICENSE.txt +0 -20
  246. package/dist/138.js.map +0 -1
  247. package/dist/184.js +0 -2
  248. package/dist/184.js.LICENSE.txt +0 -14
  249. package/dist/184.js.map +0 -1
  250. package/dist/205.js +0 -1
  251. package/dist/205.js.map +0 -1
  252. package/dist/711.js +0 -1
  253. package/dist/711.js.map +0 -1
  254. package/dist/812.js +0 -1
  255. package/dist/812.js.map +0 -1
  256. package/dist/ampath-esm-reports-app.js.buildmanifest.json +0 -539
  257. package/dist/main.js +0 -1
  258. package/dist/main.js.map +0 -1
@@ -0,0 +1,242 @@
1
+ @use '@carbon/layout';
2
+ @use '@carbon/type';
3
+ @use '@openmrs/esm-styleguide/src/vars' as *;
4
+
5
+ /* The Summary tab: the report regrouped into compact tables with totals, a tab
6
+ * per section. Same light rules and panel fill as the rest of the report. */
7
+
8
+ .summary {
9
+ --summary-grid: #e2e2e2;
10
+ }
11
+
12
+ /* Section tabs, with the codes switch and the export on the same line */
13
+ .bar {
14
+ display: flex;
15
+ flex-wrap: wrap;
16
+ align-items: flex-end;
17
+ justify-content: space-between;
18
+ gap: layout.$spacing-03;
19
+ border-bottom: 1px solid $ui-03;
20
+ }
21
+
22
+ .sectionTabs {
23
+ flex: 0 1 auto;
24
+ width: auto;
25
+ min-width: 0;
26
+ margin-bottom: -1px;
27
+ }
28
+
29
+ .tools {
30
+ display: flex;
31
+ align-items: center;
32
+ gap: layout.$spacing-03;
33
+ padding-bottom: layout.$spacing-02;
34
+ }
35
+
36
+ .panel {
37
+ padding: layout.$spacing-04 0 0;
38
+ }
39
+
40
+ /* Headline totals: one slim line */
41
+ .strip {
42
+ display: flex;
43
+ flex-wrap: wrap;
44
+ gap: layout.$spacing-03;
45
+ margin-bottom: layout.$spacing-04;
46
+ }
47
+
48
+ .headline {
49
+ display: inline-flex;
50
+ align-items: baseline;
51
+ gap: layout.$spacing-03;
52
+ padding: layout.$spacing-02 layout.$spacing-04;
53
+ background-color: $ui-02;
54
+ border: 1px solid $ui-03;
55
+ cursor: pointer;
56
+
57
+ &:hover {
58
+ border-color: var(--cds-link-primary, #0f62fe);
59
+ }
60
+
61
+ &:focus-visible {
62
+ outline: 2px solid var(--cds-focus, #0f62fe);
63
+ outline-offset: -2px;
64
+ }
65
+ }
66
+
67
+ .headlineLabel {
68
+ @include type.type-style('label-01');
69
+ color: $text-02;
70
+ }
71
+
72
+ .headlineValue {
73
+ @include type.type-style('productive-heading-03');
74
+ color: $color-gray-100;
75
+ font-variant-numeric: tabular-nums;
76
+ }
77
+
78
+ /* Sub-sections side by side where there is room, one per row on a phone */
79
+ .grid {
80
+ display: grid;
81
+ grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr));
82
+ gap: layout.$spacing-04;
83
+ align-items: start;
84
+ }
85
+
86
+ .card {
87
+ padding: layout.$spacing-04;
88
+ background-color: $ui-02;
89
+ border: 1px solid $ui-03;
90
+ min-width: 0;
91
+ }
92
+
93
+ .cardTitle {
94
+ @include type.type-style('heading-compact-01');
95
+ margin-bottom: layout.$spacing-03;
96
+ color: $color-gray-100;
97
+ }
98
+
99
+ .note {
100
+ @include type.type-style('helper-text-01');
101
+ margin: -(layout.$spacing-02) 0 layout.$spacing-03;
102
+ color: $text-02;
103
+ }
104
+
105
+ .tableTitle {
106
+ @include type.type-style('label-01');
107
+ margin: layout.$spacing-04 0 layout.$spacing-02;
108
+ color: $text-02;
109
+ }
110
+
111
+ .tableScroll {
112
+ overflow-x: auto;
113
+ }
114
+
115
+ .table {
116
+ width: 100%;
117
+ border-collapse: collapse;
118
+ font-size: 0.8125rem;
119
+ line-height: 1.2;
120
+ font-variant-numeric: tabular-nums;
121
+
122
+ th,
123
+ td {
124
+ padding: 0.3125rem 0.5rem;
125
+ text-align: right;
126
+ white-space: nowrap;
127
+ border-bottom: 1px solid var(--summary-grid);
128
+ }
129
+
130
+ thead th {
131
+ padding-top: 0.25rem;
132
+ padding-bottom: 0.25rem;
133
+ font-size: 0.75rem;
134
+ font-weight: 600;
135
+ color: $text-02;
136
+ background-color: var(--cds-layer-01, #f4f4f4);
137
+ }
138
+
139
+ tbody tr:hover td,
140
+ tbody tr:hover th {
141
+ background-color: $brand-primary-10;
142
+ }
143
+
144
+ /* Total row: bold, set off by a double rule */
145
+ tfoot th,
146
+ tfoot td {
147
+ font-weight: 600;
148
+ border-top: 3px double #b8b8b8;
149
+ border-bottom: none;
150
+ }
151
+ }
152
+
153
+ /* The row labels stay in view when a wide table scrolls sideways */
154
+ .labelCol {
155
+ position: sticky;
156
+ left: 0;
157
+ width: 1%;
158
+ text-align: left !important;
159
+ font-weight: 400;
160
+ color: $color-gray-100;
161
+ background-color: $ui-02;
162
+ }
163
+
164
+ thead .labelCol {
165
+ background-color: var(--cds-layer-01, #f4f4f4);
166
+ }
167
+
168
+ .totalCol {
169
+ font-weight: 600;
170
+ background-color: var(--cds-layer-01, #f4f4f4);
171
+ }
172
+
173
+ /* A table with no breakdown: the labels take the width, the figures a narrow column */
174
+ .single .labelCol {
175
+ width: auto;
176
+ }
177
+
178
+ .single .totalCol {
179
+ width: 6rem;
180
+ }
181
+
182
+ .group {
183
+ color: $text-02;
184
+ }
185
+
186
+ /* Rows shown for reference, never added into the total */
187
+ .ofWhich .labelCol {
188
+ padding-left: layout.$spacing-05;
189
+ font-style: italic;
190
+ }
191
+
192
+ .excluded .labelCol {
193
+ color: $text-02;
194
+ }
195
+
196
+ /* A figure: its value, opening its linelist; its MOH code when codes are shown */
197
+ .value {
198
+ display: inline-flex;
199
+ align-items: baseline;
200
+ gap: layout.$spacing-02;
201
+ padding: 0;
202
+ font: inherit;
203
+ font-weight: inherit;
204
+ color: var(--cds-link-primary, #0f62fe);
205
+ background: none;
206
+ border: none;
207
+ cursor: pointer;
208
+
209
+ &:hover {
210
+ text-decoration: underline;
211
+ }
212
+
213
+ &:focus-visible {
214
+ outline: 2px solid var(--cds-focus, #0f62fe);
215
+ outline-offset: 2px;
216
+ }
217
+ }
218
+
219
+ .zero {
220
+ color: $text-02;
221
+ }
222
+
223
+ .strong {
224
+ font-weight: 600;
225
+ }
226
+
227
+ .code {
228
+ font-size: 0.6875rem;
229
+ font-weight: 400;
230
+ color: $text-02;
231
+ }
232
+
233
+ .none {
234
+ color: $text-02;
235
+ }
236
+
237
+ @media (max-width: $breakpoint-phone-max) {
238
+ .tools {
239
+ width: 100%;
240
+ justify-content: space-between;
241
+ }
242
+ }
@@ -0,0 +1,202 @@
1
+ /* MOH-740 laid out for A4, matching MOH-711: geometry in millimetres, type in
2
+ points, one rule weight throughout. Its 52 rows fit a single page. */
3
+
4
+ $ink: #000;
5
+ $bar: #d9d9d9;
6
+ $rule: 1px solid $ink;
7
+
8
+ /* The same scale MOH-711 uses, so the two forms read as one family */
9
+ $text: 7pt; // table cells
10
+ $title: 7.5pt; // form title
11
+ $sub: 7.5pt; // subtitle
12
+ $meta: 6.5pt; // facility strip
13
+
14
+ /* Page chrome, outside the sheet */
15
+
16
+ .reportLayout {
17
+ display: flex;
18
+ flex-direction: column;
19
+ width: 100%;
20
+ /* No gap of its own: the placeholder carries the spacing below the filters,
21
+ as on every other report, and a gap here doubled it. */
22
+ row-gap: 0;
23
+ padding: 0.75rem 0;
24
+ }
25
+
26
+ .reportHeader {
27
+ display: flex;
28
+ flex-direction: column;
29
+ width: 100%;
30
+ row-gap: 0.75rem;
31
+ }
32
+
33
+ .reportFilters {
34
+ display: flex;
35
+ flex-direction: column;
36
+ width: 100%;
37
+ }
38
+
39
+ .reportContent {
40
+ display: flex;
41
+ flex-direction: column;
42
+ width: 100%;
43
+ }
44
+
45
+ /* Masthead */
46
+
47
+ /* The four blocks below stack flush and share their edges: each drops its top
48
+ border and its margin, so the masthead, facility strip, indicator table and
49
+ sign-off read as one continuous form rather than four separate boxes. */
50
+
51
+ .headerContainer {
52
+ display: flex;
53
+ align-items: flex-start;
54
+ width: 100%;
55
+ }
56
+
57
+ .mainTitleBox {
58
+ width: 100%;
59
+ padding: 3mm;
60
+ text-align: center;
61
+ border: $rule;
62
+ }
63
+
64
+ .mainTitle {
65
+ margin: 0;
66
+ font-size: $title;
67
+ font-weight: 700;
68
+ }
69
+
70
+ .subTitle {
71
+ margin: 1mm 0 0;
72
+ font-size: $sub;
73
+ font-weight: 700;
74
+ }
75
+
76
+ /* Facility / MFL / county strip beneath the masthead */
77
+
78
+ /* Facility strip. Its cells are bordered like the form: the previous rule set
79
+ `border: none` here, which at (0,1,1) silently beat the `.darkBorder` class
80
+ the cells carried. */
81
+
82
+ /* The facility strip: one continuous band with no rules inside it, so the five
83
+ fields are separated by spacing alone. Fixed layout holds them in place, and
84
+ the facility name gets the largest share since it is the only one that
85
+ carries a long value. */
86
+
87
+ .topMeta {
88
+ width: 100%;
89
+ table-layout: fixed;
90
+ border-collapse: collapse;
91
+ border: $rule;
92
+ border-top: none;
93
+
94
+ td {
95
+ width: 17%;
96
+ padding: 1.5mm;
97
+ font-size: $meta;
98
+ vertical-align: top;
99
+ word-break: break-word;
100
+ border: none;
101
+ }
102
+
103
+ td:first-child {
104
+ width: 32%;
105
+ }
106
+ }
107
+
108
+ /* The indicator table */
109
+
110
+ .darkBorder {
111
+ padding: 1mm 1.5mm;
112
+ font-size: $text;
113
+ text-align: left;
114
+ border: $rule;
115
+ }
116
+
117
+ /* `border-collapse` already merges the shared edge, so the table needs no
118
+ special casing where it meets the strip above it. */
119
+
120
+ /* A disease-group divider spanning the table: DIABETES, HYPERTENSION, ... */
121
+
122
+ .sectionHeader {
123
+ font-weight: 700;
124
+ text-align: center;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.02em;
127
+ background-color: #ececec;
128
+ }
129
+
130
+ .subHeader {
131
+ font-weight: 600;
132
+ }
133
+
134
+ /* Indented age-band rows beneath a "Total No. with…" sub-heading. Restored:
135
+ these were referenced by a literal class string, which CSS Modules never
136
+ matched, so the rows rendered unbordered and unindented. */
137
+
138
+ .indent {
139
+ padding-left: 5mm;
140
+ }
141
+
142
+ .bgGrey {
143
+ background-color: #e0e0e0;
144
+ }
145
+
146
+ /* The indicator table, sharing the band's edge above it */
147
+
148
+ .dataTable {
149
+ width: 100%;
150
+ border-collapse: collapse;
151
+ }
152
+
153
+ /* The column header. It carried only width and alignment classes, so it was the
154
+ one row in the table with no borders; and it shared `.sectionHeader` with the
155
+ DIABETES / HYPERTENSION dividers, which made the two indistinguishable. */
156
+
157
+ .dataTable thead th {
158
+ padding: 1mm 1.5mm;
159
+ font-size: $text;
160
+ font-weight: 700;
161
+ background-color: $bar;
162
+ border: $rule;
163
+ }
164
+
165
+ .dataElement {
166
+ width: 40%;
167
+ }
168
+
169
+ .otherElement {
170
+ width: 20%;
171
+ text-align: center;
172
+ }
173
+
174
+ /* Sign-off, enclosed by the form rather than floating beneath it */
175
+
176
+ .signOff {
177
+ display: grid;
178
+ grid-template-columns: 34mm repeat(4, 1fr);
179
+ align-items: end;
180
+ column-gap: 5mm;
181
+ row-gap: 3mm;
182
+ width: 100%;
183
+ padding: 3mm;
184
+ font-size: $meta;
185
+ border: $rule;
186
+ border-top: none;
187
+
188
+ span {
189
+ text-align: center;
190
+ }
191
+
192
+ span:first-child {
193
+ font-weight: 600;
194
+ text-align: left;
195
+ }
196
+ }
197
+
198
+ .signOffRule {
199
+ min-height: 4mm;
200
+ padding-bottom: 0.5mm;
201
+ border-bottom: $rule;
202
+ }