@bahmni/widgets 0.0.1-dev.173 → 0.0.1-dev.175

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 (26) hide show
  1. package/dist/{DocumentsTable-C_dpd5SN.js → DocumentsTable-r0rZJVUl.js} +1 -1
  2. package/dist/{FormsTable-DR6F54J3.js → FormsTable-CUdJBL4f.js} +55 -55
  3. package/dist/{Observations-ByELAXH-.js → Observations-C4CKGW4B.js} +14 -14
  4. package/dist/appointments/AppointmentsTable.d.ts.map +1 -1
  5. package/dist/appointments/components/AppointmentTabContent.d.ts +19 -0
  6. package/dist/appointments/components/AppointmentTabContent.d.ts.map +1 -0
  7. package/dist/appointments/components/PastAppointments.d.ts +18 -0
  8. package/dist/appointments/components/PastAppointments.d.ts.map +1 -0
  9. package/dist/appointments/components/UpcomingAppointments.d.ts +17 -0
  10. package/dist/appointments/components/UpcomingAppointments.d.ts.map +1 -0
  11. package/dist/appointments/components/__tests__/appointmentComponentTestHelper.d.ts +19 -0
  12. package/dist/appointments/components/__tests__/appointmentComponentTestHelper.d.ts.map +1 -0
  13. package/dist/appointments/constants.d.ts +4 -11
  14. package/dist/appointments/constants.d.ts.map +1 -1
  15. package/dist/appointments/hooks/useAppointmentQuery.d.ts +10 -0
  16. package/dist/appointments/hooks/useAppointmentQuery.d.ts.map +1 -0
  17. package/dist/appointments/hooks/useFormattedAppointments.d.ts +9 -0
  18. package/dist/appointments/hooks/useFormattedAppointments.d.ts.map +1 -0
  19. package/dist/appointments/models.d.ts +12 -0
  20. package/dist/appointments/models.d.ts.map +1 -0
  21. package/dist/appointments/utils.d.ts +4 -12
  22. package/dist/appointments/utils.d.ts.map +1 -1
  23. package/dist/{index-qhCmLUh7.js → index-ISsJ4Q8I.js} +10831 -10841
  24. package/dist/index.css +1 -1
  25. package/dist/index.js +13 -13
  26. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { jsxs as A, jsx as v, Fragment as $5 } from "react/jsx-runtime";
2
- import { P as h, u as S5, a as W5, K as P5, k as k5, t as F5, m as U5, o as j5 } from "./index-qhCmLUh7.js";
2
+ import { P as h, u as S5, a as W5, J as P5, k as k5, t as F5, m as U5, i as j5 } from "./index-ISsJ4Q8I.js";
3
3
  import { useQuery as q5 } from "@tanstack/react-query";
4
4
  import e, { useState as N, useCallback as _, useEffect as K5, useMemo as x } from "react";
5
5
  import { useTranslation as Q5 } from "react-i18next";
@@ -1,29 +1,29 @@
1
1
  import { jsxs as b, jsx as d, Fragment as P } from "react/jsx-runtime";
2
- import { c as C, Z as te, N as re, $ as ae, e as oe, Y as se, u as ne, O as de, M as ie, C as le, L as ce, T as me, G as ue, k as pe, b as be, t as x, H as fe, d as _e, m as $e, f as ye, g as H, o as ge } from "./index-qhCmLUh7.js";
2
+ import { c as M, Q as te, N as re, $ as ae, e as oe, Y as se, u as ne, A as de, M as ie, L as le, b as ce, O as me, K as ue, k as pe, d as be, t as k, H as fe, C as _e, m as $e, o as ye, T as x, i as ge } from "./index-ISsJ4Q8I.js";
3
3
  import { useQueryClient as he, useQuery as L } from "@tanstack/react-query";
4
- import { useState as k, useMemo as h, useCallback as F } from "react";
4
+ import { useState as H, useMemo as h, useCallback as F } from "react";
5
5
  import { useTranslation as ve } from "react-i18next";
