@kenyaemr/esm-patient-clinical-view-app 5.4.2-pre.2592 → 5.4.2-pre.2598

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 (39) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/dist/127.js +1 -1
  3. package/dist/152.js +3 -3
  4. package/dist/152.js.map +1 -1
  5. package/dist/481.js +66 -0
  6. package/dist/481.js.map +1 -0
  7. package/dist/671.js +1 -1
  8. package/dist/671.js.map +1 -1
  9. package/dist/941.js +1 -0
  10. package/dist/941.js.map +1 -0
  11. package/dist/kenyaemr-esm-patient-clinical-view-app.js +2 -2
  12. package/dist/kenyaemr-esm-patient-clinical-view-app.js.buildmanifest.json +55 -55
  13. package/dist/kenyaemr-esm-patient-clinical-view-app.js.map +1 -1
  14. package/dist/main.js +87 -14
  15. package/dist/main.js.map +1 -1
  16. package/dist/routes.json +1 -1
  17. package/package.json +1 -1
  18. package/src/config-schema.ts +144 -0
  19. package/src/index.ts +2 -2
  20. package/src/maternal-and-child-health/partography/labour-delivery.scss +6 -7
  21. package/src/maternal-and-child-health/partography/partograph.component.tsx +487 -151
  22. package/src/maternal-and-child-health/partography/partography-data-form.component.tsx +434 -0
  23. package/src/maternal-and-child-health/partography/partography-data-form.scss +50 -0
  24. package/src/maternal-and-child-health/partography/partography-link.component.tsx +21 -0
  25. package/src/maternal-and-child-health/partography/partography.resource.ts +1024 -0
  26. package/src/maternal-and-child-health/partography/partography.scss +378 -0
  27. package/src/maternal-and-child-health/partography/types/index.ts +980 -0
  28. package/translations/en.json +11 -1
  29. package/dist/287.js +0 -1
  30. package/dist/287.js.map +0 -1
  31. package/dist/98.js +0 -1
  32. package/dist/98.js.map +0 -1
  33. package/src/maternal-and-child-health/partography/cervical-dilation.component.tsx +0 -16
  34. package/src/maternal-and-child-health/partography/contraction-level.component.tsx +0 -16
  35. package/src/maternal-and-child-health/partography/descent-of-head.component.tsx +0 -16
  36. package/src/maternal-and-child-health/partography/foetal-heart-rate.component.tsx +0 -17
  37. package/src/maternal-and-child-health/partography/membrane-amniotic-fluid-moulding.component.tsx +0 -17
  38. package/src/maternal-and-child-health/partography/partograph-chart.scss +0 -94
  39. package/src/maternal-and-child-health/partography/partograph-chart.tsx +0 -176
