@bahmni/widgets 0.0.1-dev.409 → 0.0.1-dev.410

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.
package/dist/index.d.ts CHANGED
@@ -37,4 +37,5 @@ export { registerSearchWidget, getSearchWidget, clearSearchWidgetRegistry, type
37
37
  export { registerWidget, getWidget, getWidgetConfig, hasWidget, getAllWidgetTypes, getAllWidgetConfigs, resetWidgetRegistry, type WidgetConfig, } from './registry';
38
38
  export { UserGlobalAction, UserActionProvider, useUserActionRegistry, type UserAction, } from './userGlobalAction';
39
39
  export { LocationContext, useLocation, LocationProvider, LocationSelector, } from './location';
40
+ export { deriveFormSchemaData } from './utils/Observations';
40
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ah as o, af as r, L as n, ae as g, M as c, X as l, k as d, a7 as P, an as m, N as v, z as u, U as C, E as A, H as T, a2 as b, a5 as p, $ as I, ay as N, aA as W, aB as L, W as S, a9 as U, aa as f, O as R, P as h, a4 as D, a6 as y, _ as O, Z as _, a0 as x, a3 as E, aw as k, av as H, ad as z, a1 as G, am as M, aj as V, ai as q, i as w, at as B, as as F, al as j, ap as K, aq as X, ar as Y, ak as Z, ao as $, I as J, au as Q, ag as aa, a8 as ea, ab as sa, d as ta, az as ia, a as oa, ac as ra, u as na, ax as ga, e as ca } from "./index-CxgzK6B5.js";
1
+ import { ai as o, ag as r, M as n, af as g, N as c, Z as l, l as d, a8 as P, ao as m, U as v, E as C, W as u, H as A, I as T, a3 as b, a6 as p, a0 as I, az as N, aB as S, aC as W, X as L, aa as U, ab as f, O as h, P as D, a5 as R, a7 as y, $ as O, _, a1 as x, a4 as E, ax as H, aw as k, ae as F, a2 as G, an as M, ak as V, aj as j, j as q, i as w, au as z, at as B, am as K, aq as X, ar as Y, as as Z, al as $, ap as J, L as Q, av as aa, ah as ea, a9 as sa, ac as ta, d as ia, aA as oa, a as ra, ad as na, u as ga, ay as ca, e as la } from "./index-B4RtTGnL.js";
2
2
  import "react";
3
3
  import "react/jsx-runtime";
4
4
  import "@tanstack/react-query";