6
- const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le = "_formContent_1pd36_18", Fe = "_formDetailsContainer_1pd36_25", Ce = "_observation_1pd36_30", Me = "_groupContainer_1pd36_39", Re = "_rowContainer_1pd36_43", Te = "_groupLabel_1pd36_48", we = "_rowLabel_1pd36_58", De = "_rowValue_1pd36_67", Ve = "_groupMembers_1pd36_75", Ae = "_memberRow_1pd36_81", Ee = "_memberLabel_1pd36_86", Ie = "_memberValue_1pd36_94", Be = "_abnormalValue_1pd36_102", Ge = "_commentSection_1pd36_110", Se = "_commentText_1pd36_116", qe = "_nestedGroup_1pd36_125", Ue = "_nestedGroupLabel_1pd36_132", xe = "_nestedGroupMembers_1pd36_141", o = {
6
+ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le = "_formContent_1pd36_18", Fe = "_formDetailsContainer_1pd36_25", Me = "_observation_1pd36_30", Ce = "_groupContainer_1pd36_39", Re = "_rowContainer_1pd36_43", we = "_groupLabel_1pd36_48", Te = "_rowLabel_1pd36_58", De = "_rowValue_1pd36_67", Ve = "_groupMembers_1pd36_75", Ae = "_memberRow_1pd36_81", Ee = "_memberLabel_1pd36_86", Ie = "_memberValue_1pd36_94", Be = "_abnormalValue_1pd36_102", Se = "_commentSection_1pd36_110", Ge = "_commentText_1pd36_116", qe = "_nestedGroup_1pd36_125", Ue = "_nestedGroupLabel_1pd36_132", ke = "_nestedGroupMembers_1pd36_141", o = {
7
7
  formsTableBody: Ne,
8
8
  customAccordianItem: Oe,
9
9
  formContent: Le,
10
10
  formDetailsContainer: Fe,
11
- observation: Ce,
12
- groupContainer: Me,
11
+ observation: Me,
12
+ groupContainer: Ce,
13
13
  rowContainer: Re,
14
- groupLabel: Te,
15
- rowLabel: we,
14
+ groupLabel: we,
15
+ rowLabel: Te,
16
16
  rowValue: De,
17
17
  groupMembers: Ve,
18
18
  memberRow: Ae,
19
19
  memberLabel: Ee,
20
20
  memberValue: Ie,
21
21
  abnormalValue: Be,
22
- commentSection: Ge,
23
- commentText: Se,
22
+ commentSection: Se,
23
+ commentText: Ge,
24
24
  nestedGroup: qe,
25
25
  nestedGroupLabel: Ue,
26
- nestedGroupMembers: xe
26
+ nestedGroupMembers: ke
27
27
  }, K = (e) => {
28
28
  const t = te(e);
29
29
  return t === "Image" ? /* @__PURE__ */ d(
@@ -34,10 +34,10 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
34
34
  id: `${e}-img`
35
35
  }
36
36
  ) : t === "Video" ? /* @__PURE__ */ d(ae, { id: `${e}-video`, videoSrc: e }) : e;
37
- }, j = (e) => {
37
+ }, Q = (e) => {
38
38
  const t = e.observationValue?.unit, a = e.observationValue?.referenceRange?.low?.value, n = e.observationValue?.referenceRange?.high?.value, s = a != null, c = n != null, i = s && c ? ` (${a} - ${n})` : s ? ` (>${a})` : c ? ` (<${n})` : "", r = e.observationValue?.isAbnormal === !0;
39
39
  return { units: t, rangeString: i, isAbnormal: r };
40
- }, Q = ({
40
+ }, j = ({
41
41
  member: e,
42
42
  depth: t = 0,
43
43
  memberIndex: a = 0,
@@ -67,7 +67,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
67
67
  className: o.nestedGroupMembers,
68
68
  "data-testid": `${r}obs-nested-group-members-${i}-${a}`,
69
69
  children: e.members?.map((v, N) => /* @__PURE__ */ d(
70
- Q,
70
+ j,
71
71
  {
72
72
  member: v,
73
73
  depth: t + 1,
@@ -81,7 +81,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
81
81
  ]
82
82
  }
83
83
  );
84
- const { units: p, rangeString: g, isAbnormal: f } = j(e), _ = e.observationValue?.value?.toString(), $ = _ ? K(_) : null;
84
+ const { units: p, rangeString: g, isAbnormal: f } = Q(e), _ = e.observationValue?.value?.toString(), $ = _ ? K(_) : null;
85
85
  return /* @__PURE__ */ b(P, { children: [
86
86
  /* @__PURE__ */ b(
87
87
  "div",
@@ -93,7 +93,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
93
93
  /* @__PURE__ */ b(
94
94
  "p",
95
95
  {
96
- className: C(
96
+ className: M(
97
97
  o.memberLabel,
98
98
  f ? o.abnormalValue : ""
99
99
  ),
@@ -107,7 +107,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
107
107
  /* @__PURE__ */ b(
108
108
  "div",
109
109
  {
110
- className: C(
110
+ className: M(
111
111
  o.memberValue,
112
112
  f ? o.abnormalValue : ""
113
113
  ),
@@ -134,13 +134,13 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
134
134
  }
135
135
  )
136
136
  ] });
137
- }, He = ({
137
+ }, xe = ({
138
138
  observation: e,
139
139
  index: t,
140
140
  formName: a = "",
141
141
  comment: n
142
142
  }) => {
143
- const s = e.members && e.members.length > 0, { units: c, rangeString: i, isAbnormal: r } = j(e), p = a ? `${a}-` : "", g = e.observationValue?.value?.toString(), f = g ? K(g) : null;
143
+ const s = e.members && e.members.length > 0, { units: c, rangeString: i, isAbnormal: r } = Q(e), p = a ? `${a}-` : "", g = e.observationValue?.value?.toString(), f = g ? K(g) : null;
144
144
  return /* @__PURE__ */ b(
145
145
  "div",
146
146
  {
@@ -156,7 +156,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
156
156
  /* @__PURE__ */ b(
157
157
  "p",
158
158
  {
159
- className: C(
159
+ className: M(
160
160
  s ? o.groupLabel : o.rowLabel,
161
161
  !s && r ? o.abnormalValue : ""
162
162
  ),
@@ -173,7 +173,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
173
173
  className: o.groupMembers,
174
174
  "data-testid": `${p}observation-group-members-${e.display}-${t}`,
175
175
  children: e.members?.map((_, $) => /* @__PURE__ */ d(
176
- Q,
176
+ j,
177
177
  {
178
178
  member: _,
179
179
  depth: 0,
@@ -186,7 +186,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
186
186
  ) : /* @__PURE__ */ b(
187
187
  "div",
188
188
  {
189
- className: C(
189
+ className: M(
190
190
  o.rowValue,
191
191
  r ? o.abnormalValue : ""
192
192
  ),
@@ -215,45 +215,45 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
215
215
  },
216
216
  `${e.id}-${t}`
217
217
  );
218
- }, ke = (e) => e ? e.extension?.find(
218
+ }, He = (e) => e ? e.extension?.find(
219
219
  (a) => a.url === se
220
220
  )?.valueString : void 0, Pe = (e) => {
221
221
  if (e)
222
222
  return e.note?.[0]?.text;
223
- }, Ke = (e, t) => e.entry?.find((a) => a.resource?.id === t)?.resource, w = (e, t) => {
223
+ }, Ke = (e, t) => e.entry?.find((a) => a.resource?.id === t)?.resource, T = (e, t) => {
224
224
  const a = Ke(e, t);
225
225
  return a ? {
226
- formFieldPath: ke(a),
226
+ formFieldPath: He(a),
227
227
  comment: Pe(a)
228
228
  } : {};
229
- }, je = (e, t) => {
229
+ }, Qe = (e, t) => {
230
230
  if (!e?.entry || !t)
231
231
  return [];
232
232
  const a = oe(e);
233
233
  return [
234
234
  ...a.observations.map((s) => {
235
- const { formFieldPath: c, comment: i } = w(
235
+ const { formFieldPath: c, comment: i } = T(
236
236
  e,
237
237
  s.id
238
238
  );
239
239
  return { obs: s, formFieldPath: c, comment: i };
240
240
  }),
241
241
  ...a.groupedObservations.flatMap((s) => {
242
- const { formFieldPath: c } = w(e, s.id);
242
+ const { formFieldPath: c } = T(e, s.id);
243
243
  return (s.members ?? []).map((i) => {
244
- const { comment: r } = w(e, i.id);
244
+ const { comment: r } = T(e, i.id);
245
245
  return { obs: i, formFieldPath: c, comment: r };
246
246
  });
247
247
  })
248
248
  ].filter(
249
249
  ({ formFieldPath: s }) => !s || s.includes(t)
250
250
  );
251
- }, Je = ({
251
+ }, Xe = ({
252
252
  episodeOfCareUuids: e,
253
253
  encounterUuids: t,
254
254
  config: a
255
255
  }) => {
256
- const { t: n } = ve(), s = ne(), [c, i] = k(!1), [r, p] = k(null), g = a?.numberOfVisits, f = de(
256
+ const { t: n } = ve(), s = ne(), [c, i] = H(!1), [r, p] = H(null), g = a?.numberOfVisits, f = de(
257
257
  e,
258
258
  t
259
259
  ), _ = he(), {
@@ -274,16 +274,16 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
274
274
  }), A = F(
275
275
  (l) => V.find((m) => m.name === l)?.uuid,
276
276
  [V]
277
- ), M = h(() => {
277
+ ), C = h(() => {
278
278
  if (r)
279
279
  return A(r.formName);
280
- }, [r, A]), { isLoading: Z, error: E } = L({
281
- queryKey: ["formMetadata", M],
282
- queryFn: () => ce(M),
283
- enabled: !!M && c
280
+ }, [r, A]), { isLoading: W, error: E } = L({
281
+ queryKey: ["formMetadata", C],
282
+ queryFn: () => ce(C),
283
+ enabled: !!C && c
284
284
  }), {
285
285
  data: R,
286
- isLoading: W,
286
+ isLoading: J,
287
287
  error: I
288
288
  } = L({
289
289
  queryKey: ["formsEncounterFHIR", r?.encounterUuid],
@@ -296,32 +296,32 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
296
296
  },
297
297
  [s]
298
298
  );
299
- const B = h(() => !R || !r?.formName ? [] : je(
299
+ const B = h(() => !R || !r?.formName ? [] : Qe(
300
300
  R,
301
301
  r.formName
302
- ), [R, r?.formName]), G = h(
302
+ ), [R, r?.formName]), S = h(
303
303
  () => [
304
304
  { key: "recordedOn", header: n("FORM_RECORDED_ON") },
305
305
  { key: "recordedBy", header: n("FORM_RECORDED_BY") }
306
306
  ],
307
307
  [n]
308
- ), J = h(
308
+ ), X = h(
309
309
  () => [
310
310
  { key: "recordedOn", sortable: !0 },
311
311
  { key: "recordedBy", sortable: !0 }
312
312
  ],
313
313
  []
314
- ), S = h(() => {
314
+ ), G = h(() => {
315
315
  const l = D.reduce(
316
316
  (m, u) => {
317
317
  const O = u.formName;
318
318
  m[O] ??= [];
319
- const T = u.providers.map((ee) => ee.providerName).filter(Boolean).join(", ");
319
+ const w = u.providers.map((ee) => ee.providerName).filter(Boolean).join(", ");
320
320
  return m[O].push({
321
321
  id: u.encounterUuid,
322
322
  formName: u.formName,
323
323
  recordedOn: pe(u.encounterDateTime, n, ge).formattedResult,
324
- recordedBy: T ?? "--",
324
+ recordedBy: w ?? "--",
325
325
  encounterDateTime: u.encounterDateTime,
326
326
  encounterUuid: u.encounterUuid
327
327
  }), m;
@@ -332,13 +332,13 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
332
332
  ([m, u]) => ({
333
333
  formName: m,
334
334
  records: u.sort(
335
- (O, T) => T.encounterDateTime - O.encounterDateTime
335
+ (O, w) => w.encounterDateTime - O.encounterDateTime
336
336
  )
337
337
  })
338
338
  ).sort((m, u) => m.formName.localeCompare(u.formName));
339
339
  }, [D, n]), q = F((l) => {
340
340
  p(l), i(!0);
341
- }, []), X = F(() => {
341
+ }, []), Z = F(() => {
342
342
  i(!1), p(null);
343
343
  }, []), U = F(
344
344
  (l, y) => {
@@ -354,10 +354,10 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
354
354
  [q]
355
355
  );
356
356
  return /* @__PURE__ */ b(P, { children: [
357
- /* @__PURE__ */ d("div", { "data-testid": "forms-table", children: v || N || S.length === 0 || f ? /* @__PURE__ */ d(
358
- x,
357
+ /* @__PURE__ */ d("div", { "data-testid": "forms-table", children: v || N || G.length === 0 || f ? /* @__PURE__ */ d(
358
+ k,
359
359
  {
360
- headers: G,
360
+ headers: S,
361
361
  ariaLabel: n("FORMS_HEADING"),
362
362
  rows: [],
363
363
  loading: v,
@@ -367,7 +367,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
367
367
  className: o.formsTableBody,
368
368
  dataTestId: "forms-table"
369
369
  }
370
- ) : /* @__PURE__ */ d(fe, { align: "start", children: S.map((l, y) => {
370
+ ) : /* @__PURE__ */ d(fe, { align: "start", children: G.map((l, y) => {
371
371
  const { formName: m, records: u } = l;
372
372
  return /* @__PURE__ */ d(
373
373
  _e,
@@ -377,14 +377,14 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
377
377
  testId: `accordian-title-${m}`,
378
378
  open: y === 0,
379
379
  children: /* @__PURE__ */ d(
380
- x,
380
+ k,
381
381
  {
382
- headers: G,
382
+ headers: S,
383
383
  ariaLabel: n("FORMS_HEADING"),
384
384
  rows: u,
385
385
  loading: !1,
386
386
  errorStateMessage: "",
387
- sortable: J,
387
+ sortable: X,
388
388
  emptyStateMessage: n("FORMS_UNAVAILABLE"),
389
389
  renderCell: U,
390
390
  className: o.formsTableBody,
@@ -400,14 +400,14 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
400
400
  {
401
401
  id: "modalIdForActionAreaLayout",
402
402
  open: c,
403
- onRequestClose: X,
403
+ onRequestClose: Z,
404
404
  modalHeading: r.formName,
405
405
  modalLabel: `${r.recordedOn} | ${r.recordedBy}`,
406
406
  passiveModal: !0,
407
407
  size: "md",
408
408
  testId: "form-details-modal",
409
- children: /* @__PURE__ */ d("div", { className: o.formContent, children: Z || W ? /* @__PURE__ */ d(ye, { width: "100%", lineCount: 3 }) : E ? /* @__PURE__ */ d("div", { children: H(E).message ?? n("ERROR_FETCHING_FORM_METADATA") }) : I ? /* @__PURE__ */ d("div", { children: H(I).message ?? n("ERROR_FETCHING_FORM_DATA") }) : B.length > 0 ? /* @__PURE__ */ d("div", { className: o.formDetailsContainer, children: B.map(({ obs: l, comment: y }, m) => /* @__PURE__ */ d(
410
- He,
409
+ children: /* @__PURE__ */ d("div", { className: o.formContent, children: W || J ? /* @__PURE__ */ d(ye, { width: "100%", lineCount: 3 }) : E ? /* @__PURE__ */ d("div", { children: x(E).message ?? n("ERROR_FETCHING_FORM_METADATA") }) : I ? /* @__PURE__ */ d("div", { children: x(I).message ?? n("ERROR_FETCHING_FORM_DATA") }) : B.length > 0 ? /* @__PURE__ */ d("div", { className: o.formDetailsContainer, children: B.map(({ obs: l, comment: y }, m) => /* @__PURE__ */ d(
410
+ xe,
411
411
  {
412
412
  observation: l,
413
413
  index: m,
@@ -421,5 +421,5 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
421
421
  ] });
422
422
  };
423
423
  export {
424
- Je as default
424
+ Xe as default
425
425
  };
@@ -1,17 +1,17 @@
1
1
  import { jsx as d, jsxs as S } from "react/jsx-runtime";
2
- import { h as M, _ as C, i as V, Z as k, j as q, N as G, $ as K, u as Q, a as j, x as H, S as P, G as Z, e as z, l as Y, s as x, B as J, t as W } from "./index-qhCmLUh7.js";
3
- import { useQueries as X, useQuery as ee } from "@tanstack/react-query";
2
+ import { f as K, _ as C, g as Q, Q as w, h as M, N as V, $ as k, u as G, a as j, q as H, R as P, K as z, e as Y, j as J, s as W, B as X, t as Z } from "./index-ISsJ4Q8I.js";
3
+ import { useQueries as x, useQuery as ee } from "@tanstack/react-query";
4
4
  import { useRef as te, useEffect as I, useMemo as h } from "react";
5
5
  import { useTranslation as D } from "react-i18next";
6
6
  const U = (t, c, n, l, o) => {
7
- const s = V(t, c), r = s.value, a = k(r);
7
+ const s = Q(t, c), r = s.value, a = w(r);
8
8
  let i = r;
9
- a === "Image" && (i = /* @__PURE__ */ d(G, { imageSrc: r, alt: r, id: `${r}-img` })), a === "Video" && (i = /* @__PURE__ */ d(K, { id: `${r}-video`, videoSrc: r }));
9
+ a === "Image" && (i = /* @__PURE__ */ d(V, { imageSrc: r, alt: r, id: `${r}-img` })), a === "Video" && (i = /* @__PURE__ */ d(k, { id: `${r}-video`, videoSrc: r }));
10
10
  const u = o("OBSERVATIONS_RECORDED_BY", {
11
11
  provider: s.provider
12
12
  }), b = t.display, p = t.observationValue?.isAbnormal ? "abnormal-obs" : "obs", f = l ? `${l}-${p}-${b}-${n}-${c}` : `${p}-${b}-${n}-${c}`;
13
13
  return /* @__PURE__ */ d(
14
- q,
14
+ M,
15
15
  {
16
16
  header: s.header,
17
17
  value: i,
@@ -38,7 +38,7 @@ const U = (t, c, n, l, o) => {
38
38
  title: c = ""
39
39
  }) => {
40
40
  const { t: n } = D(), l = (o, s, r) => {
41
- const a = M(o.encounterDetails, n);
41
+ const a = K(o.encounterDetails, n);
42
42
  return /* @__PURE__ */ S(
43
43
  C,
44
44
  {
@@ -79,7 +79,7 @@ const U = (t, c, n, l, o) => {
79
79
  observations: re,
80
80
  title: ae
81
81
  }, ne = (t) => ["conceptUuid", t], ie = (t, c) => ["observations", t, ...c], pe = ({ config: t }) => {
82
- const c = t, { conceptNames: n = [], conceptUuid: l = [] } = c, o = te(/* @__PURE__ */ new Set()), s = Q(), { addNotification: r } = j(), { t: a } = D(), i = X({
82
+ const c = t, { conceptNames: n = [], conceptUuid: l = [] } = c, o = te(/* @__PURE__ */ new Set()), s = G(), { addNotification: r } = j(), { t: a } = D(), i = x({
83
83
  queries: n.map((e) => ({
84
84
  queryKey: ne(e),
85
85
  queryFn: () => H(e),
@@ -108,7 +108,7 @@ const U = (t, c, n, l, o) => {
108
108
  queryFn: () => P(s, b),
109
109
  enabled: !!s && b.length > 0 && v
110
110
  });
111
- Z(
111
+ z(
112
112
  (e) => {
113
113
  e.patientUUID === s && e.updatedConcepts.size > 0 && [...e.updatedConcepts.keys()].some(
114
114
  (g) => b.includes(g)
@@ -124,13 +124,13 @@ const U = (t, c, n, l, o) => {
124
124
  }, [O]);
125
125
  const T = h(() => {
126
126
  if (!p) return [];
127
- const e = z(p), m = Y(e);
128
- return x(m);
127
+ const e = Y(p), m = J(e);
128
+ return W(m);
129
129
  }, [p]), B = [
130
130
  { key: "name", header: "name" },
131
131
  { key: "value", header: "value" },
132
132
  { key: "form", header: "form" }
133
- ], _ = f || !v, $ = O && v, A = (!p || p.entry?.length === 0 || b.length === 0) && v, F = $ ? a("ERROR_FETCHING_OBSERVATIONS") : null, L = A ? a("NO_OBSERVATIONS_FOUND") : void 0, w = T.length > 0 && !_ && !$, E = c.titleTranslationKey, y = E ? a(E) : "";
133
+ ], _ = f || !v, $ = O && v, A = (!p || p.entry?.length === 0 || b.length === 0) && v, F = $ ? a("ERROR_FETCHING_OBSERVATIONS") : null, L = A ? a("NO_OBSERVATIONS_FOUND") : void 0, q = T.length > 0 && !_ && !$, E = c.titleTranslationKey, y = E ? a(E) : "";
134
134
  return /* @__PURE__ */ S(
135
135
  "div",
136
136
  {
@@ -140,7 +140,7 @@ const U = (t, c, n, l, o) => {
140
140
  className: N.observations,
141
141
  children: [
142
142
  /* @__PURE__ */ d(
143
- J,
143
+ X,
144
144
  {
145
145
  id: "observations-title",
146
146
  testId: E ? `observations-title-${y}` : "observations-title",
@@ -149,8 +149,8 @@ const U = (t, c, n, l, o) => {
149
149
  children: /* @__PURE__ */ d("p", { children: y })
150
150
  }
151
151
  ),
152
- w ? /* @__PURE__ */ d(oe, { groupedData: T, title: y }) : /* @__PURE__ */ d(
153
- W,
152
+ q ? /* @__PURE__ */ d(oe, { groupedData: T, title: y }) : /* @__PURE__ */ d(
153
+ Z,
154
154
  {
155
155
  headers: B,
156
156
  rows: [],
@@ -1 +1 @@
1
- {"version":3,"file":"AppointmentsTable.d.ts","sourceRoot":"","sources":["../../src/appointments/AppointmentsTable.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA8EhD,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA6N5C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"AppointmentsTable.d.ts","sourceRoot":"","sources":["../../src/appointments/AppointmentsTable.tsx"],"names":[],"mappings":"AASA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAYhD,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwI5C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+ import { FormattedAppointment } from '../utils';
3
+ interface AppointmentTabContentProps {
4
+ appointments: FormattedAppointment[];
5
+ isLoading: boolean;
6
+ emptyMessageKey: string;
7
+ headers: Array<{
8
+ key: string;
9
+ header: string;
10
+ }>;
11
+ sortable: Array<{
12
+ key: string;
13
+ sortable: boolean;
14
+ }>;
15
+ renderCell: (row: FormattedAppointment, key: string) => React.ReactNode;
16
+ }
17
+ declare const AppointmentTabContent: React.FC<AppointmentTabContentProps>;
18
+ export default AppointmentTabContent;
19
+ //# sourceMappingURL=AppointmentTabContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppointmentTabContent.d.ts","sourceRoot":"","sources":["../../../src/appointments/components/AppointmentTabContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,UAAU,0BAA0B;IAClC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpD,UAAU,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACzE;AAED,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAyB/D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { FormattedAppointment } from '../utils';
3
+ interface PastAppointmentsProps {
4
+ patientUUID: string;
5
+ numberOfPastAppointments?: number;
6
+ headers: Array<{
7
+ key: string;
8
+ header: string;
9
+ }>;
10
+ sortable: Array<{
11
+ key: string;
12
+ sortable: boolean;
13
+ }>;
14
+ renderCell: (row: FormattedAppointment, key: string) => React.ReactNode;
15
+ }
16
+ declare const PastAppointments: React.FC<PastAppointmentsProps>;
17
+ export default PastAppointments;
18
+ //# sourceMappingURL=PastAppointments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PastAppointments.d.ts","sourceRoot":"","sources":["../../../src/appointments/components/PastAppointments.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpD,UAAU,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACzE;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4BrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { FormattedAppointment } from '../utils';
3
+ interface UpcomingAppointmentsProps {
4
+ patientUUID: string;
5
+ headers: Array<{
6
+ key: string;
7
+ header: string;
8
+ }>;
9
+ sortable: Array<{
10
+ key: string;
11
+ sortable: boolean;
12
+ }>;
13
+ renderCell: (row: FormattedAppointment, key: string) => React.ReactNode;
14
+ }
15
+ declare const UpcomingAppointments: React.FC<UpcomingAppointmentsProps>;
16
+ export default UpcomingAppointments;
17
+ //# sourceMappingURL=UpcomingAppointments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpcomingAppointments.d.ts","sourceRoot":"","sources":["../../../src/appointments/components/UpcomingAppointments.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,UAAU,yBAAyB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpD,UAAU,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACzE;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA2B7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { useTranslation } from '@bahmni/services';
2
+ import { useQuery } from '@tanstack/react-query';
3
+ import { useNotification } from '../../../notification';
4
+ export declare const getAppointmentMocks: () => {
5
+ mockUseQuery: jest.MockedFunction<typeof useQuery>;
6
+ mockUseTranslation: jest.MockedFunction<typeof useTranslation>;
7
+ mockUseNotification: jest.MockedFunction<typeof useNotification>;
8
+ };
9
+ export declare const setupAppointmentMocks: (mocks: ReturnType<typeof getAppointmentMocks>) => jest.Mock<any, any, any>;
10
+ export declare const getAppointmentTestCases: (config: {
11
+ Component: React.ComponentType<any>;
12
+ queryKeyPrefix: string;
13
+ testProps?: Record<string, any>;
14
+ }, mocks: ReturnType<typeof getAppointmentMocks>) => {
15
+ renderLoadingTest: () => void;
16
+ errorNotificationTest: () => void;
17
+ correctParametersTest: () => void;
18
+ };
19
+ //# sourceMappingURL=appointmentComponentTestHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appointmentComponentTestHelper.d.ts","sourceRoot":"","sources":["../../../../src/appointments/components/__tests__/appointmentComponentTestHelper.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,eAAO,MAAM,mBAAmB;kBACJ,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC;wBACxB,IAAI,CAAC,cAAc,CACvD,OAAO,cAAc,CACtB;yBACuC,IAAI,CAAC,cAAc,CACzD,OAAO,eAAe,CACvB;CACD,CAAC;AAEH,eAAO,MAAM,qBAAqB,GAChC,OAAO,UAAU,CAAC,OAAO,mBAAmB,CAAC,6BAqB9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ;IACN,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC,EACD,OAAO,UAAU,CAAC,OAAO,mBAAmB,CAAC;;;;CAwC9C,CAAC"}
@@ -1,12 +1,5 @@
1
- export declare const APPOINTMENT_STATUS: {
2
- readonly SCHEDULED: "scheduled";
3
- readonly CONFIRMED: "confirmed";
4
- readonly COMPLETED: "completed";
5
- readonly CANCELLED: "cancelled";
6
- readonly MISSED: "missed";
7
- readonly WAITLIST: "waitlist";
8
- readonly CHECKEDIN: "checkedin";
9
- };
10
- export declare const APPOINTMENT_STATUS_CLASS_MAP: Record<string, string>;
11
- export declare const APPOINTMENT_STATUS_TRANSLATION_MAP: Record<string, string>;
1
+ export declare const APPOINTMENT_STATUS_STYLES_MAP: Record<string, string>;
2
+ export declare const getAppointmentStatusKey: (status: string) => string;
3
+ export declare const FIELD_TRANSLATION_MAP: Record<string, string>;
4
+ export declare const DEFAULT_FIELDS: string[];
12
5
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/appointments/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;CAQrB,CAAC;AAEX,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQ/D,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQrE,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/appointments/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWhE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,MAIxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQxD,CAAC;AAEF,eAAO,MAAM,cAAc,UAQ1B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { UseQueryResult } from '@tanstack/react-query';
2
+ import { Appointment as FhirAppointment, Bundle } from 'fhir/r4';
3
+ interface UseAppointmentQueryOptions {
4
+ queryKey: string[];
5
+ queryFn: () => Promise<Bundle<FhirAppointment>>;
6
+ patientUUID: string;
7
+ }
8
+ export declare const useAppointmentQuery: ({ queryKey, queryFn, patientUUID, }: UseAppointmentQueryOptions) => UseQueryResult<Bundle<FhirAppointment>>;
9
+ export {};
10
+ //# sourceMappingURL=useAppointmentQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAppointmentQuery.d.ts","sourceRoot":"","sources":["../../../src/appointments/hooks/useAppointmentQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAItE,UAAU,0BAA0B;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,GAAI,qCAIjC,0BAA0B,KAAG,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAqBrE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Appointment as FhirAppointment, Bundle } from 'fhir/r4';
2
+ import { FormattedAppointment } from '../utils';
3
+ interface UseFormattedAppointmentsOptions {
4
+ data: Bundle<FhirAppointment> | undefined;
5
+ idPrefix: string;
6
+ }
7
+ export declare const useFormattedAppointments: ({ data, idPrefix, }: UseFormattedAppointmentsOptions) => FormattedAppointment[];
8
+ export {};
9
+ //# sourceMappingURL=useFormattedAppointments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormattedAppointments.d.ts","sourceRoot":"","sources":["../../../src/appointments/hooks/useFormattedAppointments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,EACL,oBAAoB,EAErB,MAAM,UAAU,CAAC;AAElB,UAAU,+BAA+B;IACvC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,wBAAwB,GAAI,qBAGtC,+BAA+B,KAAG,oBAAoB,EAmBxD,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface FormattedAppointment {
2
+ readonly id: string;
3
+ readonly uuid: string;
4
+ readonly appointmentNumber: string;
5
+ readonly appointmentDate: string;
6
+ readonly appointmentSlot: string;
7
+ readonly service: string;
8
+ readonly reason: string;
9
+ readonly status: string;
10
+ readonly provider: string;
11
+ }
12
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/appointments/models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
@@ -1,14 +1,6 @@
1
- import { Appointment } from '@bahmni/services';
2
- export interface FormattedAppointment extends Appointment {
3
- id?: string;
4
- appointmentDate: string;
5
- appointmentTime: string;
6
- appointmentSlot?: string;
7
- reason?: string;
8
- }
9
- export declare const formatAppointment: (appointment: Appointment & {
10
- appointmentSlot?: string;
11
- appointmentNumber?: string;
12
- }) => FormattedAppointment;
1
+ import { Appointment as FhirAppointment } from 'fhir/r4';
2
+ import { FormattedAppointment } from './models';
3
+ export type { FormattedAppointment };
13
4
  export declare const sortAppointmentsByDate: (appointments: FormattedAppointment[]) => FormattedAppointment[];
5
+ export declare const transformFhirAppointmentToFormatted: (fhirAppt: FhirAppointment) => FormattedAppointment;
14
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/appointments/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkCD,eAAO,MAAM,iBAAiB,GAC5B,aAAa,WAAW,GAAG;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,KACA,oBAyCF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,cAAc,oBAAoB,EAAE,KACnC,oBAAoB,EAiBtB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/appointments/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AA8FrC,eAAO,MAAM,sBAAsB,GACjC,cAAc,oBAAoB,EAAE,KACnC,oBAAoB,EAatB,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAC9C,UAAU,eAAe,KACxB,oBAAkE,CAAC"}