pat-shared-components 1.3.1-beta.34 → 1.3.1-beta.36

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 (58) hide show
  1. package/dist/pat-shared-components.js +1 -1
  2. package/dist/pat-shared-components.mjs +42 -40
  3. package/dist/pat-shared-components.mjs.map +1 -1
  4. package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.js +1 -1
  5. package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.js.map +1 -1
  6. package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.mjs +89 -81
  7. package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.mjs.map +1 -1
  8. package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.js +1 -1
  9. package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.js.map +1 -1
  10. package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.mjs +86 -78
  11. package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.mjs.map +1 -1
  12. package/dist/src/components/TestResult/Shared/BookAppointment.vue.js +1 -1
  13. package/dist/src/components/TestResult/Shared/BookAppointment.vue.js.map +1 -1
  14. package/dist/src/components/TestResult/Shared/BookAppointment.vue.mjs +48 -23
  15. package/dist/src/components/TestResult/Shared/BookAppointment.vue.mjs.map +1 -1
  16. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.js +2 -0
  17. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.js.map +1 -0
  18. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.mjs +30 -0
  19. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.mjs.map +1 -0
  20. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.js +2 -0
  21. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.js.map +1 -0
  22. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.mjs +5 -0
  23. package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.mjs.map +1 -0
  24. package/dist/src/components/TestResult/Shared/ResultReadyV2.vue.js +1 -1
  25. package/dist/src/components/TestResult/Shared/ResultReadyV2.vue.mjs +2 -2
  26. package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.js +1 -1
  27. package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.js.map +1 -1
  28. package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.mjs +184 -108
  29. package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.mjs.map +1 -1
  30. package/dist/src/components/TestResult/Shared/ResultReport.vue.js +2 -0
  31. package/dist/src/components/TestResult/Shared/ResultReport.vue.js.map +1 -0
  32. package/dist/src/components/TestResult/Shared/ResultReport.vue.mjs +53 -0
  33. package/dist/src/components/TestResult/Shared/ResultReport.vue.mjs.map +1 -0
  34. package/dist/src/components/TestResult/Shared/ResultReport.vue2.js +2 -0
  35. package/dist/src/components/TestResult/Shared/ResultReport.vue2.js.map +1 -0
  36. package/dist/src/components/TestResult/Shared/ResultReport.vue2.mjs +5 -0
  37. package/dist/src/components/TestResult/Shared/ResultReport.vue2.mjs.map +1 -0
  38. package/dist/src/components/TestResult/Shared/TakeSurvey.vue.js.map +1 -1
  39. package/dist/src/components/TestResult/Shared/TakeSurvey.vue.mjs +3 -1
  40. package/dist/src/components/TestResult/Shared/TakeSurvey.vue.mjs.map +1 -1
  41. package/dist/src/helpers/DateHelper.js +1 -1
  42. package/dist/src/helpers/DateHelper.js.map +1 -1
  43. package/dist/src/helpers/DateHelper.mjs +42 -17
  44. package/dist/src/helpers/DateHelper.mjs.map +1 -1
  45. package/dist/src/locales/en.json.js +1 -1
  46. package/dist/src/locales/en.json.mjs +7 -0
  47. package/dist/src/locales/en.json.mjs.map +1 -1
  48. package/dist/src/locales/vi.json.js +1 -1
  49. package/dist/src/locales/vi.json.mjs +8 -1
  50. package/dist/src/locales/vi.json.mjs.map +1 -1
  51. package/dist/style.css +1 -1
  52. package/dist/types/components/TestResult/Desktop/TestResultDetailDesktop.vue.d.ts +6 -1
  53. package/dist/types/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.d.ts +6 -1
  54. package/dist/types/components/TestResult/Shared/BookAppointment.vue.d.ts +28 -2
  55. package/dist/types/components/TestResult/Shared/ResultInsightCards.vue.d.ts +31 -0
  56. package/dist/types/components/TestResult/Shared/ResultReport.vue.d.ts +30 -0
  57. package/dist/types/components/TestResult/index.d.ts +1 -0
  58. package/package.json +1 -1
@@ -1,72 +1,118 @@
1
- import { defineComponent as b, computed as r, ref as V, openBlock as a, createElementBlock as p, createElementVNode as c, createVNode as A, normalizeClass as y, unref as s, Fragment as C, renderList as I, toDisplayString as d, createCommentVNode as _, pushScopeId as N, popScopeId as B } from "vue";
1
+ import { defineComponent as V, computed as d, ref as N, openBlock as o, createElementBlock as r, createElementVNode as c, createVNode as C, normalizeClass as m, unref as t, toDisplayString as f, createTextVNode as A, createCommentVNode as g, Fragment as D, renderList as T, pushScopeId as L, popScopeId as z } from "vue";
2
2
  import { TestResultStatus as F } from "../../../constants/Enums.mjs";