@@ -13,53 +13,54 @@ export {
13
13
  P as CommandPaletteProvider,
14
14
  m as CommonSearchWidget,
15
15
  v as ConditionsTable,
16
- u as ConfirmationModal,
17
- C as DiagnosesTable,
16
+ C as ConfirmationModal,
17
+ u as DiagnosesTable,
18
18
  A as DocumentPrintButton,
19
19
  T as DocumentUpload,
20
20
  b as GenericServiceRequestTable,
21
21
  p as ImmunizationHistory,
22
22
  I as LabInvestigation,
23
23
  N as LocationContext,
24
- W as LocationProvider,
25
- L as LocationSelector,
26
- S as MedicationsTable,
24
+ S as LocationProvider,
25
+ W as LocationSelector,
26
+ L as MedicationsTable,
27
27
  U as NotificationProvider,
28
28
  f as NotificationServiceComponent,
29
- R as ObservationsRenderer,
30
- h as PatientDetails,
31
- D as PatientProgramsTable,
29
+ h as ObservationsRenderer,
30
+ D as PatientDetails,
31
+ R as PatientProgramsTable,
32
32
  y as ProgramDetails,
33
33
  O as RadiologyInvestigationReport,
34
34
  _ as RadiologyInvestigationTable,
35
35
  x as SearchPatient,
36
36
  E as TaskList,
37
- k as UserActionProvider,
38
- H as UserGlobalAction,
39
- z as UserPrivilegeProvider,
37
+ H as UserActionProvider,
38
+ k as UserGlobalAction,
39
+ F as UserPrivilegeProvider,
40
40
  G as VitalFlowSheet,
41
41
  M as clearSearchWidgetRegistry,
42
42
  V as createConfigHook,
43
- q as createConfigProvider,
43
+ j as createConfigProvider,
44
+ q as deriveFormSchemaData,
44
45
  w as extractFormName,
45
- B as getAllWidgetConfigs,
46
- F as getAllWidgetTypes,
47
- j as getSearchWidget,
48
- K as getWidget,
49
- X as getWidgetConfig,
50
- Y as hasWidget,
51
- Z as registerSearchWidget,
52
- $ as registerWidget,
53
- J as renderDocumentTile,
54
- Q as resetWidgetRegistry,
55
- aa as useActivePractitioner,
56
- ea as useCommandPalette,
57
- sa as useDebounce,
58
- ta as useHasPrivilege,
59
- ia as useLocation,
60
- oa as useNotification,
61
- ra as usePatientPhoto,
62
- na as usePatientUUID,
63
- ga as useUserActionRegistry,
64
- ca as useUserPrivilege
46
+ z as getAllWidgetConfigs,
47
+ B as getAllWidgetTypes,
48
+ K as getSearchWidget,
49
+ X as getWidget,
50
+ Y as getWidgetConfig,
51
+ Z as hasWidget,
52
+ $ as registerSearchWidget,
53
+ J as registerWidget,
54
+ Q as renderDocumentTile,
55
+ aa as resetWidgetRegistry,
56
+ ea as useActivePractitioner,
57
+ sa as useCommandPalette,
58
+ ta as useDebounce,
59
+ ia as useHasPrivilege,
60
+ oa as useLocation,
61
+ ra as useNotification,
62
+ na as usePatientPhoto,
63
+ ga as usePatientUUID,
64
+ ca as useUserActionRegistry,
65
+ la as useUserPrivilege
65
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ViewFormData.d.ts","sourceRoot":"","sources":["../../../../src/tasks/views/ViewFormData/ViewFormData.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI5D,UAAU,iBAAiB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AASD,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiK7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ViewFormData.d.ts","sourceRoot":"","sources":["../../../../src/tasks/views/ViewFormData/ViewFormData.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI5D,UAAU,iBAAiB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AASD,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4L7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -11,4 +11,11 @@ export declare function sortObservationsBySortId(observations: ExtractedObservat
11
11
  export declare function sortObservationsByControlOrder(observations: ExtractedObservation[], controlOrder: string[]): ExtractedObservation[];
12
12
  export declare function groupMultiSelectObservations(observations: ExtractedObservation[]): ExtractedObservation[];
13
13
  export declare function transformObservations(observations: Observation[]): ExtractedObservation[];
14
+ interface FormSchemaData {
15
+ controlOrder: string[] | undefined;
16
+ sectionMap: Record<string, string> | undefined;
17
+ conceptDatatypeMap: Record<string, string> | undefined;
18
+ }
19
+ export declare const deriveFormSchemaData: (schema: unknown) => FormSchemaData;
20
+ export {};
14
21
  //# sourceMappingURL=Observations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Observations.d.ts","sourceRoot":"","sources":["../../src/utils/Observations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAWhF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAG7D,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAY1E;AAqDD,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,GACvB,gBAAgB,GAAG,SAAS,CAkE9B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,GAAG;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB,CAyBA;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,oBAAoB,EAAE,GACnC,oBAAoB,EAAE,CAKxB;AAED,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,oBAAoB,EAAE,EACpC,YAAY,EAAE,MAAM,EAAE,GACrB,oBAAoB,EAAE,CASxB;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,oBAAoB,EAAE,GACnC,oBAAoB,EAAE,CAoCxB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,EAAE,CAwDxB"}
1
+ {"version":3,"file":"Observations.d.ts","sourceRoot":"","sources":["../../src/utils/Observations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAWhF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAG7D,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAY1E;AAqDD,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,GACvB,gBAAgB,GAAG,SAAS,CAkE9B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,GAAG;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB,CAyBA;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,oBAAoB,EAAE,GACnC,oBAAoB,EAAE,CAKxB;AAED,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,oBAAoB,EAAE,EACpC,YAAY,EAAE,MAAM,EAAE,GACrB,oBAAoB,EAAE,CASxB;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,oBAAoB,EAAE,GACnC,oBAAoB,EAAE,CAoCxB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,EAAE,CAwDxB;AAgED,UAAU,cAAc;IACtB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACxD;AAED,eAAO,MAAM,oBAAoB,GAAI,QAAQ,OAAO,KAAG,cAIrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bahmni/widgets",
3
- "version": "0.0.1-dev.409",
3
+ "version": "0.0.1-dev.410",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -1,306 +0,0 @@
1
- import { jsx as i, jsxs as $, Fragment as ge } from "react/jsx-runtime";
2
- import { u as be, d as Oe, e as Ne, y as Ee, g as Te, p as ve, h as Fe, J as Ie, D as Ae, f as _e, i as De, Y as G, Q as Re, C as K, B as Q, V as Me, b as z, r as Le, j as Be, c as Ce, O as Se, k as Ue } from "./index-CxgzK6B5.js";
3
- import { useQueryClient as ke, useQuery as E } from "@tanstack/react-query";
4
- import { useState as Y, useMemo as d, useCallback as c } from "react";
5
- import { useTranslation as we } from "react-i18next";
6
- const He = "FormsTable-module_formsTableBody__SvGha", Ve = "FormsTable-module_modalHeading__wnTmA", qe = "FormsTable-module_customAccordianItem__isszs", T = {
7
- formsTableBody: He,
8
- modalHeading: Ve,
9
- customAccordianItem: qe
10
- }, Pe = "startConsultation", Qe = ({
11
- episodeOfCareUuids: R,
12
- encounterUuids: m,
13
- config: J,
14
- disableActions: W = !1,
15
- activeEncounterUuid: y = null
16
- }) => {
17
- const { t: n } = we(), u = be(), [g, M] = Y(!1), [a, L] = Y(null), {
18
- numberOfVisits: X,
19
- hideThumbnail: Z = !1,
20
- forms: b
21
- } = J ?? {}, ee = Oe(
22
- Ue.EDIT_OBSERVATIONS
23
- ), { userPrivileges: O } = Ne(), v = ee && !W && !!y, B = Ee(
24
- R,
25
- m
26
- ), re = ke(), {
27
- data: C = [],
28
- isLoading: S,
29
- isError: U,
30
- error: te,
31
- refetch: oe
32
- } = E({
33
- queryKey: ["forms", u, R],
34
- queryFn: () => Te(u, void 0, X),
35
- enabled: !!u && !B
36
- }), k = d(() => {
37
- let e = C;
38
- return m && m.length > 0 && (e = e.filter(
39
- (r) => m.includes(r.encounterUuid)
40
- )), Array.isArray(b) && b.length > 0 && (e = e.filter(
41
- (r) => b.some((o) => o.toLowerCase() === r.formName.toLowerCase())
42
- )), e;
43
- }, [C, m, b]), { data: N = [] } = E({
44
- queryKey: ["observationForms"],
45
- queryFn: () => ve()
46
- }), w = c(
47
- (e) => {
48
- const r = N.find((t) => t.name === e);
49
- if (!r?.privileges || r.privileges.length === 0) return !0;
50
- if (!O || O.length === 0) return !1;
51
- const o = new Set(O.map((t) => t.name));
52
- return r.privileges.some(
53
- (t) => o.has(t.privilegeName) && t.editable
54
- );
55
- },
56
- [N, O]
57
- ), f = c(
58
- (e) => !y || e.encounterUuid !== y ? !1 : w(e.formName),
59
- [y, w]
60
- ), H = c(
61
- (e) => N.find((o) => o.name === e)?.uuid,
62
- [N]
63
- ), F = d(() => {
64
- if (a)
65
- return H(a.formName);
66
- }, [a, H]), {
67
- data: l,
68
- isLoading: se,
69
- isError: ae,
70
- error: I
71
- } = E({
72
- queryKey: ["formMetadata", F],
73
- queryFn: () => Fe(F),
74
- enabled: !!F && g
75
- }), {
76
- data: A,
77
- isLoading: ne,
78
- isError: ie,
79
- error: _
80
- } = E({
81
- queryKey: ["formsEncounterFHIR", a?.encounterUuid],
82
- queryFn: () => Ie(a.encounterUuid),
83
- enabled: !!a?.encounterUuid && g
84
- });
85
- Ae(
86
- (e) => {
87
- e.patientUUID === u && (oe(), re.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
88
- },
89
- [u]
90
- );
91
- const de = d(() => !A?.entry || !a?.formName ? [] : A.entry.filter((r) => r.resource?.resourceType === "Observation").map((r) => r.resource).filter((r) => _e(r) ? De(r)?.toLowerCase() === a.formName.toLowerCase() : !0), [A, a?.formName]), le = d(() => {
92
- if (!l?.schema) return;
93
- const e = [], r = (o) => {
94
- (o ?? []).forEach((t) => {
95
- const s = t;
96
- s.id != null && e.push(String(s.id)), s.controls && r(s.controls);
97
- });
98
- };
99
- return r(
100
- l.schema.controls ?? []
101
- ), e.length > 0 ? e : void 0;
102
- }, [l]), ce = d(() => {
103
- if (!l?.schema) return;
104
- const e = {}, r = (o, t) => {
105
- for (const s of o)
106
- if (s.type === "section") {
107
- const p = s.label?.value ?? "Section";
108
- r(s.controls ?? [], p);
109
- } else
110
- s.id != null && t && (e[String(s.id)] = t), s.controls && r(s.controls, t);
111
- };
112
- return r(
113
- l.schema.controls ?? [],
114
- null
115
- ), Object.keys(e).length > 0 ? e : void 0;
116
- }, [l]), me = d(() => {
117
- if (!l?.schema) return;
118
- const e = {}, r = (o) => {
119
- (o ?? []).forEach((t) => {
120
- const s = t;
121
- s.concept?.uuid && s.concept?.datatype && (e[s.concept.uuid] = s.concept.datatype), s.controls && r(s.controls);
122
- });
123
- };
124
- return r(
125
- l.schema.controls ?? []
126
- ), Object.keys(e).length > 0 ? e : void 0;
127
- }, [l]), ue = d(() => {
128
- if (I)
129
- return G(I).message;
130
- if (_)
131
- return G(_).message;
132
- }, [I, _]), h = d(
133
- () => [
134
- { key: "recordedOn", header: n("RECORDED_ON") },
135
- { key: "recordedBy", header: n("RECORDED_BY") }
136
- ],
137
- [n]
138
- ), V = d(
139
- () => [...h, { key: "actions", header: n("ACTIONS") }],
140
- [h, n]
141
- ), fe = c(
142
- (e) => v && e.some((o) => f(o)) ? V : h,
143
- [v, f, V, h]
144
- ), he = h, pe = d(
145
- () => [
146
- { key: "recordedOn", sortable: !0 },
147
- { key: "recordedBy", sortable: !0 }
148
- ],
149
- []
150
- ), q = d(() => {
151
- const e = k.reduce(
152
- (o, t) => {
153
- const s = t.formName;
154
- o[s] ??= [];
155
- const p = t.providers.map((ye) => ye.providerName).filter(Boolean).join(", ");
156
- return o[s].push({
157
- id: t.encounterUuid,
158
- formName: t.formName,
159
- recordedOn: Re(t.encounterDateTime, n, !0).formattedResult,
160
- recordedBy: p ?? "--",
161
- encounterDateTime: t.encounterDateTime,
162
- encounterUuid: t.encounterUuid
163
- }), o;
164
- },
165
- {}
166
- );
167
- return Object.entries(e).map(
168
- ([o, t]) => ({
169
- formName: o,
170
- records: t.sort(
171
- (s, p) => p.encounterDateTime - s.encounterDateTime
172
- )
173
- })
174
- ).sort((o, t) => o.formName.localeCompare(t.formName));
175
- }, [k, n]), P = c((e) => {
176
- L(e), M(!0);
177
- }, []), j = c(() => {
178
- M(!1), L(null);
179
- }, []), D = c((e) => {
180
- globalThis.dispatchEvent(
181
- new CustomEvent(Pe, {
182
- detail: {
183
- editOnly: "observationForms",
184
- editTitle: "EDIT_OBSERVATION_FORM_TITLE",
185
- sourceEncounterUuid: e.encounterUuid,
186
- formName: e.formName,
187
- directFormMode: !0
188
- }
189
- })
190
- );
191
- }, []), x = c(
192
- (e, r) => {
193
- switch (r) {
194
- case "recordedOn":
195
- return /* @__PURE__ */ i(Me, { onClick: () => P(e), children: e.recordedOn });
196
- case "recordedBy":
197
- return e.recordedBy;
198
- case "actions":
199
- return f(e) ? /* @__PURE__ */ i(
200
- K,
201
- {
202
- label: n("EDIT_OBSERVATION_FORM"),
203
- kind: "ghost",
204
- size: "sm",
205
- testId: `edit-form-${e.encounterUuid}`,
206
- onClick: () => D(e),
207
- children: /* @__PURE__ */ i(Q, {})
208
- }
209
- ) : null;
210
- default:
211
- return null;
212
- }
213
- },
214
- [P, D, f, n]
215
- );
216
- return /* @__PURE__ */ $(ge, { children: [
217
- /* @__PURE__ */ i("div", { id: "forms-table", "data-testid": "forms-table", children: S || U || q.length === 0 || B ? /* @__PURE__ */ i(
218
- z,
219
- {
220
- headers: he,
221
- ariaLabel: n("FORMS_HEADING"),
222
- rows: [],
223
- loading: S,
224
- errorStateMessage: U ? te?.message : void 0,
225
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
226
- renderCell: x,
227
- className: T.formsTableBody,
228
- dataTestId: "forms-table"
229
- }
230
- ) : /* @__PURE__ */ i(Le, { align: "start", children: q.map((e, r) => {
231
- const { formName: o, records: t } = e, s = fe(t);
232
- return /* @__PURE__ */ i(
233
- Be,
234
- {
235
- title: o,
236
- className: T.customAccordianItem,
237
- testId: `accordian-title-${o}`,
238
- open: r === 0,
239
- children: /* @__PURE__ */ i(
240
- z,
241
- {
242
- headers: s,
243
- ariaLabel: n("FORMS_HEADING"),
244
- rows: t,
245
- loading: !1,
246
- errorStateMessage: "",
247
- sortable: pe,
248
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
249
- renderCell: x,
250
- className: T.formsTableBody,
251
- dataTestId: `forms-table-${o}`
252
- }
253
- )
254
- },
255
- o
256
- );
257
- }) }) }),
258
- g && a && /* @__PURE__ */ i(
259
- Ce,
260
- {
261
- id: "modalIdForActionAreaLayout",
262
- portalId: "main-display-area",
263
- open: g,
264
- onRequestClose: j,
265
- modalHeading: /* @__PURE__ */ $("div", { className: T.modalHeading, children: [
266
- /* @__PURE__ */ i("span", { children: a.formName }),
267
- v && f(a) && /* @__PURE__ */ i(
268
- K,
269
- {
270
- label: n("EDIT_OBSERVATION_FORM"),
271
- kind: "ghost",
272
- size: "sm",
273
- testId: `edit-form-modal-${a.encounterUuid}`,
274
- onClick: () => {
275
- j(), D(a);
276
- },
277
- children: /* @__PURE__ */ i(Q, {})
278
- }
279
- )
280
- ] }),
281
- modalLabel: `${a.recordedOn} | ${a.recordedBy}`,
282
- passiveModal: !0,
283
- size: "md",
284
- testId: "form-details-modal",
285
- children: /* @__PURE__ */ i(
286
- Se,
287
- {
288
- observations: de,
289
- isLoading: se || ne,
290
- isError: ae || ie,
291
- errorMessage: ue,
292
- emptyStateMessage: n("NO_FORM_DATA_AVAILABLE"),
293
- testIdPrefix: a.formName,
294
- hideThumbnail: Z,
295
- controlOrder: le,
296
- sectionMap: ce,
297
- conceptDatatypeMap: me
298
- }
299
- )
300
- }
301
- )
302
- ] });
303
- };
304
- export {
305
- Qe as default
306
- };