@@ -0,0 +1,378 @@
1
+ @use '@carbon/layout';
2
+ @use '@carbon/type';
3
+ @use '@carbon/colors';
4
+
5
+ .partographyContainer {
6
+ padding: layout.$spacing-05;
7
+ background-color: colors.$gray-10;
8
+ margin: layout.$spacing-03 0;
9
+ }
10
+
11
+ .partographyTitle {
12
+ @include type.type-style('heading-compact-02');
13
+ color: colors.$gray-100;
14
+ margin-bottom: layout.$spacing-05;
15
+ display: flex;
16
+ align-items: center;
17
+ gap: layout.$spacing-03;
18
+ }
19
+
20
+ .titleIcon {
21
+ color: colors.$blue-60;
22
+ }
23
+
24
+ .content {
25
+ padding: layout.$spacing-04;
26
+ background-color: colors.$white;
27
+ border-radius: layout.$spacing-02;
28
+ border: 1px solid colors.$gray-20;
29
+ }
30
+
31
+ .sectionHeader {
32
+ display: flex;
33
+ justify-content: space-between;
34
+ align-items: center;
35
+ margin-bottom: layout.$spacing-05;
36
+
37
+ h5 {
38
+ @include type.type-style('heading-compact-01');
39
+ margin: 0;
40
+ }
41
+ }
42
+
43
+ .graphsSection {
44
+ margin-bottom: layout.$spacing-08;
45
+ }
46
+
47
+ .graphContainer {
48
+ padding: layout.$spacing-04;
49
+ background-color: colors.$gray-10;
50
+ border-radius: layout.$spacing-02;
51
+ margin-bottom: layout.$spacing-04;
52
+ }
53
+
54
+ .graphHeader {
55
+ display: flex;
56
+ justify-content: space-between;
57
+ align-items: center;
58
+ margin-bottom: layout.$spacing-03;
59
+
60
+ h6 {
61
+ @include type.type-style('heading-compact-01');
62
+ margin: 0;
63
+ }
64
+ }
65
+
66
+ .graphHeaderLeft {
67
+ display: flex;
68
+ align-items: center;
69
+ gap: layout.$spacing-03;
70
+ }
71
+
72
+ .graphHeaderRight {
73
+ display: flex;
74
+ align-items: center;
75
+ gap: layout.$spacing-02;
76
+
77
+ .viewSwitcher {
78
+ display: flex;
79
+ border: 1px solid colors.$gray-30;
80
+ border-radius: layout.$spacing-02;
81
+ overflow: hidden;
82
+ margin-right: layout.$spacing-03;
83
+
84
+ .viewButton {
85
+ border-radius: 0;
86
+ border: none;
87
+ min-width: layout.$spacing-09;
88
+ height: layout.$spacing-07;
89
+
90
+ &:first-child {
91
+ border-right: 1px solid colors.$gray-30;
92
+ }
93
+
94
+ &:hover {
95
+ background-color: colors.$gray-20;
96
+ }
97
+
98
+ svg {
99
+ width: layout.$spacing-04;
100
+ height: layout.$spacing-04;
101
+ }
102
+ }
103
+ }
104
+
105
+ button {
106
+ transition: all 0.2s ease;
107
+
108
+ &:hover {
109
+ background-color: colors.$gray-20;
110
+ transform: scale(1.05);
111
+ }
112
+ }
113
+ }
114
+
115
+ .addButton {
116
+ background-color: colors.$gray-100;
117
+ color: colors.$white;
118
+ border: 1px solid colors.$gray-100;
119
+
120
+ &:hover {
121
+ background-color: colors.$gray-90;
122
+ transform: scale(1.05);
123
+ }
124
+
125
+ &:focus {
126
+ background-color: colors.$gray-90;
127
+ border-color: colors.$blue-60;
128
+ box-shadow: 0 0 0 2px colors.$blue-60;
129
+ }
130
+ }
131
+
132
+ .graphDescription {
133
+ @include type.type-style('body-compact-01');
134
+ color: colors.$gray-70;
135
+ margin-bottom: layout.$spacing-04;
136
+ }
137
+
138
+ .chartContainer {
139
+ background-color: colors.$white;
140
+ padding: layout.$spacing-04;
141
+ border-radius: layout.$spacing-02;
142
+ border: 1px solid colors.$gray-20;
143
+ margin-bottom: layout.$spacing-04;
144
+ }
145
+
146
+ .chartStats {
147
+ display: flex;
148
+ gap: layout.$spacing-05;
149
+ padding: layout.$spacing-03;
150
+ background-color: colors.$gray-20;
151
+ border-radius: layout.$spacing-02;
152
+ }
153
+
154
+ .statItem {
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: layout.$spacing-02;
158
+ }
159
+
160
+ .statLabel {
161
+ @include type.type-style('label-01');
162
+ color: colors.$gray-70;
163
+ }
164
+
165
+ .statValue {
166
+ @include type.type-style('heading-compact-01');
167
+ color: colors.$gray-100;
168
+ }
169
+
170
+ .chartPlaceholder {
171
+ background-color: colors.$white;
172
+ padding: layout.$spacing-06;
173
+ border-radius: layout.$spacing-02;
174
+ text-align: center;
175
+ border: 2px dashed colors.$gray-30;
176
+ min-height: layout.$spacing-13;
177
+ display: flex;
178
+ align-items: center;
179
+ justify-content: center;
180
+
181
+ &[data-color='red'] {
182
+ border-color: colors.$red-40;
183
+ }
184
+ &[data-color='blue'] {
185
+ border-color: colors.$blue-40;
186
+ }
187
+ &[data-color='green'] {
188
+ border-color: colors.$green-40;
189
+ }
190
+ &[data-color='purple'] {
191
+ border-color: colors.$purple-40;
192
+ }
193
+ &[data-color='orange'] {
194
+ border-color: colors.$orange-40;
195
+ }
196
+ &[data-color='cyan'] {
197
+ border-color: colors.$cyan-40;
198
+ }
199
+ &[data-color='teal'] {
200
+ border-color: colors.$teal-40;
201
+ }
202
+ &[data-color='yellow'] {
203
+ border-color: colors.$yellow-40;
204
+ }
205
+ &[data-color='magenta'] {
206
+ border-color: colors.$magenta-40;
207
+ }
208
+ &[data-color='gray'] {
209
+ border-color: colors.$gray-40;
210
+ }
211
+ }
212
+
213
+ .chartContent {
214
+ display: flex;
215
+ flex-direction: column;
216
+ align-items: center;
217
+ gap: layout.$spacing-03;
218
+
219
+ p {
220
+ margin: 0;
221
+ color: colors.$gray-100;
222
+ @include type.type-style('body-compact-01');
223
+ }
224
+ }
225
+
226
+ .yAxisLabel {
227
+ @include type.type-style('label-01');
228
+ color: colors.$gray-70;
229
+ }
230
+
231
+ // Data Table Section
232
+
233
+ .tableContainer {
234
+ background-color: colors.$white;
235
+ border-radius: layout.$spacing-02;
236
+ border: 1px solid colors.$gray-20;
237
+ margin-bottom: layout.$spacing-04;
238
+
239
+ .cds--data-table-container {
240
+ background-color: transparent;
241
+ }
242
+
243
+ .cds--data-table {
244
+ background-color: transparent;
245
+
246
+ th,
247
+ td {
248
+ border-bottom: 1px solid colors.$gray-20;
249
+ padding: layout.$spacing-03 layout.$spacing-04;
250
+ }
251
+
252
+ th {
253
+ background-color: colors.$gray-10;
254
+ @include type.type-style('label-01');
255
+ color: colors.$gray-100;
256
+ }
257
+
258
+ td {
259
+ @include type.type-style('body-compact-01');
260
+ color: colors.$gray-100;
261
+ }
262
+
263
+ tbody tr:nth-child(odd) {
264
+ background-color: colors.$white;
265
+ }
266
+
267
+ tbody tr:nth-child(even) {
268
+ background-color: colors.$gray-10;
269
+ }
270
+
271
+ tbody tr:hover {
272
+ background-color: colors.$gray-20;
273
+ }
274
+ }
275
+ }
276
+
277
+ .tableStats {
278
+ padding: layout.$spacing-03;
279
+ background-color: colors.$gray-20;
280
+ border-radius: 0 0 layout.$spacing-02 layout.$spacing-02;
281
+ text-align: center;
282
+ }
283
+
284
+ .recordCount {
285
+ @include type.type-style('body-compact-01');
286
+ color: colors.$gray-70;
287
+ }
288
+
289
+ // Value status indicators
290
+ .highValue {
291
+ color: colors.$red-60;
292
+ font-weight: 600;
293
+ }
294
+
295
+ .lowValue {
296
+ color: colors.$blue-60;
297
+ font-weight: 600;
298
+ }
299
+
300
+ .arrow {
301
+ font-weight: bold;
302
+ margin-left: layout.$spacing-02;
303
+ }
304
+
305
+ .chartSection {
306
+ margin-bottom: layout.$spacing-06;
307
+
308
+ h6 {
309
+ @include type.type-style('heading-compact-01');
310
+ margin-bottom: layout.$spacing-04;
311
+ }
312
+ }
313
+
314
+ .tableSection {
315
+ margin-bottom: layout.$spacing-06;
316
+
317
+ h6 {
318
+ @include type.type-style('heading-compact-01');
319
+ margin-bottom: layout.$spacing-04;
320
+ }
321
+ }
322
+
323
+ .alertSection {
324
+ h6 {
325
+ @include type.type-style('heading-compact-01');
326
+ margin-bottom: layout.$spacing-04;
327
+ }
328
+ }
329
+
330
+ .alertGrid {
331
+ display: grid;
332
+ grid-template-columns: repeat(auto-fit, minmax(layout.$spacing-12, 1fr));
333
+ gap: layout.$spacing-04;
334
+ }
335
+
336
+ .alertItem {
337
+ display: flex;
338
+ align-items: center;
339
+ gap: layout.$spacing-03;
340
+ padding: layout.$spacing-03;
341
+ background-color: colors.$gray-10;
342
+ border-radius: layout.$spacing-02;
343
+
344
+ span {
345
+ @include type.type-style('body-compact-01');
346
+ color: colors.$gray-100;
347
+ }
348
+ }
349
+
350
+ // Loading and empty state styles
351
+ .loadingContainer {
352
+ display: flex;
353
+ justify-content: center;
354
+ align-items: center;
355
+ height: layout.$spacing-11;
356
+ color: colors.$gray-70;
357
+
358
+ p {
359
+ margin: 0;
360
+ font-style: italic;
361
+ }
362
+ }
363
+
364
+ .emptyState {
365
+ display: flex;
366
+ flex-direction: column;
367
+ justify-content: center;
368
+ align-items: center;
369
+ height: layout.$spacing-11;
370
+ gap: layout.$spacing-05;
371
+ color: colors.$gray-70;
372
+ text-align: center;
373
+
374
+ p {
375
+ margin: 0;
376
+ @include type.type-style('body-compact-01');
377
+ }
378
+ }