@feedmepos/mf-inventory-portal 1.7.13 → 1.7.15-dev.0

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 (108) hide show
  1. package/dist/{App-tk0n6XzL.js → App-aeh6OigH.js} +471 -460
  2. package/dist/{ApprovalView-CdnT8CZe.js → ApprovalView-D9U2VmYa.js} +9 -9
  3. package/dist/{BindingsDialog-LfVK-lwi.js → BindingsDialog-Ddh44o3y.js} +2 -2
  4. package/dist/{BindingsPicker-DtFUIIp6.js → BindingsPicker-CFtdG6ld.js} +2 -2
  5. package/dist/{BindingsTable-SM-qs56h.js → BindingsTable-Dl44JUUS.js} +4 -4
  6. package/dist/{BulkReceiveRequestView-CxO4aceI.js → BulkReceiveRequestView-DzjYw8z3.js} +19 -19
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-B_dcsrft.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-Bg8FBGzq.js} +6 -2
  8. package/dist/{ClosingDraftView-Bc9VEqFI.js → ClosingDraftView-D0SGlTkF.js} +19 -19
  9. package/dist/ClosingHistoryView-BKfhpOEw.js +761 -0
  10. package/dist/{ClosingTemplateView-Cf6BkJ1p.js → ClosingTemplateView-Ikq2OM4z.js} +16 -16
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-LtI-0ag-.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-BhTM2C3K.js} +1 -1
  12. package/dist/{DefaultView-zeN-SUL7.js → DefaultView-ClKfklyX.js} +2 -2
  13. package/dist/{DeliveryOrderPrintPreview-CPdBGfWd.js → DeliveryOrderPrintPreview-Cfz_N8Bf.js} +2 -2
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-CttfIuEb.js → EmailDialog.vue_vue_type_script_setup_true_lang-C-GPckzY.js} +23 -23
  15. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-GYKs_eVT.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-BxkzheM9.js} +1 -1
  16. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BlHeW9tQ.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CoFcZ-Zv.js} +2 -2
  17. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CSlAWGWz.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-BAEpf31G.js} +2 -2
  18. package/dist/FmLockableField.vue_vue_type_script_setup_true_lang-FCg4K7y8.js +89 -0
  19. package/dist/{FmMultiselectDialog-DtvRQc96.js → FmMultiselectDialog-CiOdsRlf.js} +1 -1
  20. package/dist/{FmMultiselectDialog-gEkSoyOo.js → FmMultiselectDialog-Dr8wRNW7.js} +2 -2
  21. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-DEdVxDAl.js → FmUnitInput.vue_vue_type_script_setup_true_lang-D-Ycop6K.js} +6 -6
  22. package/dist/{ImportView-DvLVmruj.js → ImportView-BBqak01n.js} +6 -6
  23. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-C0eXC_7P.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-CAJDLjrN.js} +1 -1
  24. package/dist/{IngredientGroupView-4nVKjTVO.js → IngredientGroupView-CghsReO0.js} +5 -5
  25. package/dist/IngredientsView-DLxTWo-n.js +2239 -0
  26. package/dist/{IntegrationExplorerView-3wJ_2jLQ.js → IntegrationExplorerView-C05R8EzL.js} +4 -4
  27. package/dist/IntegrationView-DpN7PYPc.js +7623 -0
  28. package/dist/{InventoryBindingForm-BdbHMLKN.js → InventoryBindingForm-CnHzZu12.js} +1 -1
  29. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-mJ0hwtVM.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-Cls49Zgb.js} +5 -5
  30. package/dist/{InventoryBindingSummary-BKkBvlxM.js → InventoryBindingSummary-DK5Z9AKC.js} +1 -1
  31. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-8kEGeYvD.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-FsxbejSt.js} +1 -1
  32. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-BVX6226m.js → PremiumBadge.vue_vue_type_script_setup_true_lang-DvIbqRH9.js} +1 -1
  33. package/dist/{ProductionView-B4nPZTt9.js → ProductionView-DeUmELdm.js} +7 -7
  34. package/dist/{PublishView-do0VvwHk.js → PublishView-CGHFmmCG.js} +3 -3
  35. package/dist/{PurchaseOrderPrintPreview-VEJxKJZA.js → PurchaseOrderPrintPreview-xyXZU3oQ.js} +2 -2
  36. package/dist/{ReceiveRequestView-ycnbtRQp.js → ReceiveRequestView-CVmAUuqN.js} +14 -14
  37. package/dist/{RecipeView-Ce4AgrHT.js → RecipeView-BSd1V9En.js} +17 -17
  38. package/dist/{SettingsView-Bjx1z2gc.js → SettingsView-AI-JaGxh.js} +4 -4
  39. package/dist/{StockView-DqOEaJzz.js → StockView-CRrYes0h.js} +21 -21
  40. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DDT4AqtX.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DNXdZVOA.js} +1 -1
  41. package/dist/{SupplierView-C07LyK32.js → SupplierView-BMupiPVi.js} +1156 -1035
  42. package/dist/{SurchargeView-BKapiG5x.js → SurchargeView-77KsLF2T.js} +6 -6
  43. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-BKE4I1gG.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-Brw98Ihw.js} +2 -2
  44. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-XCYRCjQy.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-Cjt4YAII.js} +1 -1
  45. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-BHeqFlka.js +4797 -0
  46. package/dist/{TransferTemplateView-r1gRvF7q.js → TransferTemplateView-BMF1_tLd.js} +20 -20
  47. package/dist/{UnitCostHistoryView-BzF5Ydfg.js → UnitCostHistoryView-Gp8uWjMQ.js} +4 -4
  48. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-D3Qc1b_g.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-mwAMQ0B3.js} +4 -4
  49. package/dist/{UnitView-CIus7XDF.js → UnitView-Cuk5oaOf.js} +7 -7
  50. package/dist/{WarehouseView-D0LAGPr6.js → WarehouseView-Bat0looR.js} +6 -6
  51. package/dist/{WastageTemplateView-CX_vY8lT.js → WastageTemplateView-Coag2jbG.js} +14 -14
  52. package/dist/api/netsuite.d.ts +2 -0
  53. package/dist/api/stock.d.ts +0 -6
  54. package/dist/{app-BFI89qx8.js → app-C3gNrduY.js} +464 -439
  55. package/dist/app.d.ts +32 -12
  56. package/dist/app.js +1 -1
  57. package/dist/{closing-template-BsT8mozh.js → closing-template-DKklbhBW.js} +1 -1
  58. package/dist/cypress/component/ChangelogPanel.cy.d.ts +1 -0
  59. package/dist/cypress/support/component.d.ts +1 -2
  60. package/dist/{date2-DRguSPlT.js → date2-Cx-YVc4N.js} +1 -1
  61. package/dist/{dayjs.min-CQchvANX.js → dayjs.min-Cj2Eh8Tj.js} +1 -1
  62. package/dist/{decimal-XTxcAfEO.js → decimal-OxPQV_Pd.js} +2 -2
  63. package/dist/{defineDeepModel-BRoQ53kt.js → defineDeepModel-Dud4PiVz.js} +1 -1
  64. package/dist/{duplicate-template-CjRLJUuX.js → duplicate-template-XAhspiYs.js} +1 -1
  65. package/dist/{feature-4NFlAslj.js → feature-gYL54g_K.js} +2 -2
  66. package/dist/{format-time-from-id-HjX4Uw5t.js → format-time-from-id-T7WHy_x1.js} +1 -1
  67. package/dist/{format-unit-display-Bv64TEgM.js → format-unit-display-BsjRSrAe.js} +12 -12
  68. package/dist/{import-export.helper-5GAs3g-u.js → import-export.helper-CEdt0BWR.js} +6 -6
  69. package/dist/{index-wBonClcq.js → index-BZynONs2.js} +3 -3
  70. package/dist/{index-DT7aF_IJ.js → index-CBcKeIhg.js} +1 -1
  71. package/dist/{index-Cy99iIzT.js → index-DQKbOIoT.js} +1 -1
  72. package/dist/{inventory-core-dart.default-aPOgM_iG.js → inventory-core-dart.default-D4zV0IQQ.js} +1428 -1322
  73. package/dist/{lz-string-D4H5yiwN.js → lz-string-BtyfM17N.js} +1 -1
  74. package/dist/{netsuite-CA6GsSZX.js → netsuite-BEW5HsxM.js} +477 -462
  75. package/dist/{number-wdTGPqVx.js → number-CQBgN-M7.js} +3 -3
  76. package/dist/{predefined-templates-5gDm-KTC.js → predefined-templates-CpP9HOqv.js} +1 -1
  77. package/dist/{purchase-order-template-NYXXge2I.js → purchase-order-template-PekDPb4u.js} +1 -1
  78. package/dist/{recalculationUtils-BYxkQ6y9.js → recalculationUtils-lfhKnVFx.js} +1 -1
  79. package/dist/{rules-CTPrTWcQ.js → rules-5x2UEFmU.js} +2 -2
  80. package/dist/{stock-B5SFlbu5.js → stock-Ch5c3jO9.js} +3 -3
  81. package/dist/{stock-BN60-dxD.js → stock-DqIRhhsu.js} +26 -36
  82. package/dist/stores/integration/netsuite.d.ts +54 -0
  83. package/dist/{supplier-qENTmxSk.js → supplier-DVxdFpgr.js} +2 -2
  84. package/dist/{surcharge-DqHTzQ4D.js → surcharge-CNGep-bs.js} +1 -1
  85. package/dist/tsconfig.app.tsbuildinfo +1 -1
  86. package/dist/{uom-rules-BQ2wBmPD.js → uom-rules-RPvKxFQI.js} +1 -1
  87. package/dist/{use-ingredient-select-dialog-DCLCw51r.js → use-ingredient-select-dialog-CPdwTQrN.js} +2 -2
  88. package/dist/{use-inventory-binding-dialog-BsbXZl-i.js → use-inventory-binding-dialog-CeyqcDPW.js} +2 -2
  89. package/dist/{use-template-enabled-locations-aNl_4Yzk.js → use-template-enabled-locations-DJ46fm8w.js} +2 -2
  90. package/dist/{use-transfer-locations-ChEibX9h.js → use-transfer-locations-DBIAb9MY.js} +2 -2
  91. package/dist/{useHrmPermission-DgjpLTc8.js → useHrmPermission-BEDY0i29.js} +1 -1
  92. package/dist/{useNavigationMenu-CMFZ-5F-.js → useNavigationMenu-xXANo9uC.js} +2 -2
  93. package/dist/{useSseClient-CT23c0Mu.js → useSseClient-B-dfDpdW.js} +1 -1
  94. package/dist/views/changelog/components/ChangelogFloatingButton.spec.d.ts +1 -0
  95. package/dist/views/changelog/composables/fab-position.d.ts +21 -0
  96. package/dist/views/changelog/composables/use-inventory-record-commits.d.ts +1 -1
  97. package/dist/views/integration/components/netsuite/business/vendor-publish.d.ts +7 -0
  98. package/dist/views/integration/components/netsuite/business/vendor-publish.spec.d.ts +1 -0
  99. package/dist/views/stock/components/dialog/RecalculationDialog.vue.d.ts +2 -17
  100. package/dist/{vue-i18n-Bj6Jb-Dc.js → vue-i18n-D64MVhs-.js} +295 -295
  101. package/dist/{xlsx.util-iqdZHANo.js → xlsx.util-BntGs-ye.js} +2 -2
  102. package/package.json +3 -3
  103. package/dist/ClosingHistoryView-BOjnPKtQ.js +0 -1112
  104. package/dist/IngredientsView-DQsn-GXv.js +0 -2322
  105. package/dist/IntegrationView-DOC5QhaQ.js +0 -7506
  106. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-CbaCIkH6.js +0 -4781
  107. package/dist/views/stock/components/StockRecalculateDialog.vue.d.ts +0 -9
  108. package/dist/views/stock/components/dialog/SnapshotRecalculationDialog.vue.d.ts +0 -24