3
- import { formatDateTimeShort as h } from "../../../helpers/DateHelper.mjs";
4
- import { ActionEventMap as j } from "../../../helpers/ComponentHelper.mjs";
5
- import { useI18n as z } from "vue-i18n";
6
- import L from "../../Shared/ResultStatus.vue.mjs";
7
- const O = (u) => (N("data-v-60a0c546"), u = u(), B(), u), P = { class: "psc-flex psc-w-full psc-flex-wrap psc-justify-center psc-space-y-2 psc-overflow-hidden" }, Y = { class: "psc-w-full" }, q = {
3
+ import { formatDateTimeShort as x } from "../../../helpers/DateHelper.mjs";
4
+ import { ActionEventMap as $ } from "../../../helpers/ComponentHelper.mjs";
5
+ import { useI18n as O } from "vue-i18n";
6
+ import { BIcon as P } from "pat-design-system";
7
+ import Y from "../../Shared/ResultStatus.vue.mjs";
8
+ const y = (k) => (L("data-v-dfd0a4bf"), k = k(), z(), k), q = { class: "psc-flex psc-w-full psc-flex-wrap psc-justify-center psc-space-y-2 psc-overflow-hidden" }, G = { class: "psc-w-full" }, H = {
8
9
  key: 0,
9
- class: "psc-w-full psc-py-4"
10
- }, G = { class: "custom-steps" }, H = { class: "steps-line-container" }, J = /* @__PURE__ */ O(() => /* @__PURE__ */ c("div", { class: "steps-line" }, null, -1)), Q = ["onClick"], U = { class: "steps-content" }, W = { class: "step-title" }, X = {
10
+ class: "psc-w-full psc-overflow-hidden psc-rounded-xl psc-border psc-border-gray-lighten-2 psc-bg-white psc-shadow"
11
+ }, J = ["aria-expanded"], Q = {
11
12
  key: 0,
12
- class: "step-description"
13
- }, Z = {
13
+ viewBox: "0 0 24 24",
14
+ fill: "none",
15
+ stroke: "currentColor",
16
+ "stroke-width": "2.5",
17
+ "stroke-linecap": "round",
18
+ "stroke-linejoin": "round",
19
+ "aria-hidden": "true",
20
+ class: "psc-h-5 psc-w-5"
21
+ }, U = /* @__PURE__ */ y(() => /* @__PURE__ */ c("path", { d: "M5 12.5l4.5 4.5L19 7.5" }, null, -1)), W = [
22
+ U
23
+ ], X = {
14
24
  key: 1,
15
- class: "psc-w-full"
16
- }, ee = { class: "-psc-mx-0.5 psc-flex psc-flex-wrap psc-text-sm psc-text-black/[0.6]" }, te = {
25
+ viewBox: "0 0 24 24",
26
+ fill: "none",
27
+ stroke: "currentColor",
28
+ "stroke-width": "2.2",
29
+ "stroke-linecap": "round",
30
+ "stroke-linejoin": "round",
31
+ "aria-hidden": "true",
32
+ class: "psc-h-5 psc-w-5"
33
+ }, Z = /* @__PURE__ */ y(() => /* @__PURE__ */ c("circle", {
34
+ cx: "12",
35
+ cy: "12",
36
+ r: "8.5"
37
+ }, null, -1)), ee = /* @__PURE__ */ y(() => /* @__PURE__ */ c("path", { d: "M12 7.5V12l3 2" }, null, -1)), te = [
38
+ Z,
39
+ ee
40
+ ], se = { class: "psc-min-w-0 psc-flex-auto" }, ce = { class: "psc-block psc-text-xs psc-text-black/[0.6]" }, ne = { class: "psc-block psc-truncate psc-text-sm psc-font-semibold psc-text-black/[0.85]" }, pe = {
17
41
  key: 0,
18
- class: "psc-flex-auto psc-px-0.5"
19
- }, se = { class: "psc-mr-1" }, le = {
42
+ class: "psc-ml-1 psc-text-xs psc-font-normal psc-text-black/[0.6]"
43
+ }, le = {
44
+ class: "psc-mt-2 psc-flex psc-gap-1",
45
+ "aria-hidden": "true"
46
+ }, oe = { class: "psc-flex psc-shrink-0 psc-items-center psc-gap-1 psc-text-sm psc-font-semibold psc-text-blue-darken-1" }, re = { class: "psc-sr-only" }, ae = {
47
+ key: 0,
48
+ class: "psc-border-t psc-border-gray-lighten-2 psc-px-4 psc-py-3"
49
+ }, ie = ["data-state"], de = {
50
+ key: 0,
51
+ viewBox: "0 0 24 24",
52
+ fill: "none",
53
+ stroke: "currentColor",
54
+ "stroke-width": "3",
55
+ "stroke-linecap": "round",
56
+ "stroke-linejoin": "round",
57
+ class: "psc-h-3.5 psc-w-3.5"
58
+ }, ue = /* @__PURE__ */ y(() => /* @__PURE__ */ c("path", { d: "M5 12.5l4.5 4.5L19 7.5" }, null, -1)), _e = [
59
+ ue
60
+ ], me = {
20
61
  key: 1,
21
- class: "psc-flex-auto psc-px-0.5 psc-text-right"
22
- }, ce = { class: "psc-mr-1" }, ue = /* @__PURE__ */ b({
62
+ class: "psc-h-2 psc-w-2 psc-rounded-full psc-bg-white"
63
+ }, he = { class: "psc-min-w-0 psc-flex-auto psc-pt-0.5" }, fe = {
64
+ key: 0,
65
+ class: "psc-text-xs psc-text-black/[0.6]"
66
+ }, Ee = /* @__PURE__ */ V({
23
67
  __name: "ResultReadyV2",
24
68
  props: {
25
69
  testResult: null,
26
70
  timeline: { default: void 0 },
27
71
  listActionEvent: { default: void 0 }
28
72
  },
29
- setup(u) {
30
- const o = u, { t: v } = z(), k = r(() => {
31
- var e;
32
- return (e = o.listActionEvent) != null ? e : j;
33
- }), m = r(
34
- () => h(o.testResult.sample_collected_at)
35
- ), S = r(
36
- () => h(o.testResult.result_at)
37
- ), g = r(
38
- () => o.testResult.result_status === F.Ready
39
- ), x = [
73
+ setup(k) {
74
+ const p = k, { t: v } = O(), w = d(() => {
75
+ var s;
76
+ return (s = p.listActionEvent) != null ? s : $;
77
+ }), K = d(
78
+ () => x(p.testResult.sample_collected_at)
79
+ ), R = d(
80
+ () => x(p.testResult.result_at)
81
+ );
82
+ d(
83
+ () => p.testResult.result_status === F.Ready
84
+ );
85
+ const S = [
40
86
  "ordered",
41
87
  "sample_collected",
42
88
  "in_progress",
43
89
  "partially_approved",
44
90
  "approved"
45
- ], K = (e) => {
46
- const n = x.indexOf(e);
47
- return n === -1 ? 0 : n;
48
- }, T = r(() => {
49
- if (!o.timeline || o.timeline.length === 0)
91
+ ], I = (s) => {
92
+ const l = S.indexOf(s);
93
+ return l === -1 ? 0 : l;
94
+ }, M = d(() => {
95
+ if (!p.timeline || p.timeline.length === 0)
50
96
  return /* @__PURE__ */ new Map();
51
- const e = /* @__PURE__ */ new Map(), n = [...o.timeline].sort(
52
- (l, t) => new Date(t.created_at).getTime() - new Date(l.created_at).getTime()
97
+ const s = /* @__PURE__ */ new Map(), l = [...p.timeline].sort(
98
+ (n, e) => new Date(e.created_at).getTime() - new Date(n.created_at).getTime()
53
99
  );
54
- return x.forEach((l) => {
55
- const t = n.find((D) => k.value[D.action_event] === l);
56
- t && e.set(l, t.created_at);
57
- }), e;
58
- }), M = () => {
59
- if (!o.timeline || o.timeline.length === 0)
100
+ return S.forEach((n) => {
101
+ const e = l.find((B) => w.value[B.action_event] === n);
102
+ e && s.set(n, e.created_at);
103
+ }), s;
104
+ }), j = () => {
105
+ if (!p.timeline || p.timeline.length === 0)
60
106
  return 0;
61
- let e = 0;
62
- return o.timeline.forEach((n) => {
63
- const l = k.value[n.action_event];
64
- if (l) {
65
- const t = K(l);
66
- t > e && (e = t);
107
+ let s = 0;
108
+ return p.timeline.forEach((l) => {
109
+ const n = w.value[l.action_event];
110
+ if (n) {
111
+ const e = I(n);
112
+ e > s && (s = e);
67
113
  }
68
- }), e;
69
- }, w = [
114
+ }), s;
115
+ }, u = [
70
116
  {
71
117
  key: "ordered",
72
118
  titleKey: "psc.test_result_step_ordered"
@@ -87,78 +133,108 @@ const O = (u) => (N("data-v-60a0c546"), u = u(), B(), u), P = { class: "psc-flex
87
133
  key: "approved",
88
134
  titleKey: "psc.test_result_step_approved"
89
135
  }
90
- ], E = (e) => {
91
- const n = T.value.get(e);
92
- if (n)
93
- return h(n);
94
- switch (e) {
136
+ ], b = (s) => {
137
+ const l = M.value.get(s);
138
+ if (l)
139
+ return x(l);
140
+ switch (s) {
95
141
  case "sample_collected":
96
- return m.value;
142
+ return K.value;
97
143
  case "approved":
98
- return S.value;
144
+ return R.value;
99
145
  default:
100
146
  return;
101
147
  }
102
- }, i = r(() => M()), R = r(() => typeof f.value == "number" ? f.value : i.value), f = V(null), $ = (e) => {
103
- e <= i.value && (f.value = e);
104
- };
105
- return (e, n) => (a(), p("div", P, [
106
- c("div", Y, [
107
- A(L, {
108
- status: o.testResult.result_status
148
+ }, _ = d(() => j()), h = N(!1), E = d(
149
+ () => b(u[_.value].key)
150
+ ), i = d(() => _.value === u.length - 1), a = (s) => s < _.value ? "done" : s === _.value ? "current" : "upcoming";
151
+ return (s, l) => (o(), r("div", q, [
152
+ c("div", G, [
153
+ C(Y, {
154
+ status: p.testResult.result_status
109
155
  }, null, 8, ["status"])
110
156
  ]),
111
- o.timeline && o.timeline.length > 0 ? (a(), p("div", q, [
112
- c("div", G, [
113
- c("div", H, [
114
- J,
115
- c("div", {
116
- class: y(["steps-line-progress", `progress-to-${s(i)}`])
117
- }, null, 2),
118
- (a(), p(C, null, I(w, (l, t) => c("div", {
119
- key: l.key,
120
- class: y(["step-dot", [
121
- {
122
- active: t <= s(i),
123
- current: t === s(i),
124
- disabled: t > s(i),
125
- selected: t === s(R)
126
- },
127
- `step-dot-${t}`
128
- ]]),
129
- onClick: (D) => $(t)
130
- }, null, 10, Q)), 64))
157
+ p.timeline && p.timeline.length > 0 ? (o(), r("div", H, [
158
+ c("button", {
159
+ type: "button",
160
+ class: "psc-flex psc-w-full psc-items-center psc-gap-3 psc-p-3 psc-text-left",
161
+ "aria-expanded": h.value,
162
+ onClick: l[0] || (l[0] = (n) => h.value = !h.value)
163
+ }, [
164
+ c("span", {
165
+ class: m([
166
+ "psc-flex psc-h-10 psc-w-10 psc-shrink-0 psc-items-center psc-justify-center psc-rounded-full",
167
+ t(i) ? "psc-bg-green-lighten-1 psc-text-green-darken-1" : "psc-bg-blue-lighten-1 psc-text-blue-darken-1"
168
+ ])
169
+ }, [
170
+ t(i) ? (o(), r("svg", Q, W)) : (o(), r("svg", X, te))
171
+ ], 2),
172
+ c("span", se, [
173
+ c("span", ce, f(t(v)("psc.test_result_current_status")), 1),
174
+ c("span", ne, [
175
+ A(f(t(v)(u[t(_)].titleKey)) + " ", 1),
176
+ t(E) ? (o(), r("span", pe, f(t(E)), 1)) : g("", !0)
177
+ ]),
178
+ c("span", le, [
179
+ (o(), r(D, null, T(u, (n, e) => c("span", {
180
+ key: n.key,
181
+ class: m([
182
+ "psc-h-1 psc-flex-1 psc-rounded-full",
183
+ e <= t(_) ? t(i) ? "psc-bg-green-darken-1" : "psc-bg-blue-darken-1" : "psc-bg-gray-lighten-2"
184
+ ])
185
+ }, null, 2)), 64))
186
+ ])
131
187
  ]),
132
- c("div", U, [
133
- (a(), p(C, null, I(w, (l, t) => c("div", {
134
- key: l.key,
135
- class: y(["step-content-box", [
136
- { active: t === s(R) },
137
- `step-content-${t}`
138
- ]])
139
- }, [
140
- c("div", W, d(s(v)(l.titleKey)), 1),
141
- E(l.key) ? (a(), p("div", X, d(E(l.key)), 1)) : _("", !0)
142
- ], 2)), 64))
188
+ c("span", oe, [
189
+ c("span", re, f(h.value ? t(v)("psc.test_result_collapse") : t(v)("psc.test_result_view_detail")), 1),
190
+ C(t(P), {
191
+ icon: "dgic-chevron-down-thin",
192
+ class: m(["psc-text-base psc-transition-transform psc-duration-200", { "psc-rotate-180": h.value }])
193
+ }, null, 8, ["class"])
143
194
  ])
144
- ])
145
- ])) : _("", !0),
146
- s(m) || s(g) ? (a(), p("div", Z, [
147
- c("div", ee, [
148
- s(m) ? (a(), p("div", te, [
149
- c("span", se, d(s(v)("psc.test_result_sample_collected")), 1),
150
- c("span", null, d(s(m)), 1)
151
- ])) : _("", !0),
152
- s(g) ? (a(), p("div", le, [
153
- c("span", ce, d(s(v)("psc.test_result_result_ready")), 1),
154
- c("span", null, d(s(S)), 1)
155
- ])) : _("", !0)
156
- ])
157
- ])) : _("", !0)
195
+ ], 8, J),
196
+ h.value ? (o(), r("ol", ae, [
197
+ (o(), r(D, null, T(u, (n, e) => c("li", {
198
+ key: n.key,
199
+ class: m(["psc-relative psc-flex psc-gap-3", { "psc-pb-4": e < u.length - 1 }]),
200
+ "data-state": a(e)
201
+ }, [
202
+ e < u.length - 1 ? (o(), r("span", {
203
+ key: 0,
204
+ class: m([
205
+ "psc-absolute psc-bottom-0 psc-left-[11px] psc-top-6 psc-w-0.5",
206
+ e < t(_) ? t(i) ? "psc-bg-green-darken-1" : "psc-bg-blue-darken-1" : "psc-bg-gray-lighten-2"
207
+ ]),
208
+ "aria-hidden": "true"
209
+ }, null, 2)) : g("", !0),
210
+ c("span", {
211
+ class: m(["psc-relative psc-z-[1] psc-flex psc-h-6 psc-w-6 psc-shrink-0 psc-items-center psc-justify-center psc-rounded-full", {
212
+ "psc-bg-green-darken-1 psc-text-white": a(e) !== "upcoming" && t(i),
213
+ "psc-bg-blue-darken-1 psc-text-white": a(e) !== "upcoming" && !t(i),
214
+ "timeline-dot--current": a(e) === "current" && !t(i),
215
+ "psc-border-2 psc-border-gray-lighten-1 psc-bg-white": a(e) === "upcoming"
216
+ }]),
217
+ "aria-hidden": "true"
218
+ }, [
219
+ a(e) === "done" || t(i) ? (o(), r("svg", de, _e)) : a(e) === "current" ? (o(), r("span", me)) : g("", !0)
220
+ ], 2),
221
+ c("div", he, [
222
+ c("div", {
223
+ class: m(["psc-text-sm", {
224
+ "psc-font-semibold psc-text-black/[0.85]": a(e) === "current",
225
+ "psc-text-black/[0.85]": a(e) === "done",
226
+ "psc-text-black/[0.4]": a(e) === "upcoming"
227
+ }])
228
+ }, f(t(v)(n.titleKey)), 3),
229
+ a(e) !== "upcoming" && b(n.key) ? (o(), r("div", fe, f(b(n.key)), 1)) : g("", !0)
230
+ ])
231
+ ], 10, ie)), 64))
232
+ ])) : g("", !0)
233
+ ])) : g("", !0)
158
234
  ]));
159
235
  }
160
236
  });
161
237
  export {
162
- ue as default
238
+ Ee as default
163
239
  };
164
240
  //# sourceMappingURL=ResultReadyV2.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResultReadyV2.vue2.mjs","sources":["../../../../../src/components/TestResult/Shared/ResultReadyV2.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-60a0c546\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"psc-flex psc-w-full psc-flex-wrap psc-justify-center psc-space-y-2 psc-overflow-hidden\" }\nconst _hoisted_2 = { class: \"psc-w-full\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"psc-w-full psc-py-4\"\n}\nconst _hoisted_4 = { class: \"custom-steps\" }\nconst _hoisted_5 = { class: \"steps-line-container\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"steps-line\" }, null, -1))\nconst _hoisted_7 = [\"onClick\"]\nconst _hoisted_8 = { class: \"steps-content\" }\nconst _hoisted_9 = { class: \"step-title\" }\nconst _hoisted_10 = {\n key: 0,\n class: \"step-description\"\n}\nconst _hoisted_11 = {\n key: 1,\n class: \"psc-w-full\"\n}\nconst _hoisted_12 = { class: \"-psc-mx-0.5 psc-flex psc-flex-wrap psc-text-sm psc-text-black/[0.6]\" }\nconst _hoisted_13 = {\n key: 0,\n class: \"psc-flex-auto psc-px-0.5\"\n}\nconst _hoisted_14 = { class: \"psc-mr-1\" }\nconst _hoisted_15 = {\n key: 1,\n class: \"psc-flex-auto psc-px-0.5 psc-text-right\"\n}\nconst _hoisted_16 = { class: \"psc-mr-1\" }\n\nimport { TestResultStatus } from '@/constants/Enums';\nimport { formatDateTimeShort } from '@/helpers/DateHelper';\nimport { ActionEventMap } from '@/helpers/ComponentHelper';\nimport type { TestResult } from '@/types';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport ResultStatus from '../../Shared/ResultStatus.vue';\n\n/**\n * Props\n */\nexport interface TimelineEvent {\n vid: string;\n created_at: string;\n action_event: string;\n}\n\nexport interface StepConfig {\n key: string;\n titleKey: string;\n date?: string;\n}\n\nexport interface Props {\n testResult: TestResult;\n timeline?: TimelineEvent[];\n listActionEvent?: Record<string, string>;\n}\ntype StepKey = (typeof STEP_KEYS)[number];\n\n// Map step key to index\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ResultReadyV2',\n props: {\n testResult: null,\n timeline: { default: undefined },\n listActionEvent: { default: undefined }\n },\n setup(__props: any) {\n\nconst props = __props as { testResult: TestResult, timeline: TimelineEvent[], listActionEvent: Record<string, string> };\n\n\n\n/**\n * Data\n */\nconst { t } = useI18n();\n\n// Use custom action event map if provided, otherwise use default\nconst actionEventMap = computed(() => props.listActionEvent ?? ActionEventMap);\n\nconst sampleCollectedDate = computed(() =>\n formatDateTimeShort(props.testResult.sample_collected_at)\n);\nconst resultDate = computed(() =>\n formatDateTimeShort(props.testResult.result_at)\n);\nconst isReady = computed(\n () => props.testResult.result_status === TestResultStatus.Ready\n);\n\n// Define the step keys in order\nconst STEP_KEYS = [\n 'ordered',\n 'sample_collected',\n 'in_progress',\n 'partially_approved',\n 'approved',\n] as const;\n\nconst stepKeyToIndex = (key: string): number => {\n const index = STEP_KEYS.indexOf(key as StepKey);\n return index === -1 ? 0 : index;\n};\n\n// Process timeline to get the latest date for each step\nconst stepDates = computed(() => {\n if (!props.timeline || props.timeline.length === 0) {\n return new Map<string, string>();\n }\n\n const dateMap = new Map<string, string>();\n\n // Sort timeline by created_at descending to process latest events first\n const sortedTimeline = [...props.timeline].sort(\n (a, b) =>\n new Date(b.created_at).getTime() - new Date(a.created_at).getTime()\n );\n\n // For each step, find the latest event that maps to it\n STEP_KEYS.forEach((stepKey) => {\n const latestEvent = sortedTimeline.find((event) => {\n const mappedStep = actionEventMap.value[event.action_event];\n return mappedStep === stepKey;\n });\n\n if (latestEvent) {\n dateMap.set(stepKey, latestEvent.created_at);\n }\n });\n\n return dateMap;\n});\n\n// Get current step from timeline (the highest step reached)\nconst getCurrentStepFromTimeline = (): number => {\n if (!props.timeline || props.timeline.length === 0) {\n return 0;\n }\n\n let maxStepIndex = 0;\n\n props.timeline.forEach((event) => {\n const statusKey = actionEventMap.value[event.action_event];\n if (statusKey) {\n const stepIndex = stepKeyToIndex(statusKey);\n if (stepIndex > maxStepIndex) {\n maxStepIndex = stepIndex;\n }\n }\n });\n\n return maxStepIndex;\n};\n\n// Steps configuration\nconst steps: StepConfig[] = [\n {\n key: 'ordered',\n titleKey: 'psc.test_result_step_ordered',\n },\n {\n key: 'sample_collected',\n titleKey: 'psc.test_result_step_sample_collected',\n },\n {\n key: 'in_progress',\n titleKey: 'psc.test_result_step_in_progress',\n },\n {\n key: 'partially_approved',\n titleKey: 'psc.test_result_step_partially_approved',\n },\n {\n key: 'approved',\n titleKey: 'psc.test_result_step_approved',\n },\n];\n\n// Get step date based on key\nconst getStepDate = (key: string): string | Date | undefined => {\n // Check if we have a date from timeline for this step\n const timelineDate = stepDates.value.get(key);\n if (timelineDate) {\n return formatDateTimeShort(timelineDate);\n }\n\n // Fallback to original logic for specific steps\n switch (key) {\n case 'sample_collected':\n return sampleCollectedDate.value;\n case 'approved':\n return resultDate.value;\n default:\n return undefined;\n }\n};\n\nconst currentStep = computed(() => getCurrentStepFromTimeline());\n\nconst selectedStep = computed(() => {\n return typeof selectedStepIndex.value === 'number'\n ? selectedStepIndex.value\n : currentStep.value;\n});\nconst selectedStepIndex = ref<number | null>(null);\n\nconst handleStepClick = (index: number) => {\n // Only allow clicking on current step and previous steps\n if (index <= currentStep.value) {\n selectedStepIndex.value = index;\n }\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(ResultStatus, {\n status: props.testResult.result_status\n }, null, 8, [\"status\"])\n ]),\n (props.timeline && props.timeline.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"steps-line-progress\", `progress-to-${_unref(currentStep)}`])\n }, null, 2),\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(steps, (step, index) => {\n return _createElementVNode(\"div\", {\n key: step.key,\n class: _normalizeClass([\"step-dot\", [\n {\n active: index <= _unref(currentStep),\n current: index === _unref(currentStep),\n disabled: index > _unref(currentStep),\n selected: index === _unref(selectedStep),\n },\n `step-dot-${index}`,\n ]]),\n onClick: ($event: any) => (handleStepClick(index))\n }, null, 10, _hoisted_7)\n }), 64))\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(steps, (step, index) => {\n return _createElementVNode(\"div\", {\n key: step.key,\n class: _normalizeClass([\"step-content-box\", [\n { active: index === _unref(selectedStep) },\n `step-content-${index}`,\n ]])\n }, [\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_unref(t)(step.titleKey)), 1),\n (getStepDate(step.key))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, _toDisplayString(getStepDate(step.key)), 1))\n : _createCommentVNode(\"\", true)\n ], 2)\n }), 64))\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(sampleCollectedDate) || _unref(isReady))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n (_unref(sampleCollectedDate))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_unref(t)('psc.test_result_sample_collected')), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_unref(sampleCollectedDate)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(isReady))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_unref(t)('psc.test_result_result_ready')), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_unref(resultDate)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_withScopeId","_pushScopeId","n","_popScopeId","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createElementVNode","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_sfc_main","_defineComponent","__props","props","t","useI18n","actionEventMap","computed","_a","ActionEventMap","sampleCollectedDate","formatDateTimeShort","resultDate","isReady","TestResultStatus","STEP_KEYS","stepKeyToIndex","key","index","stepDates","dateMap","sortedTimeline","a","b","stepKey","latestEvent","event","getCurrentStepFromTimeline","maxStepIndex","statusKey","stepIndex","steps","getStepDate","timelineDate","currentStep","selectedStep","selectedStepIndex","ref","handleStepClick","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","ResultStatus","_normalizeClass","_unref","_Fragment","_renderList","step","$event","_toDisplayString","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"ResultReadyV2.vue2.mjs","sources":["../../../../../src/components/TestResult/Shared/ResultReadyV2.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-dfd0a4bf\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"psc-flex psc-w-full psc-flex-wrap psc-justify-center psc-space-y-2 psc-overflow-hidden\" }\nconst _hoisted_2 = { class: \"psc-w-full\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"psc-w-full psc-overflow-hidden psc-rounded-xl psc-border psc-border-gray-lighten-2 psc-bg-white psc-shadow\"\n}\nconst _hoisted_4 = [\"aria-expanded\"]\nconst _hoisted_5 = {\n key: 0,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2.5\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n class: \"psc-h-5 psc-w-5\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", { d: \"M5 12.5l4.5 4.5L19 7.5\" }, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = {\n key: 1,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2.2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n class: \"psc-h-5 psc-w-5\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"8.5\"\n}, null, -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", { d: \"M12 7.5V12l3 2\" }, null, -1))\nconst _hoisted_11 = [\n _hoisted_9,\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"psc-min-w-0 psc-flex-auto\" }\nconst _hoisted_13 = { class: \"psc-block psc-text-xs psc-text-black/[0.6]\" }\nconst _hoisted_14 = { class: \"psc-block psc-truncate psc-text-sm psc-font-semibold psc-text-black/[0.85]\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"psc-ml-1 psc-text-xs psc-font-normal psc-text-black/[0.6]\"\n}\nconst _hoisted_16 = {\n class: \"psc-mt-2 psc-flex psc-gap-1\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_17 = { class: \"psc-flex psc-shrink-0 psc-items-center psc-gap-1 psc-text-sm psc-font-semibold psc-text-blue-darken-1\" }\nconst _hoisted_18 = { class: \"psc-sr-only\" }\nconst _hoisted_19 = {\n key: 0,\n class: \"psc-border-t psc-border-gray-lighten-2 psc-px-4 psc-py-3\"\n}\nconst _hoisted_20 = [\"data-state\"]\nconst _hoisted_21 = {\n key: 0,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"3\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n class: \"psc-h-3.5 psc-w-3.5\"\n}\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", { d: \"M5 12.5l4.5 4.5L19 7.5\" }, null, -1))\nconst _hoisted_23 = [\n _hoisted_22\n]\nconst _hoisted_24 = {\n key: 1,\n class: \"psc-h-2 psc-w-2 psc-rounded-full psc-bg-white\"\n}\nconst _hoisted_25 = { class: \"psc-min-w-0 psc-flex-auto psc-pt-0.5\" }\nconst _hoisted_26 = {\n key: 0,\n class: \"psc-text-xs psc-text-black/[0.6]\"\n}\n\nimport { TestResultStatus } from '@/constants/Enums';\nimport { formatDateTimeShort } from '@/helpers/DateHelper';\nimport { ActionEventMap } from '@/helpers/ComponentHelper';\nimport type { TestResult } from '@/types';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport { BIcon } from 'pat-design-system';\nimport ResultStatus from '../../Shared/ResultStatus.vue';\n\n/**\n * Props\n */\nexport interface TimelineEvent {\n vid: string;\n created_at: string;\n action_event: string;\n}\n\nexport interface StepConfig {\n key: string;\n titleKey: string;\n date?: string;\n}\n\nexport interface Props {\n testResult: TestResult;\n timeline?: TimelineEvent[];\n listActionEvent?: Record<string, string>;\n}\ntype StepKey = (typeof STEP_KEYS)[number];\n\n// Map step key to index\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ResultReadyV2',\n props: {\n testResult: null,\n timeline: { default: undefined },\n listActionEvent: { default: undefined }\n },\n setup(__props: any) {\n\nconst props = __props as { testResult: TestResult, timeline: TimelineEvent[], listActionEvent: Record<string, string> };\n\n\n\n/**\n * Data\n */\nconst { t } = useI18n();\n\n// Use custom action event map if provided, otherwise use default\nconst actionEventMap = computed(() => props.listActionEvent ?? ActionEventMap);\n\nconst sampleCollectedDate = computed(() =>\n formatDateTimeShort(props.testResult.sample_collected_at)\n);\nconst resultDate = computed(() =>\n formatDateTimeShort(props.testResult.result_at)\n);\nconst isReady = computed(\n () => props.testResult.result_status === TestResultStatus.Ready\n);\n\n// Define the step keys in order\nconst STEP_KEYS = [\n 'ordered',\n 'sample_collected',\n 'in_progress',\n 'partially_approved',\n 'approved',\n] as const;\n\nconst stepKeyToIndex = (key: string): number => {\n const index = STEP_KEYS.indexOf(key as StepKey);\n return index === -1 ? 0 : index;\n};\n\n// Process timeline to get the latest date for each step\nconst stepDates = computed(() => {\n if (!props.timeline || props.timeline.length === 0) {\n return new Map<string, string>();\n }\n\n const dateMap = new Map<string, string>();\n\n // Sort timeline by created_at descending to process latest events first\n const sortedTimeline = [...props.timeline].sort(\n (a, b) =>\n new Date(b.created_at).getTime() - new Date(a.created_at).getTime()\n );\n\n // For each step, find the latest event that maps to it\n STEP_KEYS.forEach((stepKey) => {\n const latestEvent = sortedTimeline.find((event) => {\n const mappedStep = actionEventMap.value[event.action_event];\n return mappedStep === stepKey;\n });\n\n if (latestEvent) {\n dateMap.set(stepKey, latestEvent.created_at);\n }\n });\n\n return dateMap;\n});\n\n// Get current step from timeline (the highest step reached)\nconst getCurrentStepFromTimeline = (): number => {\n if (!props.timeline || props.timeline.length === 0) {\n return 0;\n }\n\n let maxStepIndex = 0;\n\n props.timeline.forEach((event) => {\n const statusKey = actionEventMap.value[event.action_event];\n if (statusKey) {\n const stepIndex = stepKeyToIndex(statusKey);\n if (stepIndex > maxStepIndex) {\n maxStepIndex = stepIndex;\n }\n }\n });\n\n return maxStepIndex;\n};\n\n// Steps configuration\nconst steps: StepConfig[] = [\n {\n key: 'ordered',\n titleKey: 'psc.test_result_step_ordered',\n },\n {\n key: 'sample_collected',\n titleKey: 'psc.test_result_step_sample_collected',\n },\n {\n key: 'in_progress',\n titleKey: 'psc.test_result_step_in_progress',\n },\n {\n key: 'partially_approved',\n titleKey: 'psc.test_result_step_partially_approved',\n },\n {\n key: 'approved',\n titleKey: 'psc.test_result_step_approved',\n },\n];\n\n// Get step date based on key\nconst getStepDate = (key: string): string | Date | undefined => {\n // Check if we have a date from timeline for this step\n const timelineDate = stepDates.value.get(key);\n if (timelineDate) {\n return formatDateTimeShort(timelineDate);\n }\n\n // Fallback to original logic for specific steps\n switch (key) {\n case 'sample_collected':\n return sampleCollectedDate.value;\n case 'approved':\n return resultDate.value;\n default:\n return undefined;\n }\n};\n\nconst currentStep = computed(() => getCurrentStepFromTimeline());\n\n// Timeline is collapsed by default to save space, only current status is shown\nconst isTimelineExpanded = ref(false);\nconst currentStepDate = computed(() =>\n getStepDate(steps[currentStep.value].key)\n);\nconst isCompleted = computed(() => currentStep.value === steps.length - 1);\n\nconst getStepState = (index: number): 'done' | 'current' | 'upcoming' => {\n if (index < currentStep.value) return 'done';\n if (index === currentStep.value) return 'current';\n return 'upcoming';\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(ResultStatus, {\n status: props.testResult.result_status\n }, null, 8, [\"status\"])\n ]),\n (props.timeline && props.timeline.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"button\", {\n type: \"button\",\n class: \"psc-flex psc-w-full psc-items-center psc-gap-3 psc-p-3 psc-text-left\",\n \"aria-expanded\": isTimelineExpanded.value,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (isTimelineExpanded.value = !isTimelineExpanded.value))\n }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"psc-flex psc-h-10 psc-w-10 psc-shrink-0 psc-items-center psc-justify-center psc-rounded-full\", \n _unref(isCompleted)\n ? 'psc-bg-green-lighten-1 psc-text-green-darken-1'\n : 'psc-bg-blue-lighten-1 psc-text-blue-darken-1'\n ])\n }, [\n (_unref(isCompleted))\n ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_5, _hoisted_7))\n : (_openBlock(), _createElementBlock(\"svg\", _hoisted_8, _hoisted_11))\n ], 2),\n _createElementVNode(\"span\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_unref(t)('psc.test_result_current_status')), 1),\n _createElementVNode(\"span\", _hoisted_14, [\n _createTextVNode(_toDisplayString(_unref(t)(steps[_unref(currentStep)].titleKey)) + \" \", 1),\n (_unref(currentStepDate))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_15, _toDisplayString(_unref(currentStepDate)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"span\", _hoisted_16, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(steps, (step, index) => {\n return _createElementVNode(\"span\", {\n key: step.key,\n class: _normalizeClass([\"psc-h-1 psc-flex-1 psc-rounded-full\", \n index <= _unref(currentStep)\n ? _unref(isCompleted)\n ? 'psc-bg-green-darken-1'\n : 'psc-bg-blue-darken-1'\n : 'psc-bg-gray-lighten-2'\n ])\n }, null, 2)\n }), 64))\n ])\n ]),\n _createElementVNode(\"span\", _hoisted_17, [\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(isTimelineExpanded.value\n ? _unref(t)('psc.test_result_collapse')\n : _unref(t)('psc.test_result_view_detail')), 1),\n _createVNode(_unref(BIcon), {\n icon: \"dgic-chevron-down-thin\",\n class: _normalizeClass([\"psc-text-base psc-transition-transform psc-duration-200\", { 'psc-rotate-180': isTimelineExpanded.value }])\n }, null, 8, [\"class\"])\n ])\n ], 8, _hoisted_4),\n (isTimelineExpanded.value)\n ? (_openBlock(), _createElementBlock(\"ol\", _hoisted_19, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(steps, (step, index) => {\n return _createElementVNode(\"li\", {\n key: step.key,\n class: _normalizeClass([\"psc-relative psc-flex psc-gap-3\", { 'psc-pb-4': index < steps.length - 1 }]),\n \"data-state\": getStepState(index)\n }, [\n (index < steps.length - 1)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"psc-absolute psc-bottom-0 psc-left-[11px] psc-top-6 psc-w-0.5\", \n index < _unref(currentStep)\n ? _unref(isCompleted)\n ? 'psc-bg-green-darken-1'\n : 'psc-bg-blue-darken-1'\n : 'psc-bg-gray-lighten-2'\n ]),\n \"aria-hidden\": \"true\"\n }, null, 2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"psc-relative psc-z-[1] psc-flex psc-h-6 psc-w-6 psc-shrink-0 psc-items-center psc-justify-center psc-rounded-full\", {\n 'psc-bg-green-darken-1 psc-text-white':\n getStepState(index) !== 'upcoming' && _unref(isCompleted),\n 'psc-bg-blue-darken-1 psc-text-white':\n getStepState(index) !== 'upcoming' && !_unref(isCompleted),\n 'timeline-dot--current':\n getStepState(index) === 'current' && !_unref(isCompleted),\n 'psc-border-2 psc-border-gray-lighten-1 psc-bg-white':\n getStepState(index) === 'upcoming',\n }]),\n \"aria-hidden\": \"true\"\n }, [\n (getStepState(index) === 'done' || _unref(isCompleted))\n ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_21, _hoisted_23))\n : (getStepState(index) === 'current')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_24))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"psc-text-sm\", {\n 'psc-font-semibold psc-text-black/[0.85]':\n getStepState(index) === 'current',\n 'psc-text-black/[0.85]': getStepState(index) === 'done',\n 'psc-text-black/[0.4]': getStepState(index) === 'upcoming',\n }])\n }, _toDisplayString(_unref(t)(step.titleKey)), 3),\n (getStepState(index) !== 'upcoming' && getStepDate(step.key))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, _toDisplayString(getStepDate(step.key)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_20)\n }), 64))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_withScopeId","_pushScopeId","n","_popScopeId","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createElementVNode","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_sfc_main","_defineComponent","__props","props","t","useI18n","actionEventMap","computed","_a","ActionEventMap","sampleCollectedDate","formatDateTimeShort","resultDate","TestResultStatus","STEP_KEYS","stepKeyToIndex","key","index","stepDates","dateMap","sortedTimeline","a","b","stepKey","latestEvent","event","getCurrentStepFromTimeline","maxStepIndex","statusKey","stepIndex","steps","getStepDate","timelineDate","currentStep","isTimelineExpanded","ref","currentStepDate","isCompleted","getStepState","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","ResultStatus","$event","_normalizeClass","_unref","_toDisplayString","_createTextVNode","_createCommentVNode","_Fragment","_renderList","step","BIcon"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),p=require("pat-design-system"),a={class:"psc-flex psc-w-full psc-items-start psc-justify-between"},l=e.createStaticVNode('<svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="psc-h-6 psc-w-6 psc-text-green-darken-1"><path d="M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21"></path><path d="M8 17h6a3 3 0 0 0 3-3V9"></path><path d="M15 25h14M15 31h14M15 37h8"></path><path d="M39 3v10M34 8h10" stroke-width="2.5"></path></svg>',1),i={class:"psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white"},d={class:"psc-flex psc-w-full psc-items-center psc-justify-between psc-gap-1"},h={class:"psc-text-sm psc-font-semibold psc-text-green-darken-1"},u={class:"psc-hidden psc-text-xs psc-text-black/[0.6] sm:psc-block"},f=e.createStaticVNode('<svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="psc-h-9 psc-w-9 psc-shrink-0 psc-text-green-darken-1"><path d="M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21"></path><path d="M8 17h6a3 3 0 0 0 3-3V9"></path><path d="M15 25h14M15 31h14M15 37h8"></path><path d="M39 3v10M34 8h10" stroke-width="2.5"></path></svg>',1),k={class:"psc-min-w-0 psc-flex-auto"},x={class:"psc-flex psc-items-center psc-gap-2"},_={class:"psc-text-sm psc-font-semibold psc-text-green-darken-1"},g={class:"psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white"},m={class:"psc-block psc-truncate psc-text-xs psc-text-black/[0.6]"},b=e.defineComponent({__name:"ResultReport",props:{tile:{type:Boolean,default:!1}},emits:["click:report"],setup(n,{emit:c}){const o=n;return(s,t)=>o.tile?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"psc-flex psc-h-full psc-w-full psc-flex-col psc-gap-1 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-p-3 psc-text-left psc-shadow",onClick:t[0]||(t[0]=r=>c("click:report"))},[e.createElementVNode("span",a,[l,e.createElementVNode("span",i,e.toDisplayString(s.$t("psc.test_result_new")),1)]),e.createElementVNode("span",d,[e.createElementVNode("span",h,e.toDisplayString(s.$t("psc.test_result_report")),1),e.createVNode(e.unref(p.BIcon),{icon:"dgic-chevron-right-thin",class:"psc-shrink-0 psc-text-xs psc-text-green-darken-1"})]),e.createElementVNode("span",u,e.toDisplayString(s.$t("psc.test_result_report_description")),1)])):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"psc-flex psc-w-full psc-items-center psc-gap-3 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-px-3 psc-py-2.5 psc-text-left psc-shadow",onClick:t[1]||(t[1]=r=>c("click:report"))},[f,e.createElementVNode("span",k,[e.createElementVNode("span",x,[e.createElementVNode("span",_,e.toDisplayString(s.$t("psc.test_result_report")),1),e.createElementVNode("span",g,e.toDisplayString(s.$t("psc.test_result_new")),1)]),e.createElementVNode("span",m,e.toDisplayString(s.$t("psc.test_result_report_description")),1)]),e.createVNode(e.unref(p.BIcon),{icon:"dgic-chevron-right-thin",class:"psc-shrink-0 psc-text-xs psc-text-green-darken-1"})]))}});module.exports=b;
2
+ //# sourceMappingURL=ResultReport.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultReport.vue.js","sources":["../../../../../src/components/TestResult/Shared/ResultReport.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"psc-flex psc-w-full psc-items-start psc-justify-between\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<svg viewBox=\\\"0 0 48 48\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" aria-hidden=\\\"true\\\" class=\\\"psc-h-6 psc-w-6 psc-text-green-darken-1\\\"><path d=\\\"M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21\\\"></path><path d=\\\"M8 17h6a3 3 0 0 0 3-3V9\\\"></path><path d=\\\"M15 25h14M15 31h14M15 37h8\\\"></path><path d=\\\"M39 3v10M34 8h10\\\" stroke-width=\\\"2.5\\\"></path></svg>\", 1)\nconst _hoisted_3 = { class: \"psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white\" }\nconst _hoisted_4 = { class: \"psc-flex psc-w-full psc-items-center psc-justify-between psc-gap-1\" }\nconst _hoisted_5 = { class: \"psc-text-sm psc-font-semibold psc-text-green-darken-1\" }\nconst _hoisted_6 = { class: \"psc-hidden psc-text-xs psc-text-black/[0.6] sm:psc-block\" }\nconst _hoisted_7 = /*#__PURE__*/_createStaticVNode(\"<svg viewBox=\\\"0 0 48 48\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" aria-hidden=\\\"true\\\" class=\\\"psc-h-9 psc-w-9 psc-shrink-0 psc-text-green-darken-1\\\"><path d=\\\"M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21\\\"></path><path d=\\\"M8 17h6a3 3 0 0 0 3-3V9\\\"></path><path d=\\\"M15 25h14M15 31h14M15 37h8\\\"></path><path d=\\\"M39 3v10M34 8h10\\\" stroke-width=\\\"2.5\\\"></path></svg>\", 1)\nconst _hoisted_8 = { class: \"psc-min-w-0 psc-flex-auto\" }\nconst _hoisted_9 = { class: \"psc-flex psc-items-center psc-gap-2\" }\nconst _hoisted_10 = { class: \"psc-text-sm psc-font-semibold psc-text-green-darken-1\" }\nconst _hoisted_11 = { class: \"psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white\" }\nconst _hoisted_12 = { class: \"psc-block psc-truncate psc-text-xs psc-text-black/[0.6]\" }\n\nimport { BIcon } from 'pat-design-system';\n\n/**\n * Props\n */\nexport interface Props {\n // Tile layout: small vertical card, used side by side with another card\n tile?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ResultReport',\n props: {\n tile: { type: Boolean, default: false }\n },\n emits: ['click:report'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { tile: boolean };\n\n\n\n/**\n * Events\n */\n\n\nreturn (_ctx: any,_cache: any) => {\n return (props.tile)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n class: \"psc-flex psc-h-full psc-w-full psc-flex-col psc-gap-1 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-p-3 psc-text-left psc-shadow\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('click:report')))\n }, [\n _createElementVNode(\"span\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t('psc.test_result_new')), 1)\n ]),\n _createElementVNode(\"span\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t('psc.test_result_report')), 1),\n _createVNode(_unref(BIcon), {\n icon: \"dgic-chevron-right-thin\",\n class: \"psc-shrink-0 psc-text-xs psc-text-green-darken-1\"\n })\n ]),\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.$t('psc.test_result_report_description')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n type: \"button\",\n class: \"psc-flex psc-w-full psc-items-center psc-gap-3 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-px-3 psc-py-2.5 psc-text-left psc-shadow\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('click:report')))\n }, [\n _hoisted_7,\n _createElementVNode(\"span\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('psc.test_result_report')), 1),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('psc.test_result_new')), 1)\n ]),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('psc.test_result_report_description')), 1)\n ]),\n _createVNode(_unref(BIcon), {\n icon: \"dgic-chevron-right-thin\",\n class: \"psc-shrink-0 psc-text-xs psc-text-green-darken-1\"\n })\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_createStaticVNode","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_sfc_main","_defineComponent","__props","emit","props","_ctx","_cache","_openBlock","_createElementBlock","$event","_createElementVNode","_toDisplayString","_createVNode","_unref","BIcon"],"mappings":"mEAGMA,EAAa,CAAE,MAAO,2DACtBC,EAA6CC,EAAA,kBAAA,8ZAAyb,CAAC,EACveC,EAAa,CAAE,MAAO,0HACtBC,EAAa,CAAE,MAAO,sEACtBC,EAAa,CAAE,MAAO,yDACtBC,EAAa,CAAE,MAAO,4DACtBC,EAA6CL,EAAA,kBAAA,2aAAsc,CAAC,EACpfM,EAAa,CAAE,MAAO,6BACtBC,EAAa,CAAE,MAAO,uCACtBC,EAAc,CAAE,MAAO,yDACvBC,EAAc,CAAE,MAAO,0HACvBC,EAAc,CAAE,MAAO,2DAYDC,EAAiBC,kBAAA,CAC3C,OAAQ,eACR,MAAO,CACL,KAAM,CAAE,KAAM,QAAS,QAAS,EAAM,CACxC,EACA,MAAO,CAAC,cAAc,EACtB,MAAMC,EAAc,CAAE,KAAAC,GAAQ,CAEhC,MAAMC,EAAQF,EASP,MAAA,CAACG,EAAUC,IACRF,EAAM,MACTG,EAAW,UAAA,EAAGC,EAAAA,mBAAoB,SAAU,CAC3C,IAAK,EACL,KAAM,SACN,MAAO,yJACP,QAASF,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKG,GAAiBN,EAAK,cAAc,EAAA,EACvE,CACDO,EAAA,mBAAoB,OAAQvB,EAAY,CACtCC,EACAsB,qBAAoB,OAAQpB,EAAYqB,EAAA,gBAAiBN,EAAK,GAAG,qBAAqB,CAAC,EAAG,CAAC,CAAA,CAC5F,EACDK,EAAA,mBAAoB,OAAQnB,EAAY,CACtCmB,qBAAoB,OAAQlB,EAAYmB,EAAA,gBAAiBN,EAAK,GAAG,wBAAwB,CAAC,EAAG,CAAC,EAC9FO,cAAaC,EAAAA,MAAOC,EAAAA,KAAK,EAAG,CAC1B,KAAM,0BACN,MAAO,kDAAA,CACR,CAAA,CACF,EACDJ,qBAAoB,OAAQjB,EAAYkB,EAAA,gBAAiBN,EAAK,GAAG,oCAAoC,CAAC,EAAG,CAAC,CAC3G,CAAA,IACAE,EAAW,UAAA,EAAGC,qBAAoB,SAAU,CAC3C,IAAK,EACL,KAAM,SACN,MAAO,8JACP,QAASF,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKG,GAAiBN,EAAK,cAAc,EAAA,EACvE,CACDT,EACAgB,EAAA,mBAAoB,OAAQf,EAAY,CACtCe,EAAA,mBAAoB,OAAQd,EAAY,CACtCc,qBAAoB,OAAQb,EAAac,EAAA,gBAAiBN,EAAK,GAAG,wBAAwB,CAAC,EAAG,CAAC,EAC/FK,qBAAoB,OAAQZ,EAAaa,EAAA,gBAAiBN,EAAK,GAAG,qBAAqB,CAAC,EAAG,CAAC,CAAA,CAC7F,EACDK,qBAAoB,OAAQX,EAAaY,EAAA,gBAAiBN,EAAK,GAAG,oCAAoC,CAAC,EAAG,CAAC,CAAA,CAC5G,EACDO,cAAaC,EAAAA,MAAOC,EAAAA,KAAK,EAAG,CAC1B,KAAM,0BACN,MAAO,kDAAA,CACR,CACF,CAAA,EAEP,CAEA,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { defineComponent as f, openBlock as o, createElementBlock as n, createElementVNode as s, toDisplayString as e, createVNode as r, unref as a, createStaticVNode as d } from "vue";
2
+ import { BIcon as l } from "pat-design-system";
3
+ const x = { class: "psc-flex psc-w-full psc-items-start psc-justify-between" }, k = /* @__PURE__ */ d('<svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="psc-h-6 psc-w-6 psc-text-green-darken-1"><path d="M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21"></path><path d="M8 17h6a3 3 0 0 0 3-3V9"></path><path d="M15 25h14M15 31h14M15 37h8"></path><path d="M39 3v10M34 8h10" stroke-width="2.5"></path></svg>', 1), _ = { class: "psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white" }, g = { class: "psc-flex psc-w-full psc-items-center psc-justify-between psc-gap-1" }, b = { class: "psc-text-sm psc-font-semibold psc-text-green-darken-1" }, m = { class: "psc-hidden psc-text-xs psc-text-black/[0.6] sm:psc-block" }, w = /* @__PURE__ */ d('<svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="psc-h-9 psc-w-9 psc-shrink-0 psc-text-green-darken-1"><path d="M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21"></path><path d="M8 17h6a3 3 0 0 0 3-3V9"></path><path d="M15 25h14M15 31h14M15 37h8"></path><path d="M39 3v10M34 8h10" stroke-width="2.5"></path></svg>', 1), v = { class: "psc-min-w-0 psc-flex-auto" }, M = { class: "psc-flex psc-items-center psc-gap-2" }, y = { class: "psc-text-sm psc-font-semibold psc-text-green-darken-1" }, $ = { class: "psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white" }, V = { class: "psc-block psc-truncate psc-text-xs psc-text-black/[0.6]" }, j = /* @__PURE__ */ f({
4
+ __name: "ResultReport",
5
+ props: {
6
+ tile: { type: Boolean, default: !1 }
7
+ },
8
+ emits: ["click:report"],
9
+ setup(i, { emit: c }) {
10
+ const h = i;
11
+ return (t, p) => h.tile ? (o(), n("button", {
12
+ key: 0,
13
+ type: "button",
14
+ class: "psc-flex psc-h-full psc-w-full psc-flex-col psc-gap-1 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-p-3 psc-text-left psc-shadow",
15
+ onClick: p[0] || (p[0] = (u) => c("click:report"))
16
+ }, [
17
+ s("span", x, [
18
+ k,
19
+ s("span", _, e(t.$t("psc.test_result_new")), 1)
20
+ ]),
21
+ s("span", g, [
22
+ s("span", b, e(t.$t("psc.test_result_report")), 1),
23
+ r(a(l), {
24
+ icon: "dgic-chevron-right-thin",
25
+ class: "psc-shrink-0 psc-text-xs psc-text-green-darken-1"
26
+ })
27
+ ]),
28
+ s("span", m, e(t.$t("psc.test_result_report_description")), 1)
29
+ ])) : (o(), n("button", {
30
+ key: 1,
31
+ type: "button",
32
+ class: "psc-flex psc-w-full psc-items-center psc-gap-3 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-px-3 psc-py-2.5 psc-text-left psc-shadow",
33
+ onClick: p[1] || (p[1] = (u) => c("click:report"))
34
+ }, [
35
+ w,
36
+ s("span", v, [
37
+ s("span", M, [
38
+ s("span", y, e(t.$t("psc.test_result_report")), 1),
39
+ s("span", $, e(t.$t("psc.test_result_new")), 1)
40
+ ]),
41
+ s("span", V, e(t.$t("psc.test_result_report_description")), 1)
42
+ ]),
43
+ r(a(l), {
44
+ icon: "dgic-chevron-right-thin",
45
+ class: "psc-shrink-0 psc-text-xs psc-text-green-darken-1"
46
+ })
47
+ ]));
48
+ }
49
+ });
50
+ export {
51
+ j as default
52
+ };
53
+ //# sourceMappingURL=ResultReport.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultReport.vue.mjs","sources":["../../../../../src/components/TestResult/Shared/ResultReport.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"psc-flex psc-w-full psc-items-start psc-justify-between\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<svg viewBox=\\\"0 0 48 48\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" aria-hidden=\\\"true\\\" class=\\\"psc-h-6 psc-w-6 psc-text-green-darken-1\\\"><path d=\\\"M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21\\\"></path><path d=\\\"M8 17h6a3 3 0 0 0 3-3V9\\\"></path><path d=\\\"M15 25h14M15 31h14M15 37h8\\\"></path><path d=\\\"M39 3v10M34 8h10\\\" stroke-width=\\\"2.5\\\"></path></svg>\", 1)\nconst _hoisted_3 = { class: \"psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white\" }\nconst _hoisted_4 = { class: \"psc-flex psc-w-full psc-items-center psc-justify-between psc-gap-1\" }\nconst _hoisted_5 = { class: \"psc-text-sm psc-font-semibold psc-text-green-darken-1\" }\nconst _hoisted_6 = { class: \"psc-hidden psc-text-xs psc-text-black/[0.6] sm:psc-block\" }\nconst _hoisted_7 = /*#__PURE__*/_createStaticVNode(\"<svg viewBox=\\\"0 0 48 48\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" aria-hidden=\\\"true\\\" class=\\\"psc-h-9 psc-w-9 psc-shrink-0 psc-text-green-darken-1\\\"><path d=\\\"M29 9H12a4 4 0 0 0-4 4v26a4 4 0 0 0 4 4h20a4 4 0 0 0 4-4V21\\\"></path><path d=\\\"M8 17h6a3 3 0 0 0 3-3V9\\\"></path><path d=\\\"M15 25h14M15 31h14M15 37h8\\\"></path><path d=\\\"M39 3v10M34 8h10\\\" stroke-width=\\\"2.5\\\"></path></svg>\", 1)\nconst _hoisted_8 = { class: \"psc-min-w-0 psc-flex-auto\" }\nconst _hoisted_9 = { class: \"psc-flex psc-items-center psc-gap-2\" }\nconst _hoisted_10 = { class: \"psc-text-sm psc-font-semibold psc-text-green-darken-1\" }\nconst _hoisted_11 = { class: \"psc-rounded-md psc-bg-green-darken-1 psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-white\" }\nconst _hoisted_12 = { class: \"psc-block psc-truncate psc-text-xs psc-text-black/[0.6]\" }\n\nimport { BIcon } from 'pat-design-system';\n\n/**\n * Props\n */\nexport interface Props {\n // Tile layout: small vertical card, used side by side with another card\n tile?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ResultReport',\n props: {\n tile: { type: Boolean, default: false }\n },\n emits: ['click:report'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { tile: boolean };\n\n\n\n/**\n * Events\n */\n\n\nreturn (_ctx: any,_cache: any) => {\n return (props.tile)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n class: \"psc-flex psc-h-full psc-w-full psc-flex-col psc-gap-1 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-p-3 psc-text-left psc-shadow\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('click:report')))\n }, [\n _createElementVNode(\"span\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t('psc.test_result_new')), 1)\n ]),\n _createElementVNode(\"span\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t('psc.test_result_report')), 1),\n _createVNode(_unref(BIcon), {\n icon: \"dgic-chevron-right-thin\",\n class: \"psc-shrink-0 psc-text-xs psc-text-green-darken-1\"\n })\n ]),\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.$t('psc.test_result_report_description')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n type: \"button\",\n class: \"psc-flex psc-w-full psc-items-center psc-gap-3 psc-rounded-xl psc-border psc-border-[#bfe9d9] psc-bg-[#f0faf5] psc-px-3 psc-py-2.5 psc-text-left psc-shadow\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('click:report')))\n }, [\n _hoisted_7,\n _createElementVNode(\"span\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('psc.test_result_report')), 1),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('psc.test_result_new')), 1)\n ]),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('psc.test_result_report_description')), 1)\n ]),\n _createVNode(_unref(BIcon), {\n icon: \"dgic-chevron-right-thin\",\n class: \"psc-shrink-0 psc-text-xs psc-text-green-darken-1\"\n })\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_createStaticVNode","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_sfc_main","_defineComponent","__props","emit","props","_ctx","_cache","_openBlock","_createElementBlock","$event","_createElementVNode","_toDisplayString","_createVNode","_unref","BIcon"],"mappings":";;AAGA,MAAMA,IAAa,EAAE,OAAO,6DACtBC,IAA6CC,gBAAAA,EAAA,+ZAAyb,CAAC,GACveC,IAAa,EAAE,OAAO,4HACtBC,IAAa,EAAE,OAAO,wEACtBC,IAAa,EAAE,OAAO,2DACtBC,IAAa,EAAE,OAAO,8DACtBC,IAA6CL,gBAAAA,EAAA,4aAAsc,CAAC,GACpfM,IAAa,EAAE,OAAO,+BACtBC,IAAa,EAAE,OAAO,yCACtBC,IAAc,EAAE,OAAO,2DACvBC,IAAc,EAAE,OAAO,4HACvBC,IAAc,EAAE,OAAO,6DAYDC,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EACxC;AAAA,EACA,OAAO,CAAC,cAAc;AAAA,EACtB,MAAMC,GAAc,EAAE,MAAAC,KAAQ;AAEhC,UAAMC,IAAQF;AASP,WAAA,CAACG,GAAUC,MACRF,EAAM,QACTG,EAAW,GAAGC,EAAoB,UAAU;AAAA,MAC3C,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAASF,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACG,MAAiBN,EAAK,cAAc;AAAA,IAAA,GACvE;AAAA,MACDO,EAAoB,QAAQvB,GAAY;AAAA,QACtCC;AAAA,QACAsB,EAAoB,QAAQpB,GAAYqB,EAAiBN,EAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC;AAAA,MAAA,CAC5F;AAAA,MACDK,EAAoB,QAAQnB,GAAY;AAAA,QACtCmB,EAAoB,QAAQlB,GAAYmB,EAAiBN,EAAK,GAAG,wBAAwB,CAAC,GAAG,CAAC;AAAA,QAC9FO,EAAaC,EAAOC,CAAK,GAAG;AAAA,UAC1B,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,CACR;AAAA,MAAA,CACF;AAAA,MACDJ,EAAoB,QAAQjB,GAAYkB,EAAiBN,EAAK,GAAG,oCAAoC,CAAC,GAAG,CAAC;AAAA,IAC3G,CAAA,MACAE,EAAW,GAAGC,EAAoB,UAAU;AAAA,MAC3C,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAASF,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACG,MAAiBN,EAAK,cAAc;AAAA,IAAA,GACvE;AAAA,MACDT;AAAA,MACAgB,EAAoB,QAAQf,GAAY;AAAA,QACtCe,EAAoB,QAAQd,GAAY;AAAA,UACtCc,EAAoB,QAAQb,GAAac,EAAiBN,EAAK,GAAG,wBAAwB,CAAC,GAAG,CAAC;AAAA,UAC/FK,EAAoB,QAAQZ,GAAaa,EAAiBN,EAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC;AAAA,QAAA,CAC7F;AAAA,QACDK,EAAoB,QAAQX,GAAaY,EAAiBN,EAAK,GAAG,oCAAoC,CAAC,GAAG,CAAC;AAAA,MAAA,CAC5G;AAAA,MACDO,EAAaC,EAAOC,CAAK,GAAG;AAAA,QAC1B,MAAM;AAAA,QACN,OAAO;AAAA,MAAA,CACR;AAAA,IACF,CAAA;AAAA,EAEP;AAEA,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("./ResultReport.vue.js");module.exports=e;
2
+ //# sourceMappingURL=ResultReport.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultReport.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import f from "./ResultReport.vue.mjs";
2
+ export {
3
+ f as default
4
+ };
5
+ //# sourceMappingURL=ResultReport.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultReport.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}