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.
- package/dist/pat-shared-components.js +1 -1
- package/dist/pat-shared-components.mjs +42 -40
- package/dist/pat-shared-components.mjs.map +1 -1
- package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.js +1 -1
- package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.js.map +1 -1
- package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.mjs +89 -81
- package/dist/src/components/TestResult/Desktop/TestResultDetailDesktop.vue.mjs.map +1 -1
- package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.js +1 -1
- package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.js.map +1 -1
- package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.mjs +86 -78
- package/dist/src/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.mjs.map +1 -1
- package/dist/src/components/TestResult/Shared/BookAppointment.vue.js +1 -1
- package/dist/src/components/TestResult/Shared/BookAppointment.vue.js.map +1 -1
- package/dist/src/components/TestResult/Shared/BookAppointment.vue.mjs +48 -23
- package/dist/src/components/TestResult/Shared/BookAppointment.vue.mjs.map +1 -1
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.js +2 -0
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.js.map +1 -0
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.mjs +30 -0
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue.mjs.map +1 -0
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.js +2 -0
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.js.map +1 -0
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.mjs +5 -0
- package/dist/src/components/TestResult/Shared/ResultInsightCards.vue2.mjs.map +1 -0
- package/dist/src/components/TestResult/Shared/ResultReadyV2.vue.js +1 -1
- package/dist/src/components/TestResult/Shared/ResultReadyV2.vue.mjs +2 -2
- package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.js +1 -1
- package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.js.map +1 -1
- package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.mjs +184 -108
- package/dist/src/components/TestResult/Shared/ResultReadyV2.vue2.mjs.map +1 -1
- package/dist/src/components/TestResult/Shared/ResultReport.vue.js +2 -0
- package/dist/src/components/TestResult/Shared/ResultReport.vue.js.map +1 -0
- package/dist/src/components/TestResult/Shared/ResultReport.vue.mjs +53 -0
- package/dist/src/components/TestResult/Shared/ResultReport.vue.mjs.map +1 -0
- package/dist/src/components/TestResult/Shared/ResultReport.vue2.js +2 -0
- package/dist/src/components/TestResult/Shared/ResultReport.vue2.js.map +1 -0
- package/dist/src/components/TestResult/Shared/ResultReport.vue2.mjs +5 -0
- package/dist/src/components/TestResult/Shared/ResultReport.vue2.mjs.map +1 -0
- package/dist/src/components/TestResult/Shared/TakeSurvey.vue.js.map +1 -1
- package/dist/src/components/TestResult/Shared/TakeSurvey.vue.mjs +3 -1
- package/dist/src/components/TestResult/Shared/TakeSurvey.vue.mjs.map +1 -1
- package/dist/src/helpers/DateHelper.js +1 -1
- package/dist/src/helpers/DateHelper.js.map +1 -1
- package/dist/src/helpers/DateHelper.mjs +42 -17
- package/dist/src/helpers/DateHelper.mjs.map +1 -1
- package/dist/src/locales/en.json.js +1 -1
- package/dist/src/locales/en.json.mjs +7 -0
- package/dist/src/locales/en.json.mjs.map +1 -1
- package/dist/src/locales/vi.json.js +1 -1
- package/dist/src/locales/vi.json.mjs +8 -1
- package/dist/src/locales/vi.json.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/TestResult/Desktop/TestResultDetailDesktop.vue.d.ts +6 -1
- package/dist/types/components/TestResult/Mobile/ResultTab/TestResultDetail.vue.d.ts +6 -1
- package/dist/types/components/TestResult/Shared/BookAppointment.vue.d.ts +28 -2
- package/dist/types/components/TestResult/Shared/ResultInsightCards.vue.d.ts +31 -0
- package/dist/types/components/TestResult/Shared/ResultReport.vue.d.ts +30 -0
- package/dist/types/components/TestResult/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,40 +1,65 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { BIcon as
|
|
3
|
-
const
|
|
1
|
+
import { defineComponent as f, openBlock as p, createElementBlock as o, createElementVNode as s, createVNode as l, unref as n, toDisplayString as e, Fragment as m, renderSlot as b, createCommentVNode as i, withCtx as x, createTextVNode as k } from "vue";
|
|
2
|
+
import { BIcon as r, BButton as h } from "pat-design-system";
|
|
3
|
+
const g = { class: "psc-flex psc-w-full psc-items-start psc-justify-between" }, y = { class: "psc-rounded-md psc-bg-[#e6f0fe] psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-blue-darken-1" }, v = { class: "psc-flex psc-w-full psc-items-center psc-justify-between psc-gap-1" }, w = { class: "psc-text-sm psc-font-semibold psc-text-black/[0.85]" }, $ = { class: "psc-hidden psc-text-xs psc-text-black/[0.6] sm:psc-block" }, B = { class: "psc-flex psc-w-full psc-items-center" }, C = { class: "psc-flex-auto" }, N = { class: "psc-flex psc-items-center" }, V = { class: "psc-font-semibold psc-text-black/[0.85]" }, j = { class: "psc-ml-2 psc-rounded-lg psc-bg-[#e6f0fe] psc-px-2 psc-py-1 psc-text-xs psc-font-semibold psc-uppercase psc-text-blue-darken-1" }, E = { class: "psc-pt-1 psc-text-sm psc-text-black/[0.6]" }, S = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "psc-mt-4 psc-w-full psc-border-t psc-border-gray-lighten-2 psc-p-4"
|
|
6
|
-
},
|
|
6
|
+
}, A = {
|
|
7
7
|
key: 1,
|
|
8
8
|
class: "psc-w-full psc-pt-3"
|
|
9
|
-
},
|
|
9
|
+
}, I = /* @__PURE__ */ f({
|
|
10
10
|
__name: "BookAppointment",
|
|
11
|
+
props: {
|
|
12
|
+
compact: { type: Boolean, default: !1 }
|
|
13
|
+
},
|
|
11
14
|
emits: ["click:book"],
|
|
12
|
-
setup(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
setup(d, { emit: a }) {
|
|
16
|
+
const u = d;
|
|
17
|
+
return (t, c) => u.compact ? (p(), o("button", {
|
|
18
|
+
key: 0,
|
|
19
|
+
type: "button",
|
|
20
|
+
class: "psc-flex psc-h-full psc-w-full psc-flex-col psc-gap-2 psc-rounded-xl psc-border psc-border-gray-lighten-2 psc-bg-white psc-p-3 psc-text-left psc-shadow",
|
|
21
|
+
onClick: c[0] || (c[0] = (_) => a("click:book"))
|
|
22
|
+
}, [
|
|
23
|
+
s("span", g, [
|
|
24
|
+
l(n(r), {
|
|
25
|
+
icon: "dgic-doctor-advice-thin",
|
|
26
|
+
class: "psc-text-[1.5rem] psc-leading-none psc-text-blue-darken-1"
|
|
27
|
+
}),
|
|
28
|
+
s("span", y, e(t.$t("psc.test_result_free")), 1)
|
|
29
|
+
]),
|
|
30
|
+
s("span", v, [
|
|
31
|
+
s("span", w, e(t.$t("psc.test_result_doctor_appointment")), 1),
|
|
32
|
+
l(n(r), {
|
|
33
|
+
icon: "dgic-chevron-right-thin",
|
|
34
|
+
class: "psc-shrink-0 psc-text-xs psc-text-blue-darken-1"
|
|
35
|
+
})
|
|
36
|
+
]),
|
|
37
|
+
s("span", $, e(t.$t("psc.test_result_contact_for_explanation")), 1)
|
|
38
|
+
])) : (p(), o(m, { key: 1 }, [
|
|
39
|
+
s("div", B, [
|
|
40
|
+
l(n(r), {
|
|
16
41
|
icon: "dgic-doctor-advice-thin",
|
|
17
42
|
class: "psc-pr-3 psc-text-[44px] psc-text-blue-darken-1"
|
|
18
43
|
}),
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
44
|
+
s("div", C, [
|
|
45
|
+
s("div", N, [
|
|
46
|
+
s("div", V, e(t.$t("psc.test_result_doctor_appointment")), 1),
|
|
47
|
+
s("div", j, e(t.$t("psc.test_result_free")), 1)
|
|
23
48
|
]),
|
|
24
|
-
|
|
49
|
+
s("div", E, e(t.$t("psc.test_result_more_about_your_results")), 1)
|
|
25
50
|
])
|
|
26
51
|
]),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
])) :
|
|
30
|
-
|
|
31
|
-
l(n(
|
|
52
|
+
t.$slots.content ? (p(), o("div", S, [
|
|
53
|
+
b(t.$slots, "content")
|
|
54
|
+
])) : i("", !0),
|
|
55
|
+
t.$slots.content ? i("", !0) : (p(), o("div", A, [
|
|
56
|
+
l(n(h), {
|
|
32
57
|
class: "psc-w-full",
|
|
33
58
|
type: "secondary",
|
|
34
|
-
onClick:
|
|
59
|
+
onClick: c[1] || (c[1] = (_) => a("click:book"))
|
|
35
60
|
}, {
|
|
36
|
-
default:
|
|
37
|
-
|
|
61
|
+
default: x(() => [
|
|
62
|
+
k(e(t.$t("psc.test_result_call_support")), 1)
|
|
38
63
|
]),
|
|
39
64
|
_: 1
|
|
40
65
|
})
|
|
@@ -43,6 +68,6 @@ const b = { class: "psc-flex psc-w-full psc-items-center" }, h = { class: "psc-f
|
|
|
43
68
|
}
|
|
44
69
|
});
|
|
45
70
|
export {
|
|
46
|
-
|
|
71
|
+
I as default
|
|
47
72
|
};
|
|
48
73
|
//# sourceMappingURL=BookAppointment.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookAppointment.vue.mjs","sources":["../../../../../src/components/TestResult/Shared/BookAppointment.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode,
|
|
1
|
+
{"version":3,"file":"BookAppointment.vue.mjs","sources":["../../../../../src/components/TestResult/Shared/BookAppointment.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, createTextVNode as _createTextVNode, withCtx as _withCtx, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"psc-flex psc-w-full psc-items-start psc-justify-between\" }\nconst _hoisted_2 = { class: \"psc-rounded-md psc-bg-[#e6f0fe] psc-px-1.5 psc-py-0.5 psc-text-2xs psc-font-semibold psc-uppercase psc-text-blue-darken-1\" }\nconst _hoisted_3 = { class: \"psc-flex psc-w-full psc-items-center psc-justify-between psc-gap-1\" }\nconst _hoisted_4 = { class: \"psc-text-sm psc-font-semibold psc-text-black/[0.85]\" }\nconst _hoisted_5 = { class: \"psc-hidden psc-text-xs psc-text-black/[0.6] sm:psc-block\" }\nconst _hoisted_6 = { class: \"psc-flex psc-w-full psc-items-center\" }\nconst _hoisted_7 = { class: \"psc-flex-auto\" }\nconst _hoisted_8 = { class: \"psc-flex psc-items-center\" }\nconst _hoisted_9 = { class: \"psc-font-semibold psc-text-black/[0.85]\" }\nconst _hoisted_10 = { class: \"psc-ml-2 psc-rounded-lg psc-bg-[#e6f0fe] psc-px-2 psc-py-1 psc-text-xs psc-font-semibold psc-uppercase psc-text-blue-darken-1\" }\nconst _hoisted_11 = { class: \"psc-pt-1 psc-text-sm psc-text-black/[0.6]\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"psc-mt-4 psc-w-full psc-border-t psc-border-gray-lighten-2 psc-p-4\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"psc-w-full psc-pt-3\"\n}\n\nimport { BButton, BIcon } from 'pat-design-system';\n\n/**\n * Props\n */\nexport interface Props {\n // Compact layout: small tile, whole card is clickable, used side by side with ResultReport\n compact?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BookAppointment',\n props: {\n compact: { type: Boolean, default: false }\n },\n emits: ['click:book'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { compact: boolean };\n\n\n\n/**\n * Events\n */\n\n\nreturn (_ctx: any,_cache: any) => {\n return (props.compact)\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-2 psc-rounded-xl psc-border psc-border-gray-lighten-2 psc-bg-white psc-p-3 psc-text-left psc-shadow\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('click:book')))\n }, [\n _createElementVNode(\"span\", _hoisted_1, [\n _createVNode(_unref(BIcon), {\n icon: \"dgic-doctor-advice-thin\",\n class: \"psc-text-[1.5rem] psc-leading-none psc-text-blue-darken-1\"\n }),\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t('psc.test_result_free')), 1)\n ]),\n _createElementVNode(\"span\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('psc.test_result_doctor_appointment')), 1),\n _createVNode(_unref(BIcon), {\n icon: \"dgic-chevron-right-thin\",\n class: \"psc-shrink-0 psc-text-xs psc-text-blue-darken-1\"\n })\n ]),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t('psc.test_result_contact_for_explanation')), 1)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_unref(BIcon), {\n icon: \"dgic-doctor-advice-thin\",\n class: \"psc-pr-3 psc-text-[44px] psc-text-blue-darken-1\"\n }),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_ctx.$t('psc.test_result_doctor_appointment')), 1),\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_ctx.$t('psc.test_result_free')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(_ctx.$t('psc.test_result_more_about_your_results')), 1)\n ])\n ]),\n (_ctx.$slots.content)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _renderSlot(_ctx.$slots, \"content\")\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.$slots.content)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createVNode(_unref(BButton), {\n class: \"psc-w-full\",\n type: \"secondary\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('click:book')))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('psc.test_result_call_support')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_sfc_main","_defineComponent","__props","emit","props","_ctx","_cache","_openBlock","_createElementBlock","$event","_createElementVNode","_createVNode","_unref","BIcon","_toDisplayString","_Fragment","_renderSlot","_createCommentVNode","BButton","_withCtx","_createTextVNode"],"mappings":";;AAGA,MAAMA,IAAa,EAAE,OAAO,6DACtBC,IAAa,EAAE,OAAO,+HACtBC,IAAa,EAAE,OAAO,wEACtBC,IAAa,EAAE,OAAO,yDACtBC,IAAa,EAAE,OAAO,8DACtBC,IAAa,EAAE,OAAO,0CACtBC,IAAa,EAAE,OAAO,mBACtBC,IAAa,EAAE,OAAO,+BACtBC,IAAa,EAAE,OAAO,6CACtBC,IAAc,EAAE,OAAO,mIACvBC,IAAc,EAAE,OAAO,+CACvBC,IAAc;AAAA,EAClB,KAAK;AAAA,EACL,OAAO;AACT,GACMC,IAAc;AAAA,EAClB,KAAK;AAAA,EACL,OAAO;AACT,GAY4BC,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,SAAS,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,YAAY;AAAA,EACpB,MAAMC,GAAc,EAAE,MAAAC,KAAQ;AAEhC,UAAMC,IAAQF;AASP,WAAA,CAACG,GAAUC,MACRF,EAAM,WACTG,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,YAAY;AAAA,IAAA,GACrE;AAAA,MACDO,EAAoB,QAAQvB,GAAY;AAAA,QACtCwB,EAAaC,EAAOC,CAAK,GAAG;AAAA,UAC1B,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,CACR;AAAA,QACDH,EAAoB,QAAQtB,GAAY0B,EAAiBT,EAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC;AAAA,MAAA,CAC7F;AAAA,MACDK,EAAoB,QAAQrB,GAAY;AAAA,QACtCqB,EAAoB,QAAQpB,GAAYwB,EAAiBT,EAAK,GAAG,oCAAoC,CAAC,GAAG,CAAC;AAAA,QAC1GM,EAAaC,EAAOC,CAAK,GAAG;AAAA,UAC1B,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,CACR;AAAA,MAAA,CACF;AAAA,MACDH,EAAoB,QAAQnB,GAAYuB,EAAiBT,EAAK,GAAG,yCAAyC,CAAC,GAAG,CAAC;AAAA,IAAA,CAChH,MACAE,EAAW,GAAGC,EAAoBO,GAAW,EAAE,KAAK,KAAK;AAAA,MACxDL,EAAoB,OAAOlB,GAAY;AAAA,QACrCmB,EAAaC,EAAOC,CAAK,GAAG;AAAA,UAC1B,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,CACR;AAAA,QACDH,EAAoB,OAAOjB,GAAY;AAAA,UACrCiB,EAAoB,OAAOhB,GAAY;AAAA,YACrCgB,EAAoB,OAAOf,GAAYmB,EAAiBT,EAAK,GAAG,oCAAoC,CAAC,GAAG,CAAC;AAAA,YACzGK,EAAoB,OAAOd,GAAakB,EAAiBT,EAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC;AAAA,UAAA,CAC7F;AAAA,UACDK,EAAoB,OAAOb,GAAaiB,EAAiBT,EAAK,GAAG,yCAAyC,CAAC,GAAG,CAAC;AAAA,QAAA,CAChH;AAAA,MAAA,CACF;AAAA,MACAA,EAAK,OAAO,WACRE,EAAc,GAAAC,EAAoB,OAAOV,GAAa;AAAA,QACrDkB,EAAYX,EAAK,QAAQ,SAAS;AAAA,MAAA,CACnC,KACDY,EAAoB,IAAI,EAAI;AAAA,MAC9BZ,EAAK,OAAO,UAaVY,EAAoB,IAAI,EAAI,KAZ3BV,KAAcC,EAAoB,OAAOT,GAAa;AAAA,QACrDY,EAAaC,EAAOM,CAAO,GAAG;AAAA,UAC5B,OAAO;AAAA,UACP,MAAM;AAAA,UACN,SAASZ,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACG,MAAiBN,EAAK,YAAY;AAAA,QAAA,GACrE;AAAA,UACD,SAASgB,EAAS,MAAM;AAAA,YACtBC,EAAiBN,EAAiBT,EAAK,GAAG,8BAA8B,CAAC,GAAG,CAAC;AAAA,UAAA,CAC9E;AAAA,UACD,GAAG;AAAA,QAAA,CACJ;AAAA,MAAA,CACF;AAAA,IAC2B,GAC/B,EAAE;AAAA,EAEX;AAEA,CAAC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("vue"),r=require("./BookAppointment.vue.js"),c=require("./ResultReport.vue.js"),l=e.defineComponent({__name:"ResultInsightCards",props:{showBookAppointment:{type:Boolean,default:!1}},emits:["click:report","click:book"],setup(s,{emit:p}){const t=s;return(i,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["psc-mb-4 psc-grid psc-w-full psc-gap-2 psc-px-4",t.showBookAppointment?"psc-grid-cols-2":"psc-grid-cols-1"])},[e.createVNode(c,{tile:t.showBookAppointment,"onClick:report":o[0]||(o[0]=n=>p("click:report"))},null,8,["tile"]),t.showBookAppointment?(e.openBlock(),e.createBlock(r,{key:0,compact:"","onClick:book":o[1]||(o[1]=n=>p("click:book"))})):e.createCommentVNode("",!0)],2))}});module.exports=l;
|
|
2
|
+
//# sourceMappingURL=ResultInsightCards.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultInsightCards.vue.js","sources":["../../../../../src/components/TestResult/Shared/ResultInsightCards.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createElementBlock as _createElementBlock } from \"vue\"\n\nimport BookAppointment from './BookAppointment.vue';\nimport ResultReport from './ResultReport.vue';\n\n/**\n * Props\n */\nexport interface Props {\n // Show \"Giải thích kết quả\" next to \"Báo cáo kết quả\"\n showBookAppointment?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ResultInsightCards',\n props: {\n showBookAppointment: { type: Boolean, default: false }\n },\n emits: ['click:report', 'click:book'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { showBookAppointment: boolean };\n\n\n\n/**\n * Events\n */\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"psc-mb-4 psc-grid psc-w-full psc-gap-2 psc-px-4\", props.showBookAppointment ? 'psc-grid-cols-2' : 'psc-grid-cols-1'])\n }, [\n _createVNode(ResultReport, {\n tile: props.showBookAppointment,\n \"onClick:report\": _cache[0] || (_cache[0] = ($event: any) => (emit('click:report')))\n }, null, 8, [\"tile\"]),\n (props.showBookAppointment)\n ? (_openBlock(), _createBlock(BookAppointment, {\n key: 0,\n compact: \"\",\n \"onClick:book\": _cache[1] || (_cache[1] = ($event: any) => (emit('click:book')))\n }))\n : _createCommentVNode(\"\", true)\n ], 2))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","emit","props","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_createVNode","ResultReport","$event","_createBlock","BookAppointment","_createCommentVNode"],"mappings":"6GAc4BA,EAAiBC,kBAAA,CAC3C,OAAQ,qBACR,MAAO,CACL,oBAAqB,CAAE,KAAM,QAAS,QAAS,EAAM,CACvD,EACA,MAAO,CAAC,eAAgB,YAAY,EACpC,MAAMC,EAAc,CAAE,KAAAC,GAAQ,CAEhC,MAAMC,EAAQF,EASP,MAAA,CAACG,EAAUC,KACRC,EAAA,UAAA,EAAcC,EAAA,mBAAoB,MAAO,CAC/C,MAAOC,iBAAgB,CAAC,kDAAmDL,EAAM,oBAAsB,kBAAoB,iBAAiB,CAAC,CAAA,EAC5I,CACDM,EAAAA,YAAaC,EAAc,CACzB,KAAMP,EAAM,oBACZ,iBAAkBE,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKM,GAAiBT,EAAK,cAAc,EAChF,EAAA,KAAM,EAAG,CAAC,MAAM,CAAC,EACnBC,EAAM,qBACFG,EAAAA,YAAcM,EAAAA,YAAaC,EAAiB,CAC3C,IAAK,EACL,QAAS,GACT,eAAgBR,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKM,GAAiBT,EAAK,YAAY,EAAA,CAC9E,GACDY,EAAAA,mBAAoB,GAAI,EAAI,GAC/B,CAAC,EAEN,CAEA,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as c, openBlock as p, createElementBlock as r, normalizeClass as l, createVNode as i, createBlock as m, createCommentVNode as k } from "vue";
|
|
2
|
+
import a from "./BookAppointment.vue.mjs";
|
|
3
|
+
import f from "./ResultReport.vue.mjs";
|
|
4
|
+
const _ = /* @__PURE__ */ c({
|
|
5
|
+
__name: "ResultInsightCards",
|
|
6
|
+
props: {
|
|
7
|
+
showBookAppointment: { type: Boolean, default: !1 }
|
|
8
|
+
},
|
|
9
|
+
emits: ["click:report", "click:book"],
|
|
10
|
+
setup(s, { emit: t }) {
|
|
11
|
+
const e = s;
|
|
12
|
+
return (d, o) => (p(), r("div", {
|
|
13
|
+
class: l(["psc-mb-4 psc-grid psc-w-full psc-gap-2 psc-px-4", e.showBookAppointment ? "psc-grid-cols-2" : "psc-grid-cols-1"])
|
|
14
|
+
}, [
|
|
15
|
+
i(f, {
|
|
16
|
+
tile: e.showBookAppointment,
|
|
17
|
+
"onClick:report": o[0] || (o[0] = (n) => t("click:report"))
|
|
18
|
+
}, null, 8, ["tile"]),
|
|
19
|
+
e.showBookAppointment ? (p(), m(a, {
|
|
20
|
+
key: 0,
|
|
21
|
+
compact: "",
|
|
22
|
+
"onClick:book": o[1] || (o[1] = (n) => t("click:book"))
|
|
23
|
+
})) : k("", !0)
|
|
24
|
+
], 2));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
export {
|
|
28
|
+
_ as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=ResultInsightCards.vue.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultInsightCards.vue.mjs","sources":["../../../../../src/components/TestResult/Shared/ResultInsightCards.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createElementBlock as _createElementBlock } from \"vue\"\n\nimport BookAppointment from './BookAppointment.vue';\nimport ResultReport from './ResultReport.vue';\n\n/**\n * Props\n */\nexport interface Props {\n // Show \"Giải thích kết quả\" next to \"Báo cáo kết quả\"\n showBookAppointment?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ResultInsightCards',\n props: {\n showBookAppointment: { type: Boolean, default: false }\n },\n emits: ['click:report', 'click:book'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { showBookAppointment: boolean };\n\n\n\n/**\n * Events\n */\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"psc-mb-4 psc-grid psc-w-full psc-gap-2 psc-px-4\", props.showBookAppointment ? 'psc-grid-cols-2' : 'psc-grid-cols-1'])\n }, [\n _createVNode(ResultReport, {\n tile: props.showBookAppointment,\n \"onClick:report\": _cache[0] || (_cache[0] = ($event: any) => (emit('click:report')))\n }, null, 8, [\"tile\"]),\n (props.showBookAppointment)\n ? (_openBlock(), _createBlock(BookAppointment, {\n key: 0,\n compact: \"\",\n \"onClick:book\": _cache[1] || (_cache[1] = ($event: any) => (emit('click:book')))\n }))\n : _createCommentVNode(\"\", true)\n ], 2))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","emit","props","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_createVNode","ResultReport","$event","_createBlock","BookAppointment","_createCommentVNode"],"mappings":";;;AAcA,MAA4BA,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,qBAAqB,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EACvD;AAAA,EACA,OAAO,CAAC,gBAAgB,YAAY;AAAA,EACpC,MAAMC,GAAc,EAAE,MAAAC,KAAQ;AAEhC,UAAMC,IAAQF;AASP,WAAA,CAACG,GAAUC,OACRC,EAAA,GAAcC,EAAoB,OAAO;AAAA,MAC/C,OAAOC,EAAgB,CAAC,mDAAmDL,EAAM,sBAAsB,oBAAoB,iBAAiB,CAAC;AAAA,IAAA,GAC5I;AAAA,MACDM,EAAaC,GAAc;AAAA,QACzB,MAAMP,EAAM;AAAA,QACZ,kBAAkBE,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACM,MAAiBT,EAAK,cAAc;AAAA,MAChF,GAAA,MAAM,GAAG,CAAC,MAAM,CAAC;AAAA,MACnBC,EAAM,uBACFG,KAAcM,EAAaC,GAAiB;AAAA,QAC3C,KAAK;AAAA,QACL,SAAS;AAAA,QACT,gBAAgBR,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACM,MAAiBT,EAAK,YAAY;AAAA,MAAA,CAC9E,KACDY,EAAoB,IAAI,EAAI;AAAA,OAC/B,CAAC;AAAA,EAEN;AAEA,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultInsightCards.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultInsightCards.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("./ResultReadyV2.vue2.js");require("./ResultReadyV2.vue3.js");const t=require("../../../../_virtual/_plugin-vue_export-helper.js"),r=t(e,[["__scopeId","data-v-
|
|
1
|
+
"use strict";const e=require("./ResultReadyV2.vue2.js");require("./ResultReadyV2.vue3.js");const t=require("../../../../_virtual/_plugin-vue_export-helper.js"),r=t(e,[["__scopeId","data-v-dfd0a4bf"]]);module.exports=r;
|
|
2
2
|
//# sourceMappingURL=ResultReadyV2.vue.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import o from "./ResultReadyV2.vue2.mjs";
|
|
2
2
|
import "./ResultReadyV2.vue3.mjs";
|
|
3
3
|
import t from "../../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const
|
|
4
|
+
const d = /* @__PURE__ */ t(o, [["__scopeId", "data-v-dfd0a4bf"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
d as default
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=ResultReadyV2.vue.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),
|
|
1
|
+
"use strict";const e=require("vue"),V=require("../../../constants/Enums.js"),k=require("../../../helpers/DateHelper.js"),B=require("../../../helpers/ComponentHelper.js"),N=require("vue-i18n"),S=require("pat-design-system"),C=require("../../Shared/ResultStatus.vue.js"),m=u=>(e.pushScopeId("data-v-dfd0a4bf"),u=u(),e.popScopeId(),u),D={class:"psc-flex psc-w-full psc-flex-wrap psc-justify-center psc-space-y-2 psc-overflow-hidden"},T={class:"psc-w-full"},R={key:0,class:"psc-w-full psc-overflow-hidden psc-rounded-xl psc-border psc-border-gray-lighten-2 psc-bg-white psc-shadow"},I=["aria-expanded"],K={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",class:"psc-h-5 psc-w-5"},z=m(()=>e.createElementVNode("path",{d:"M5 12.5l4.5 4.5L19 7.5"},null,-1)),M=[z],q={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",class:"psc-h-5 psc-w-5"},j=m(()=>e.createElementVNode("circle",{cx:"12",cy:"12",r:"8.5"},null,-1)),L=m(()=>e.createElementVNode("path",{d:"M12 7.5V12l3 2"},null,-1)),A=[j,L],F={class:"psc-min-w-0 psc-flex-auto"},H={class:"psc-block psc-text-xs psc-text-black/[0.6]"},O={class:"psc-block psc-truncate psc-text-sm psc-font-semibold psc-text-black/[0.85]"},P={key:0,class:"psc-ml-1 psc-text-xs psc-font-normal psc-text-black/[0.6]"},Y={class:"psc-mt-2 psc-flex psc-gap-1","aria-hidden":"true"},$={class:"psc-flex psc-shrink-0 psc-items-center psc-gap-1 psc-text-sm psc-font-semibold psc-text-blue-darken-1"},G={class:"psc-sr-only"},J={key:0,class:"psc-border-t psc-border-gray-lighten-2 psc-px-4 psc-py-3"},Q=["data-state"],U={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round",class:"psc-h-3.5 psc-w-3.5"},W=m(()=>e.createElementVNode("path",{d:"M5 12.5l4.5 4.5L19 7.5"},null,-1)),X=[W],Z={key:1,class:"psc-h-2 psc-w-2 psc-rounded-full psc-bg-white"},ee={class:"psc-min-w-0 psc-flex-auto psc-pt-0.5"},te={key:0,class:"psc-text-xs psc-text-black/[0.6]"},se=e.defineComponent({__name:"ResultReadyV2",props:{testResult:null,timeline:{default:void 0},listActionEvent:{default:void 0}},setup(u){const n=u,{t:d}=N.useI18n(),f=e.computed(()=>{var s;return(s=n.listActionEvent)!=null?s:B.ActionEventMap}),v=e.computed(()=>k.formatDateTimeShort(n.testResult.sample_collected_at)),y=e.computed(()=>k.formatDateTimeShort(n.testResult.result_at));e.computed(()=>n.testResult.result_status===V.TestResultStatus.Ready);const h=["ordered","sample_collected","in_progress","partially_approved","approved"],b=s=>{const o=h.indexOf(s);return o===-1?0:o},E=e.computed(()=>{if(!n.timeline||n.timeline.length===0)return new Map;const s=new Map,o=[...n.timeline].sort((c,t)=>new Date(t.created_at).getTime()-new Date(c.created_at).getTime());return h.forEach(c=>{const t=o.find(w=>f.value[w.action_event]===c);t&&s.set(c,t.created_at)}),s}),x=()=>{if(!n.timeline||n.timeline.length===0)return 0;let s=0;return n.timeline.forEach(o=>{const c=f.value[o.action_event];if(c){const t=b(c);t>s&&(s=t)}}),s},a=[{key:"ordered",titleKey:"psc.test_result_step_ordered"},{key:"sample_collected",titleKey:"psc.test_result_step_sample_collected"},{key:"in_progress",titleKey:"psc.test_result_step_in_progress"},{key:"partially_approved",titleKey:"psc.test_result_step_partially_approved"},{key:"approved",titleKey:"psc.test_result_step_approved"}],_=s=>{const o=E.value.get(s);if(o)return k.formatDateTimeShort(o);switch(s){case"sample_collected":return v.value;case"approved":return y.value;default:return}},p=e.computed(()=>x()),i=e.ref(!1),g=e.computed(()=>_(a[p.value].key)),r=e.computed(()=>p.value===a.length-1),l=s=>s<p.value?"done":s===p.value?"current":"upcoming";return(s,o)=>(e.openBlock(),e.createElementBlock("div",D,[e.createElementVNode("div",T,[e.createVNode(C,{status:n.testResult.result_status},null,8,["status"])]),n.timeline&&n.timeline.length>0?(e.openBlock(),e.createElementBlock("div",R,[e.createElementVNode("button",{type:"button",class:"psc-flex psc-w-full psc-items-center psc-gap-3 psc-p-3 psc-text-left","aria-expanded":i.value,onClick:o[0]||(o[0]=c=>i.value=!i.value)},[e.createElementVNode("span",{class:e.normalizeClass(["psc-flex psc-h-10 psc-w-10 psc-shrink-0 psc-items-center psc-justify-center psc-rounded-full",e.unref(r)?"psc-bg-green-lighten-1 psc-text-green-darken-1":"psc-bg-blue-lighten-1 psc-text-blue-darken-1"])},[e.unref(r)?(e.openBlock(),e.createElementBlock("svg",K,M)):(e.openBlock(),e.createElementBlock("svg",q,A))],2),e.createElementVNode("span",F,[e.createElementVNode("span",H,e.toDisplayString(e.unref(d)("psc.test_result_current_status")),1),e.createElementVNode("span",O,[e.createTextVNode(e.toDisplayString(e.unref(d)(a[e.unref(p)].titleKey))+" ",1),e.unref(g)?(e.openBlock(),e.createElementBlock("span",P,e.toDisplayString(e.unref(g)),1)):e.createCommentVNode("",!0)]),e.createElementVNode("span",Y,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,(c,t)=>e.createElementVNode("span",{key:c.key,class:e.normalizeClass(["psc-h-1 psc-flex-1 psc-rounded-full",t<=e.unref(p)?e.unref(r)?"psc-bg-green-darken-1":"psc-bg-blue-darken-1":"psc-bg-gray-lighten-2"])},null,2)),64))])]),e.createElementVNode("span",$,[e.createElementVNode("span",G,e.toDisplayString(i.value?e.unref(d)("psc.test_result_collapse"):e.unref(d)("psc.test_result_view_detail")),1),e.createVNode(e.unref(S.BIcon),{icon:"dgic-chevron-down-thin",class:e.normalizeClass(["psc-text-base psc-transition-transform psc-duration-200",{"psc-rotate-180":i.value}])},null,8,["class"])])],8,I),i.value?(e.openBlock(),e.createElementBlock("ol",J,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,(c,t)=>e.createElementVNode("li",{key:c.key,class:e.normalizeClass(["psc-relative psc-flex psc-gap-3",{"psc-pb-4":t<a.length-1}]),"data-state":l(t)},[t<a.length-1?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["psc-absolute psc-bottom-0 psc-left-[11px] psc-top-6 psc-w-0.5",t<e.unref(p)?e.unref(r)?"psc-bg-green-darken-1":"psc-bg-blue-darken-1":"psc-bg-gray-lighten-2"]),"aria-hidden":"true"},null,2)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.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",{"psc-bg-green-darken-1 psc-text-white":l(t)!=="upcoming"&&e.unref(r),"psc-bg-blue-darken-1 psc-text-white":l(t)!=="upcoming"&&!e.unref(r),"timeline-dot--current":l(t)==="current"&&!e.unref(r),"psc-border-2 psc-border-gray-lighten-1 psc-bg-white":l(t)==="upcoming"}]),"aria-hidden":"true"},[l(t)==="done"||e.unref(r)?(e.openBlock(),e.createElementBlock("svg",U,X)):l(t)==="current"?(e.openBlock(),e.createElementBlock("span",Z)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",ee,[e.createElementVNode("div",{class:e.normalizeClass(["psc-text-sm",{"psc-font-semibold psc-text-black/[0.85]":l(t)==="current","psc-text-black/[0.85]":l(t)==="done","psc-text-black/[0.4]":l(t)==="upcoming"}])},e.toDisplayString(e.unref(d)(c.titleKey)),3),l(t)!=="upcoming"&&_(c.key)?(e.openBlock(),e.createElementBlock("div",te,e.toDisplayString(_(c.key)),1)):e.createCommentVNode("",!0)])],10,Q)),64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}});module.exports=se;
|
|
2
2
|
//# sourceMappingURL=ResultReadyV2.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultReadyV2.vue2.js","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.js","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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"}
|