@@ -0,0 +1,761 @@
1
+ import { defineComponent as se, ref as p, computed as D, watch as ue, resolveComponent as x, createElementBlock as y, openBlock as u, createVNode as _, withCtx as $, createElementVNode as a, createCommentVNode as w, toDisplayString as r, unref as d, Fragment as j, createBlock as G, createTextVNode as ae, renderList as re, normalizeClass as fe, h as W, Teleport as ge } from "vue";
2
+ import { _ as ve } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DpwneGOV.js";
3
+ import { useI18n as le, useCoreStore as he } from "@feedmepos/mf-common";
4
+ import { G as me, B as N, a as _e, u as be } from "./app-C3gNrduY.js";
5
+ import { F as ce } from "./FmAdminBadge-DlplQOHb.js";
6
+ import { _ as ke } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-BAEpf31G.js";
7
+ import { _ as de } from "./CursorPaginatedTable.vue_vue_type_script_setup_true_lang-BCUhtL_B.js";
8
+ import { useSnackbar as pe, useDialog as De } from "@feedmepos/ui-library";
9
+ import { u as xe } from "./stock-DqIRhhsu.js";
10
+ import { g as Se, f as we } from "./recalculationUtils-lfhKnVFx.js";
11
+ import { _ as Ve } from "./UnitDisplayControl.vue_vue_type_script_setup_true_lang-mwAMQ0B3.js";
12
+ const Ce = { class: "fm-typo-en-heading-lg-600" }, Fe = { class: "flex flex-col gap-16" }, Ae = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Ie = { class: "flex flex-col gap-8" }, $e = { class: "fm-typo-en-body-md-600" }, Be = { class: "flex flex-col gap-8" }, Te = { class: "fm-typo-en-body-md-600" }, Le = {
13
+ key: 0,
14
+ class: "text-red-500 text-sm mt-2"
15
+ }, Re = { class: "fm-typo-en-body-sm-400" }, Ne = {
16
+ key: 1,
17
+ class: "p-12 border border-fm-color-border-primary rounded-8 bg-fm-color-background-secondary"
18
+ }, Oe = {
19
+ key: 0,
20
+ class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
21
+ }, Pe = {
22
+ key: 1,
23
+ class: "flex flex-col gap-8"
24
+ }, Me = { class: "fm-typo-en-body-sm-600" }, Ke = { class: "flex flex-col gap-4" }, Ue = { key: 0 }, Ee = { key: 1 }, He = { key: 2 }, We = {
25
+ key: 1,
26
+ class: "flex flex-col gap-8"
27
+ }, ze = { class: "fm-typo-en-body-md-600" }, je = { class: "flex flex-col gap-8 max-h-[300px] overflow-y-auto" }, Ge = { class: "flex items-center justify-between" }, Ye = { class: "fm-typo-en-body-sm-600" }, Je = { class: "flex items-center gap-8" }, Qe = {
28
+ key: 0,
29
+ class: "fm-typo-en-body-xs-600 px-8 py-4 rounded-4 bg-fm-color-neutral-100 text-fm-color-typo-secondary"
30
+ }, Xe = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, Ze = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, qe = {
31
+ key: 0,
32
+ class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
33
+ }, et = {
34
+ key: 1,
35
+ class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
36
+ }, tt = {
37
+ key: 2,
38
+ class: "fm-typo-en-body-xs-400 text-fm-color-system-error-500"
39
+ }, ot = {
40
+ key: 0,
41
+ class: "flex gap-8 ml-auto"
42
+ }, nt = {
43
+ key: 1,
44
+ class: "flex gap-8 ml-auto"
45
+ }, at = 15 * 60 * 1e3, st = /* @__PURE__ */ se({
46
+ __name: "RecalculationDialog",
47
+ emits: ["submitted"],
48
+ setup(Z, { expose: f, emit: h }) {
49
+ const A = h, { t: i } = le(), T = xe(), V = me(), k = pe(), I = p(!1), g = p(""), v = p(""), L = p([]), O = p([]), s = p(!1), n = p([]), S = p(!1), m = p([]), C = p(!1), B = D(
50
+ () => Se(L.value, O.value)
51
+ ), F = D(() => we(
52
+ m.value.filter((t) => !!t.closingId).map((t) => ({ closingId: t.closingId, draftCreatedAt: new Date(N(t._id)) }))
53
+ )), P = D(() => {
54
+ if (g.value)
55
+ try {
56
+ const t = N(g.value);
57
+ if (t)
58
+ return t;
59
+ } catch (t) {
60
+ console.error("Error parsing date from opening ID:", t);
61
+ }
62
+ }), M = D(() => {
63
+ if (!g.value || !v.value) return "";
64
+ const t = N(g.value);
65
+ if (t && v.value) {
66
+ const c = new Date(t).getTime();
67
+ if (new Date(v.value).getTime() <= c)
68
+ return i("inventory.stock.recalculation.error.endDateBeforeOpening");
69
+ }
70
+ return "";
71
+ }), z = D(() => {
72
+ if (!v.value) return !1;
73
+ const t = new Date(v.value), c = /* @__PURE__ */ new Date();
74
+ return c.setHours(0, 0, 0, 0), t.setHours(0, 0, 0, 0), t >= c;
75
+ }), K = D(() => !!g.value && !!v.value && !M.value), Y = D(() => n.value.some(
76
+ (t) => !t.completedAt && !t.failedReason && Date.now() - new Date(t.createdAt).getTime() < at
77
+ ));
78
+ async function J() {
79
+ I.value = !0, await Promise.all([q(), U(), E()]), g.value = "", v.value = "";
80
+ }
81
+ f({
82
+ open: J
83
+ });
84
+ async function q() {
85
+ s.value = !0;
86
+ try {
87
+ const t = await V.getLastNClosings(30);
88
+ L.value = t;
89
+ } catch (t) {
90
+ console.error("Error fetching recent closings:", t), k.open({
91
+ title: i("common.error"),
92
+ message: "Failed to fetch recent closings",
93
+ type: "error"
94
+ });
95
+ } finally {
96
+ s.value = !1;
97
+ }
98
+ }
99
+ async function U() {
100
+ try {
101
+ const t = await V.getLastNStockSnapshots(30);
102
+ O.value = t;
103
+ } catch (t) {
104
+ console.error("Error fetching recent snapshots:", t);
105
+ }
106
+ }
107
+ async function E() {
108
+ S.value = !0;
109
+ try {
110
+ const t = await T.recalculation.recalculationRequests();
111
+ n.value = t;
112
+ } catch (t) {
113
+ console.error("Error fetching recalculation requests:", t);
114
+ } finally {
115
+ S.value = !1;
116
+ }
117
+ }
118
+ async function ee() {
119
+ if (!g.value || !v.value) {
120
+ m.value = [];
121
+ return;
122
+ }
123
+ C.value = !0;
124
+ try {
125
+ const t = new Date(v.value);
126
+ t.setHours(23, 59, 59, 999);
127
+ const c = await T.recalculation.getAffectedClosingDrafts(
128
+ g.value,
129
+ t.toISOString()
130
+ );
131
+ m.value = c;
132
+ } catch {
133
+ k.open({
134
+ title: i("common.error"),
135
+ message: "Failed to fetch affected closing drafts",
136
+ type: "error"
137
+ }), m.value = [];
138
+ } finally {
139
+ C.value = !1;
140
+ }
141
+ }
142
+ ue(
143
+ [g, v],
144
+ () => {
145
+ g.value && v.value && !M.value ? ee() : m.value = [];
146
+ },
147
+ { immediate: !1 }
148
+ );
149
+ async function te() {
150
+ if (!(!K.value || !v.value)) {
151
+ s.value = !0;
152
+ try {
153
+ const t = new Date(v.value);
154
+ if (t.setHours(23, 59, 59, 999), await T.recalculation.scheduleRecalculation({
155
+ openingId: g.value,
156
+ untilDate: t.toISOString(),
157
+ recalculateBySnapshot: !0
158
+ }), m.value.length > 0) {
159
+ const c = m.value.map((H) => H._id);
160
+ await T.recalculation.scheduleInvalidateClosingDraftCache(c);
161
+ }
162
+ k.open({
163
+ title: i("common.success"),
164
+ message: "Stock recalculation has been scheduled successfully",
165
+ type: "success"
166
+ }), await E(), I.value = !1, A("submitted");
167
+ } catch (t) {
168
+ console.error("Error scheduling recalculation:", t), k.open({
169
+ title: i("common.error"),
170
+ message: "Failed to schedule stock recalculation",
171
+ type: "error"
172
+ });
173
+ } finally {
174
+ s.value = !1;
175
+ }
176
+ }
177
+ }
178
+ return (t, c) => {
179
+ const H = x("FmSelect"), oe = x("FmDatePicker"), Q = x("FmSnackbar"), X = x("FmAlert"), o = x("FmButton"), l = x("FmDialog");
180
+ return u(), y("div", null, [
181
+ _(l, {
182
+ modelValue: I.value,
183
+ "onUpdate:modelValue": c[4] || (c[4] = (e) => I.value = e),
184
+ "close-button": "",
185
+ dismissAway: "",
186
+ "max-width": "600px"
187
+ }, {
188
+ "dialog-header": $(() => [
189
+ a("div", Ce, r(d(i)("inventory.stock.recalculation.title")), 1)
190
+ ]),
191
+ "dialog-footer": $(() => [
192
+ Y.value ? (u(), y("div", nt, [
193
+ _(o, {
194
+ variant: "tertiary",
195
+ onClick: c[3] || (c[3] = (e) => I.value = !1),
196
+ label: d(i)("common.close")
197
+ }, null, 8, ["label"])
198
+ ])) : (u(), y("div", ot, [
199
+ _(o, {
200
+ variant: "tertiary",
201
+ onClick: c[2] || (c[2] = (e) => I.value = !1),
202
+ disabled: s.value,
203
+ label: d(i)("common.cancel")
204
+ }, null, 8, ["disabled", "label"]),
205
+ _(o, {
206
+ variant: "primary",
207
+ onClick: te,
208
+ disabled: !K.value || s.value,
209
+ loading: s.value,
210
+ label: d(i)("inventory.stock.recalculation.schedule")
211
+ }, null, 8, ["disabled", "loading", "label"])
212
+ ]))
213
+ ]),
214
+ default: $(() => [
215
+ a("div", Fe, [
216
+ a("div", Ae, r(d(i)("inventory.stock.recalculation.description")), 1),
217
+ Y.value ? w("", !0) : (u(), y(j, { key: 0 }, [
218
+ a("div", Ie, [
219
+ a("p", $e, [
220
+ ae(r(d(i)("inventory.stock.recalculation.openingDate")) + " ", 1),
221
+ c[5] || (c[5] = a("span", { class: "text-fm-color-system-error-300" }, "*", -1))
222
+ ]),
223
+ c[6] || (c[6] = a("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary mb-4" }, " Select from the last 30 closing or snapshot records as the opening date for recalculation. ", -1)),
224
+ _(H, {
225
+ modelValue: g.value,
226
+ "onUpdate:modelValue": c[0] || (c[0] = (e) => g.value = e),
227
+ items: B.value,
228
+ placeholder: d(i)("inventory.stock.recalculation.selectOpening"),
229
+ loading: s.value,
230
+ disabled: s.value
231
+ }, null, 8, ["modelValue", "items", "placeholder", "loading", "disabled"])
232
+ ]),
233
+ a("div", Be, [
234
+ a("p", Te, [
235
+ ae(r(d(i)("inventory.stock.recalculation.untilDate")) + " ", 1),
236
+ c[7] || (c[7] = a("span", { class: "text-fm-color-system-error-300" }, "*", -1))
237
+ ]),
238
+ c[8] || (c[8] = a("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary mb-4" }, " Select the end date for recalculation. Must be after the selected opening date. ", -1)),
239
+ _(oe, {
240
+ modelValue: v.value,
241
+ "onUpdate:modelValue": c[1] || (c[1] = (e) => v.value = e),
242
+ placeholder: d(i)("inventory.stock.recalculation.selectDate"),
243
+ min: P.value,
244
+ disabled: !g.value || s.value
245
+ }, null, 8, ["modelValue", "placeholder", "min", "disabled"]),
246
+ M.value ? (u(), y("div", Le, r(M.value), 1)) : w("", !0),
247
+ z.value ? (u(), G(Q, {
248
+ key: 1,
249
+ title: "Warning",
250
+ variant: "warning",
251
+ description: "You have selected today or a future date. The stock balance will be refreshed accordingly."
252
+ })) : w("", !0)
253
+ ]),
254
+ g.value && v.value && !M.value ? (u(), G(X, {
255
+ key: 0,
256
+ type: "info"
257
+ }, {
258
+ default: $(() => [
259
+ a("div", Re, r(d(i)("inventory.stock.recalculation.info")), 1)
260
+ ]),
261
+ _: 1
262
+ })) : w("", !0),
263
+ m.value.length > 0 ? (u(), y("div", Ne, [
264
+ C.value ? (u(), y("div", Oe, " Loading affected closing drafts... ")) : (u(), y("div", Pe, [
265
+ a("div", Me, " Affected closing draft(s): " + r(m.value.length), 1),
266
+ a("div", Ke, [
267
+ (u(!0), y(j, null, re(m.value, (e) => (u(), y("div", {
268
+ key: e._id,
269
+ class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
270
+ }, [
271
+ c[9] || (c[9] = ae(" • ")),
272
+ e.closingId && F.value.get(e.closingId) ? (u(), y("span", Ue, r(F.value.get(e.closingId)), 1)) : (u(), y("span", Ee, r(e._id), 1)),
273
+ e.effectiveAt ? (u(), y("span", He, " (" + r(new Date(e.effectiveAt).toLocaleString()) + ") ", 1)) : w("", !0)
274
+ ]))), 128))
275
+ ])
276
+ ]))
277
+ ])) : w("", !0)
278
+ ], 64)),
279
+ n.value.length > 0 ? (u(), y("div", We, [
280
+ a("p", ze, r(d(i)("inventory.stock.recalculation.recentRequests")), 1),
281
+ a("div", je, [
282
+ (u(!0), y(j, null, re(n.value, (e) => {
283
+ var R;
284
+ return u(), y("div", {
285
+ key: e._id,
286
+ class: "p-12 border border-fm-color-border-primary rounded-8 flex flex-col gap-4"
287
+ }, [
288
+ a("div", Ge, [
289
+ a("div", Ye, r(d(i)("inventory.stock.recalculation.requestedAt")) + ": " + r(new Date(e.createdAt).toLocaleString()), 1),
290
+ a("div", Je, [
291
+ (R = e.meta) != null && R.openingType ? (u(), y("div", Qe, r(e.meta.openingType === "stockSnapshot" ? "Snapshot" : "Closing"), 1)) : w("", !0),
292
+ a("div", {
293
+ class: fe(["fm-typo-en-body-xs-600 px-8 py-4 rounded-4", {
294
+ "bg-fm-color-system-error-100 text-fm-color-system-error-500": e.failedReason,
295
+ "bg-fm-color-system-success-100 text-fm-color-system-success-500": e.completedAt,
296
+ "bg-fm-color-system-info-100 text-fm-color-system-info-500": !e.failedReason && !e.completedAt
297
+ }])
298
+ }, r(e.failedReason ? d(i)("inventory.stock.recalculation.status.failed") : e.completedAt ? d(i)("inventory.stock.recalculation.status.completed") : d(i)("inventory.stock.recalculation.status.inProgress")), 3)
299
+ ])
300
+ ]),
301
+ a("div", Xe, r(d(i)("inventory.stock.recalculation.from")) + ": " + r(new Date(e.recalculateStartDate).toLocaleDateString()), 1),
302
+ a("div", Ze, r(d(i)("inventory.stock.recalculation.to")) + ": " + r(new Date(e.recalculateEndDate).toLocaleDateString()), 1),
303
+ e.createdBy ? (u(), y("div", qe, r(d(i)("inventory.stock.recalculation.requestedBy")) + ": " + r(e.createdBy.name || e.createdBy.id), 1)) : w("", !0),
304
+ e.completedAt ? (u(), y("div", et, r(d(i)("inventory.stock.recalculation.completedAt")) + ": " + r(new Date(e.completedAt).toLocaleString()), 1)) : w("", !0),
305
+ e.failedReason ? (u(), y("div", tt, r(e.failedReason), 1)) : w("", !0)
306
+ ]);
307
+ }), 128))
308
+ ])
309
+ ])) : w("", !0)
310
+ ])
311
+ ]),
312
+ _: 1
313
+ }, 8, ["modelValue"])
314
+ ]);
315
+ };
316
+ }
317
+ }), lt = { class: "fm-typo-en-heading-lg-600" }, it = { class: "flex flex-col gap-16" }, rt = { class: "flex flex-col gap-4" }, ct = { class: "fm-typo-en-label-md-400 text-fm-color-typo-secondary" }, dt = { class: "fm-typo-en-body-md-400" }, ut = { class: "flex flex-col gap-4" }, mt = { class: "fm-typo-en-label-md-400 text-fm-color-typo-secondary" }, pt = { class: "fm-typo-en-body-md-400" }, yt = { class: "flex flex-col gap-4" }, ft = { class: "fm-typo-en-label-md-400 text-fm-color-typo-secondary" }, gt = { class: "flex gap-8 ml-auto" }, vt = /* @__PURE__ */ se({
318
+ __name: "ClosingDetailDialog",
319
+ props: {
320
+ modelValue: { type: Boolean },
321
+ type: {},
322
+ data: {}
323
+ },
324
+ emits: ["update:modelValue"],
325
+ setup(Z, { emit: f }) {
326
+ const { t: h } = le(), A = _e(), i = Z, T = f, V = D({
327
+ get: () => i.modelValue,
328
+ set: (s) => T("update:modelValue", s)
329
+ }), k = p("");
330
+ ue(V, (s) => {
331
+ s || (k.value = "");
332
+ });
333
+ const I = D(() => {
334
+ var s;
335
+ return ((s = i.data) == null ? void 0 : s.skus) ?? [];
336
+ }), g = D(() => {
337
+ var m;
338
+ const s = (m = i.data) == null ? void 0 : m._id;
339
+ if (!s) return "-";
340
+ const n = N(s);
341
+ return new Date(n).toLocaleString();
342
+ }), v = D(() => i.type === "closing" ? h("inventory.closing.history.closingDetail", "Closing Detail") : h("inventory.closing.history.snapshotDetail", "Snapshot Detail")), L = D(() => I.value.map((s) => {
343
+ const n = A.skuById[s.id] ?? null, S = !n;
344
+ return {
345
+ id: s.id,
346
+ sku: n,
347
+ skuName: (n == null ? void 0 : n.name) ?? s.id,
348
+ skuCode: (n == null ? void 0 : n.code) ?? "-",
349
+ balance: s.balance ?? { amount: 0, precision: 0 },
350
+ isMissing: S,
351
+ costs: s.costs,
352
+ weightedAverage: s.weightedAverage
353
+ };
354
+ })), O = [
355
+ {
356
+ accessorKey: "skuName",
357
+ header: () => h("inventory.ingredient.name", "Ingredient Name"),
358
+ cell: (s) => {
359
+ const n = s.row.original;
360
+ return n.isMissing ? W("div", { class: "flex items-center gap-8" }, [
361
+ W("span", {}, n.id),
362
+ W(
363
+ "span",
364
+ {
365
+ class: "px-8 py-2 rounded-4 bg-fm-color-danger-weak text-fm-color-danger-default fm-typo-en-label-sm-400"
366
+ },
367
+ "Missing"
368
+ )
369
+ ]) : s.getValue();
370
+ }
371
+ },
372
+ {
373
+ accessorKey: "skuCode",
374
+ header: () => h("inventory.ingredient.code", "Code")
375
+ },
376
+ {
377
+ id: "balance",
378
+ header: () => h("inventory.closing.history.balance", "Balance"),
379
+ cell: (s) => {
380
+ var m;
381
+ const n = s.row.original;
382
+ if (n.isMissing || !((m = n.sku) != null && m.unit))
383
+ return `${n.balance.amount / Math.pow(10, n.balance.precision)}`;
384
+ const S = {
385
+ unit: n.sku.unit,
386
+ sku: n.sku,
387
+ amount: n.balance,
388
+ defaultTrackingMeasurement: n.sku.trackingMeasurement ?? void 0
389
+ };
390
+ return W(Ve, S);
391
+ },
392
+ size: 180
393
+ },
394
+ {
395
+ accessorKey: "weightedAverage",
396
+ header: () => h("inventory.closing.history.weightedAvgCost", "Weighted Avg Cost"),
397
+ cell: (s) => {
398
+ const n = s.getValue();
399
+ if (!n) return "-";
400
+ const S = n.amount ?? 0, m = n.precision ?? 0, C = n.currency ?? "", B = S / Math.pow(10, m);
401
+ return `${C} ${B.toFixed(2)}`;
402
+ }
403
+ }
404
+ ];
405
+ return (s, n) => {
406
+ const S = x("FmTextField"), m = x("FmTable"), C = x("FmButton"), B = x("FmDialog");
407
+ return u(), G(B, {
408
+ modelValue: V.value,
409
+ "onUpdate:modelValue": n[2] || (n[2] = (F) => V.value = F),
410
+ "close-button": "",
411
+ dismissAway: "",
412
+ "max-width": "900px"
413
+ }, {
414
+ "dialog-header": $(() => [
415
+ a("div", lt, r(v.value), 1)
416
+ ]),
417
+ default: $(() => {
418
+ var F;
419
+ return [
420
+ a("div", it, [
421
+ a("div", rt, [
422
+ a("div", ct, r(i.type === "closing" ? d(h)("inventory.closing.history.closingId") : d(h)("inventory.closing.history.snapshotId", "Snapshot ID")), 1),
423
+ a("div", dt, r(((F = i.data) == null ? void 0 : F._id) ?? "-"), 1)
424
+ ]),
425
+ a("div", ut, [
426
+ a("div", mt, r(d(h)("inventory.closing.history.date")), 1),
427
+ a("div", pt, r(g.value), 1)
428
+ ]),
429
+ a("div", yt, [
430
+ a("div", ft, r(d(h)("inventory.closing.history.ingredientBalances", "Ingredient Balances")) + " (" + r(I.value.length) + ") ", 1),
431
+ _(S, {
432
+ modelValue: k.value,
433
+ "onUpdate:modelValue": n[0] || (n[0] = (P) => k.value = P),
434
+ placeholder: "Filter by code or name"
435
+ }, null, 8, ["modelValue"]),
436
+ _(m, {
437
+ "row-data": L.value,
438
+ "column-defs": O,
439
+ pagination: { pageSize: 10 },
440
+ "search-value": k.value
441
+ }, null, 8, ["row-data", "search-value"])
442
+ ])
443
+ ])
444
+ ];
445
+ }),
446
+ "dialog-footer": $(() => [
447
+ a("div", gt, [
448
+ _(C, {
449
+ variant: "tertiary",
450
+ onClick: n[1] || (n[1] = (F) => V.value = !1),
451
+ label: "Close"
452
+ })
453
+ ])
454
+ ]),
455
+ _: 1
456
+ }, 8, ["modelValue"]);
457
+ };
458
+ }
459
+ }), ht = { class: "flex flex-col gap-16 p-16" }, _t = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, bt = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, kt = { class: "flex flex-col gap-16" }, Dt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, xt = { class: "flex gap-8 ml-auto" }, Rt = /* @__PURE__ */ se({
460
+ __name: "ClosingHistoryView",
461
+ setup(Z) {
462
+ var Q, X;
463
+ const { t: f } = le(), h = me(), A = be(), i = he(), T = De(), V = pe(), k = p("closings"), I = D(() => [
464
+ { label: f("inventory.closing.history.closingsTab"), value: "closings" },
465
+ { label: f("inventory.closing.history.snapshotsTab"), value: "snapshots" }
466
+ ]), g = p([]), v = p(0), L = p([]), O = p(0);
467
+ let s = A.currentLocationDBName;
468
+ async function n(o) {
469
+ return A.currentLocationDBName ? (s = A.currentLocationDBName, h.listClosingsPage(o)) : { docs: [], nextStartkey: null, hasMore: !1 };
470
+ }
471
+ async function S(o) {
472
+ return A.currentLocationDBName ? (s = A.currentLocationDBName, h.listStockSnapshotsPage(o)) : { docs: [], nextStartkey: null, hasMore: !1 };
473
+ }
474
+ function m() {
475
+ g.value = [], v.value++;
476
+ }
477
+ function C() {
478
+ L.value = [], O.value++;
479
+ }
480
+ const B = p(!1), F = p("closing"), P = p(null);
481
+ function M(o) {
482
+ return [
483
+ o.getFullYear(),
484
+ String(o.getMonth() + 1).padStart(2, "0"),
485
+ String(o.getDate()).padStart(2, "0")
486
+ ].join("-");
487
+ }
488
+ const z = () => M(new Date(Date.now() - 864e5)), K = p(z()), Y = D(() => {
489
+ const o = [
490
+ {
491
+ label: f("inventory.stock.recalculation.title"),
492
+ value: "recalculation",
493
+ prependIcon: "history",
494
+ isAdminOnly: !0
495
+ }
496
+ ];
497
+ return k.value === "closings" ? o.push(
498
+ {
499
+ label: f("inventory.closing.history.initiate_opening"),
500
+ value: "initiateOpening",
501
+ prependIcon: "add_box",
502
+ isAdminOnly: !0
503
+ },
504
+ {
505
+ label: "Refresh",
506
+ value: "refreshOpening",
507
+ prependIcon: "refresh"
508
+ }
509
+ ) : o.push(
510
+ {
511
+ label: f("inventory.closing.history.initiate_snapshot"),
512
+ value: "initiateStockSnapshot",
513
+ prependIcon: "camera",
514
+ isAdminOnly: !0
515
+ },
516
+ {
517
+ label: "Refresh",
518
+ value: "refreshStockSnapshot",
519
+ prependIcon: "refresh"
520
+ }
521
+ ), o;
522
+ }), J = p();
523
+ function q(o) {
524
+ var l;
525
+ switch (o) {
526
+ case "recalculation":
527
+ return (l = J.value) == null ? void 0 : l.open();
528
+ case "initiateOpening": {
529
+ T.open({
530
+ title: "Initiate Opening Balance",
531
+ message: "Initiate opening balance if no opening balance exists for the current location.",
532
+ primaryActions: { text: "Confirm", close: !0 }
533
+ }).onPrimary(async () => {
534
+ try {
535
+ await h.initiateClosing(), V.open({
536
+ message: "Opening balance initiated successfully.",
537
+ type: "success"
538
+ }), await m();
539
+ } catch (e) {
540
+ V.open({
541
+ message: e.message || "Failed to initiate opening balance. Please try again.",
542
+ type: "error"
543
+ });
544
+ }
545
+ });
546
+ break;
547
+ }
548
+ case "initiateStockSnapshot": {
549
+ K.value = z(), U.value = !0;
550
+ break;
551
+ }
552
+ case "refreshOpening": {
553
+ m();
554
+ break;
555
+ }
556
+ case "refreshStockSnapshot": {
557
+ C();
558
+ break;
559
+ }
560
+ }
561
+ }
562
+ const U = p(!1), E = p(!1), ee = z();
563
+ async function te() {
564
+ E.value = !0;
565
+ try {
566
+ await h.initiateStockSnapshot(K.value), V.open({
567
+ message: "Stock snapshot created successfully.",
568
+ type: "success"
569
+ }), U.value = !1, await C();
570
+ } catch (o) {
571
+ V.open({
572
+ message: o.message || "Failed to create stock snapshot. Please try again.",
573
+ type: "error"
574
+ });
575
+ } finally {
576
+ E.value = !1;
577
+ }
578
+ }
579
+ const t = [
580
+ ...(Q = i.sessionUser.value) != null && Q.role.isAdmin ? [
581
+ {
582
+ accessorKey: "_id",
583
+ header: () => W(ce, {}, () => `${f("inventory.closing.history.closingId")}`),
584
+ cell: (o) => o.getValue()
585
+ }
586
+ ] : [],
587
+ {
588
+ accessorKey: "_id",
589
+ id: "date",
590
+ header: () => f("inventory.closing.history.date"),
591
+ cell: (o) => {
592
+ const l = o.getValue(), e = N(l);
593
+ return new Date(e).toLocaleDateString();
594
+ }
595
+ },
596
+ {
597
+ accessorKey: "_id",
598
+ id: "time",
599
+ header: () => f("inventory.closing.history.time"),
600
+ cell: (o) => {
601
+ const l = o.getValue(), e = N(l);
602
+ return new Date(e).toLocaleTimeString();
603
+ }
604
+ },
605
+ {
606
+ accessorKey: "ref",
607
+ header: () => f("inventory.closing.history.createdFrom"),
608
+ cell: (o) => o.getValue() || "-"
609
+ }
610
+ ], c = [
611
+ ...(X = i.sessionUser.value) != null && X.role.isAdmin ? [
612
+ {
613
+ accessorKey: "_id",
614
+ header: () => W(
615
+ ce,
616
+ {},
617
+ () => `${f("inventory.closing.history.snapshotId", "Snapshot ID")}`
618
+ ),
619
+ cell: (o) => o.getValue()
620
+ }
621
+ ] : [],
622
+ {
623
+ accessorKey: "_id",
624
+ id: "date",
625
+ header: () => f("inventory.closing.history.date"),
626
+ cell: (o) => {
627
+ const l = o.getValue(), e = N(l);
628
+ return new Date(e).toLocaleDateString();
629
+ }
630
+ },
631
+ {
632
+ accessorKey: "_id",
633
+ id: "time",
634
+ header: () => f("inventory.closing.history.time"),
635
+ cell: (o) => {
636
+ const l = o.getValue(), e = N(l);
637
+ return new Date(e).toLocaleTimeString();
638
+ }
639
+ },
640
+ {
641
+ accessorKey: "remark",
642
+ header: () => f("inventory.closing.history.createdFrom"),
643
+ cell: (o) => o.getValue() || "-"
644
+ }
645
+ ];
646
+ async function H(o, l) {
647
+ const e = await h.getClosingById(o, l);
648
+ if (!e) throw new Error(`Closing ${o} not found`);
649
+ return F.value = "closing", P.value = e, B.value = !0, e;
650
+ }
651
+ async function oe(o, l) {
652
+ const e = await h.getStockSnapshotById(o, l);
653
+ if (!e) throw new Error(`Stock snapshot ${o} not found`);
654
+ return F.value = "snapshot", P.value = e, B.value = !0, e;
655
+ }
656
+ return A.watchLocation(async () => {
657
+ (A.currentLocationDBName || void 0) !== s && (m(), C());
658
+ }), (o, l) => {
659
+ const e = x("FmTabs"), R = x("FmDatePicker"), ie = x("FmButton"), ye = x("FmDialog");
660
+ return u(), G(ve, {
661
+ actions: Y.value,
662
+ title: d(f)("inventory.closing.history.title"),
663
+ "onClick:action": q
664
+ }, {
665
+ default: $(() => [
666
+ a("div", ht, [
667
+ _(ke, {
668
+ "change-location": "",
669
+ "hide-filter-options": !0
670
+ }),
671
+ _(e, {
672
+ "model-value": k.value,
673
+ "onUpdate:modelValue": l[0] || (l[0] = (b) => k.value = b),
674
+ items: I.value
675
+ }, null, 8, ["model-value", "items"]),
676
+ k.value === "closings" ? (u(), y(j, { key: 0 }, [
677
+ a("div", _t, r(d(f)("inventory.closing.history.closingsDescription")), 1),
678
+ _(de, {
679
+ rows: g.value,
680
+ "onUpdate:rows": l[1] || (l[1] = (b) => g.value = b),
681
+ "fetch-page": n,
682
+ "refresh-key": v.value,
683
+ "column-defs": t,
684
+ "fetch-detail": (b, ne) => H(b._id, ne)
685
+ }, null, 8, ["rows", "refresh-key", "fetch-detail"])
686
+ ], 64)) : w("", !0),
687
+ k.value === "snapshots" ? (u(), y(j, { key: 1 }, [
688
+ a("div", bt, r(d(f)("inventory.closing.history.snapshotsDescription")), 1),
689
+ _(de, {
690
+ rows: L.value,
691
+ "onUpdate:rows": l[2] || (l[2] = (b) => L.value = b),
692
+ "fetch-page": S,
693
+ "refresh-key": O.value,
694
+ "column-defs": c,
695
+ "fetch-detail": (b, ne) => oe(b._id, ne)
696
+ }, null, 8, ["rows", "refresh-key", "fetch-detail"])
697
+ ], 64)) : w("", !0)
698
+ ]),
699
+ (u(), G(ge, { to: "body" }, [
700
+ _(st, {
701
+ ref_key: "recalculationDialogRef",
702
+ ref: J,
703
+ onSubmitted: l[3] || (l[3] = (b) => {
704
+ m(), C();
705
+ })
706
+ }, null, 512),
707
+ _(vt, {
708
+ modelValue: B.value,
709
+ "onUpdate:modelValue": l[4] || (l[4] = (b) => B.value = b),
710
+ type: F.value,
711
+ data: P.value
712
+ }, null, 8, ["modelValue", "type", "data"]),
713
+ _(ye, {
714
+ modelValue: U.value,
715
+ "onUpdate:modelValue": l[7] || (l[7] = (b) => U.value = b),
716
+ "close-button": "",
717
+ dismissAway: "",
718
+ "max-width": "400px"
719
+ }, {
720
+ "dialog-header": $(() => l[8] || (l[8] = [
721
+ a("div", { class: "fm-typo-en-heading-lg-600" }, "Initiate Stock Snapshot", -1)
722
+ ])),
723
+ default: $(() => [
724
+ a("div", kt, [
725
+ a("div", Dt, r(d(f)("inventory.closing.history.snapshotsDescription")), 1),
726
+ _(R, {
727
+ modelValue: K.value,
728
+ "onUpdate:modelValue": l[5] || (l[5] = (b) => K.value = b),
729
+ label: "Snapshot Date",
730
+ max: d(ee)
731
+ }, null, 8, ["modelValue", "max"])
732
+ ])
733
+ ]),
734
+ "dialog-footer": $(() => [
735
+ a("div", xt, [
736
+ _(ie, {
737
+ variant: "tertiary",
738
+ onClick: l[6] || (l[6] = (b) => U.value = !1),
739
+ label: "Cancel",
740
+ disabled: E.value
741
+ }, null, 8, ["disabled"]),
742
+ _(ie, {
743
+ variant: "primary",
744
+ onClick: te,
745
+ label: "Confirm",
746
+ loading: E.value
747
+ }, null, 8, ["loading"])
748
+ ])
749
+ ]),
750
+ _: 1
751
+ }, 8, ["modelValue"])
752
+ ]))
753
+ ]),
754
+ _: 1
755
+ }, 8, ["actions", "title"]);
756
+ };
757
+ }
758
+ });
759
+ export {
760
+ Rt as default
761
+ };