@wisemen/wise-invoicing-web 0.0.3 → 0.0.4

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 (52) hide show
  1. package/dist/{BillingDocumentDetailViewDataProvider-CwonTh2r.js → BillingDocumentDetailViewDataProvider-pePmiXWb.js} +332 -332
  2. package/dist/{BillingDocumentPdf-GWCCjE6F.js → BillingDocumentPdf-Dg5JlQE1.js} +8 -8
  3. package/dist/{CreditNoteDetailViewDataProvider-CaucKK9o.js → CreditNoteDetailViewDataProvider-C-A0jyVr.js} +5 -5
  4. package/dist/{CreditNotePdfViewDataProvider-CDkvm-3m.js → CreditNotePdfViewDataProvider-DNUvFVDj.js} +2 -2
  5. package/dist/{CustomFieldValueText-CC9spLWf.js → CustomFieldValueText-DDQq-975.js} +1 -1
  6. package/dist/{DunningCaseDetailViewDataProvider-1Ui9yqUb.js → DunningCaseDetailViewDataProvider-0WV-7-vg.js} +110 -113
  7. package/dist/DunningCaseOverviewView-CHdzfbhb.js +553 -0
  8. package/dist/{DunningCaseReminderPdfViewDataProvider-CVnr9ge6.js → DunningCaseReminderPdfViewDataProvider-DcM-7ECg.js} +4 -1
  9. package/dist/DunningCaseSendDialog-DBtwr2ue.js +350 -0
  10. package/dist/{InvoiceDetailViewDataProvider-DfRDFCEb.js → InvoiceDetailViewDataProvider-BDL9lAWe.js} +175 -174
  11. package/dist/{InvoiceOverviewViewDataProvider-CNK7H5r2.js → InvoiceOverviewViewDataProvider-B_jrcC_8.js} +54 -54
  12. package/dist/{InvoicePdfView-CrWU8Xa-.js → InvoicePdfView-Bygb-9z6.js} +2 -2
  13. package/dist/{InvoicePdfViewDataProvider-nHZoeRxn.js → InvoicePdfViewDataProvider-nBk3XNrE.js} +2 -2
  14. package/dist/{InvoicePublicPdfViewDataProvider-CXWSg2pq.js → InvoicePublicPdfViewDataProvider-DHJP_-7-.js} +2 -2
  15. package/dist/{IssuerSettingsViewDataProvider-DcA6rgOJ.js → IssuerSettingsViewDataProvider-Dk_Q6w6f.js} +2 -2
  16. package/dist/ReminderSettingsViewDataProvider-CDBjfU7R.js +668 -0
  17. package/dist/{billingDocumentDetail.transformer-tmy9Tf_b.js → billingDocumentDetail.transformer-zMTbka5p.js} +1 -1
  18. package/dist/composables/invoicingConfig.composable.d.ts +0 -2
  19. package/dist/{creditNoteDetail.query-BM2saU0n.js → creditNoteDetail.query-BZqgZRSu.js} +2 -2
  20. package/dist/{documentTitle.composable-D7XA-8iJ.js → documentTitle.composable-CeaFddr1.js} +28 -30
  21. package/dist/{invoicingConfig.composable-AjojW4qE.js → i18n.lib-DUbAMBRb.js} +8 -66
  22. package/dist/index.js +156 -157
  23. package/dist/{invoice.service-PsmVGGTR.js → invoice.service-ChHEtXBA.js} +13 -13
  24. package/dist/{invoiceDeliveryStatus.util-CL8K78pD.js → invoiceDeliveryStatus.util-BsA-MlA3.js} +27 -27
  25. package/dist/{invoiceDetail.query-D2eFdE0j.js → invoiceDetail.query-O_CGvdwg.js} +1 -1
  26. package/dist/invoicingConfig.composable-c6w_aMm1.js +60 -0
  27. package/dist/{issuerSettings.query-d5i7Wd7j.js → issuerSettings.query-RqtrZFaB.js} +1 -1
  28. package/dist/modules/dunning-case/api/queries/dunningCaseIndex.query.d.ts +0 -1
  29. package/dist/modules/dunning-case/use-cases/send/components/DunningCaseBulkSendStat.vue.d.ts +9 -0
  30. package/dist/modules/dunning-case/use-cases/send/components/DunningCaseBulkSendSummary.vue.d.ts +8 -0
  31. package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendFeeRow.vue.d.ts +8 -0
  32. package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendInvoiceRow.vue.d.ts +8 -0
  33. package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendInvoiceSummary.vue.d.ts +8 -0
  34. package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendRecipientAlert.vue.d.ts +7 -0
  35. package/dist/modules/dunning-case/use-cases/send/composables/dunningCaseReminderSubject.composable.d.ts +6 -0
  36. package/dist/modules/dunning-case/use-cases/send/composables/dunningCaseSendRecipient.composable.d.ts +16 -0
  37. package/dist/modules/dunning-case/use-cases/send/utils/dunningCaseSend.util.d.ts +13 -0
  38. package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderFeeNotice.vue.d.ts +3 -0
  39. package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderPanel.vue.d.ts +12 -0
  40. package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderRow.vue.d.ts +26 -0
  41. package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderTimeline.vue.d.ts +13 -0
  42. package/dist/modules/dunning-case/use-cases/settings/components/ReminderTemplateTabs.vue.d.ts +20 -0
  43. package/dist/modules/dunning-case/use-cases/settings/components/ReminderTemplatesPanel.vue.d.ts +24 -0
  44. package/dist/modules/dunning-case/use-cases/settings/composables/reminderLadder.composable.d.ts +41 -0
  45. package/dist/{reminderConfig.query-C7I3M2pu.js → reminderConfig.query-DzTN2AvU.js} +87 -100
  46. package/package.json +1 -1
  47. package/dist/DunningCaseOverviewView-Bvwaj4_y.js +0 -507
  48. package/dist/PermissionGuard-DDw-lDGL.js +0 -301
  49. package/dist/ReminderSettingsViewDataProvider-C4qz2Rli.js +0 -502
  50. package/dist/composables/permission-guard/permissionGuard.composable.d.ts +0 -4
  51. package/dist/modules/dunning-case/api/queries/dunningCaseIndex.query.spec.d.ts +0 -1
  52. package/dist/ui/permission-guard/PermissionGuard.vue.d.ts +0 -22
@@ -1,6 +1,6 @@
1
- import { n as e } from "./invoicingConfig.composable-AjojW4qE.js";
2
1
  import "./api.util-Dm_TQedZ.js";
3
- import { h as t, m as n } from "./documentTitle.composable-D7XA-8iJ.js";
2
+ import { h as e, m as t } from "./documentTitle.composable-CeaFddr1.js";
3
+ import { n } from "./invoicingConfig.composable-c6w_aMm1.js";
4
4
  import { r } from "./address.transformer-B8C0pwT1.js";
5
5
  import { Q as i } from "./dist-DP8KNFVD.js";
6
6
  import { useI18n as a } from "vue-i18n";
@@ -268,8 +268,8 @@ var T = "-", E = 32, D = 512, O = 640, k = 576, A = 704, j = 52, M = 34, N = 16,
268
268
  invoice: {},
269
269
  pageType: {}
270
270
  },
271
- setup(n) {
272
- let r = n, d = a(), f = e(), m = s(() => d.locale.value || "en-US"), h = s(() => r.invoice.type === t.CREDIT_NOTE), v = s(() => h.value ? r.invoice.sequence === null ? d.t("wise_invoicing.credit_note.detail.fallback_title") : `${d.t("wise_invoicing.invoice.type.credit_note")} ${r.invoice.sequence}` : r.invoice.sequence ?? d.t("wise_invoicing.invoice.detail.fallback_title")), y = s(() => {
271
+ setup(t) {
272
+ let r = t, d = a(), f = n(), m = s(() => d.locale.value || "en-US"), h = s(() => r.invoice.type === e.CREDIT_NOTE), v = s(() => h.value ? r.invoice.sequence === null ? d.t("wise_invoicing.credit_note.detail.fallback_title") : `${d.t("wise_invoicing.invoice.type.credit_note")} ${r.invoice.sequence}` : r.invoice.sequence ?? d.t("wise_invoicing.invoice.detail.fallback_title")), y = s(() => {
273
273
  let e = r.invoice.originalInvoice?.sequence;
274
274
  return !h.value || r.pageType !== "first" || e === null ? null : `${d.t("wise_invoicing.invoice.type.standard")} ${e}`;
275
275
  }), T = s(() => (r.invoice.issuer.name ?? d.t("wise_invoicing.common.not_available")).split(" ").filter((e) => e !== "").slice(0, 2).map((e) => e.toUpperCase())), E = s(() => I.getAddressLines(r.invoice.customer.address)), D = s(() => {
@@ -560,8 +560,8 @@ var T = "-", E = 32, D = 512, O = 640, k = 576, A = 704, j = 52, M = 34, N = 16,
560
560
  hasLines: { type: Boolean },
561
561
  invoice: {}
562
562
  },
563
- setup(e) {
564
- let n = e, r = a(), i = s(() => r.locale.value || "en-US"), c = s(() => n.invoice.type === t.CREDIT_NOTE);
563
+ setup(t) {
564
+ let n = t, r = a(), i = s(() => r.locale.value || "en-US"), c = s(() => n.invoice.type === e.CREDIT_NOTE);
565
565
  function f(e) {
566
566
  return {
567
567
  ...e,
@@ -689,8 +689,8 @@ var T = "-", E = 32, D = 512, O = 640, k = 576, A = 704, j = 52, M = 34, N = 16,
689
689
  }), se = { class: "absolute right-9 bottom-9 text-xs leading-none font-medium text-tertiary" }, ce = /* @__PURE__ */ m({
690
690
  __name: "BillingDocumentPdf",
691
691
  props: { billingDocument: {} },
692
- setup(e) {
693
- let r = e, i = s(() => r.billingDocument.status === n.DRAFT || r.billingDocument.status === n.READY), a = s(() => r.billingDocument.type === t.CREDIT_NOTE), f = s(() => I.buildRows(r.billingDocument, { isCreditNote: a.value })), m = s(() => {
692
+ setup(n) {
693
+ let r = n, i = s(() => r.billingDocument.status === t.DRAFT || r.billingDocument.status === t.READY), a = s(() => r.billingDocument.type === e.CREDIT_NOTE), f = s(() => I.buildRows(r.billingDocument, { isCreditNote: a.value })), m = s(() => {
694
694
  let e = I.paginateRows(f.value, { hasRemarks: r.billingDocument.externalRemarks !== null && r.billingDocument.externalRemarks.trim() !== "" });
695
695
  return e.map((t, n) => ({
696
696
  isLastPage: n === e.length - 1,
@@ -1,14 +1,14 @@
1
- import { r as e } from "./invoicingConfig.composable-AjojW4qE.js";
1
+ import { t as e } from "./i18n.lib-DUbAMBRb.js";
2
2
  import "./api.util-Dm_TQedZ.js";
3
- import { m as t, r as n } from "./documentTitle.composable-D7XA-8iJ.js";
3
+ import { m as t, r as n } from "./documentTitle.composable-CeaFddr1.js";
4
4
  import { t as r } from "./download.util-PjaUQR6r.js";
5
5
  import { r as i } from "./address.transformer-B8C0pwT1.js";
6
6
  import { D as a, K as o, L as s, M as c, O as l, g as u, h as d, i as f, l as p, nt as m, w as h, z as g } from "./dist-DP8KNFVD.js";
7
7
  import { n as _, t as v } from "./dist-YTXTCfo1.js";
8
- import { i as ee, r as y } from "./CustomFieldValueText-CC9spLWf.js";
8
+ import { i as ee, r as y } from "./CustomFieldValueText-DDQq-975.js";
9
9
  import { t as b } from "./formango.util-D5c2ql--.js";
10
- import { n as x, r as S, t as C } from "./creditNoteDetail.query-BM2saU0n.js";
11
- import { C as te, S as ne, T as w, _ as T, a as E, b as D, c as re, d as O, f as k, g as ie, h as ae, i as oe, m as se, n as ce, o as le, p as ue, r as de, s as fe, t as pe, v as me, w as he, x as ge, y as _e } from "./BillingDocumentDetailViewDataProvider-CwonTh2r.js";
10
+ import { n as x, r as S, t as C } from "./creditNoteDetail.query-BZqgZRSu.js";
11
+ import { C as te, S as ne, T as w, _ as T, a as E, b as D, c as re, d as O, f as k, g as ie, h as ae, i as oe, m as se, n as ce, o as le, p as ue, r as de, s as fe, t as pe, v as me, w as he, x as ge, y as _e } from "./BillingDocumentDetailViewDataProvider-pePmiXWb.js";
12
12
  import { useRouter as ve } from "vue-router";
13
13
  import ye, { z as A } from "zod";
14
14
  import { useI18n as j } from "vue-i18n";
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./DataProvider-CfHLB3rH.js";
2
- import { t } from "./InvoicePdfView-CrWU8Xa-.js";
3
- import { t as n } from "./creditNoteDetail.query-BM2saU0n.js";
2
+ import { t } from "./InvoicePdfView-Bygb-9z6.js";
3
+ import { t as n } from "./creditNoteDetail.query-BZqgZRSu.js";
4
4
  import { useI18n as r } from "vue-i18n";
5
5
  import { computed as i, createBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, openBlock as l, unref as u, withCtx as d } from "vue";
6
6
  import { UIText as f } from "@wisemen/vue-core-design-system";
@@ -1,5 +1,5 @@
1
1
  import { I as e, t } from "./api.util-Dm_TQedZ.js";
2
- import { m as n, p as r, s as i } from "./documentTitle.composable-D7XA-8iJ.js";
2
+ import { m as n, p as r, s as i } from "./documentTitle.composable-CeaFddr1.js";
3
3
  import { r as a } from "./useCurrencyFormat.composable-MtZaqKnO.js";
4
4
  import { n as o } from "./dist-YTXTCfo1.js";
5
5
  import { useI18n as s } from "vue-i18n";
@@ -1,73 +1,73 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { n as t } from "./invoicingConfig.composable-AjojW4qE.js";
3
2
  import "./api.util-Dm_TQedZ.js";
4
- import { b as n, t as r, v as i } from "./documentTitle.composable-D7XA-8iJ.js";
5
- import { r as ee } from "./useCurrencyFormat.composable-MtZaqKnO.js";
6
- import { n as a } from "./reminderConfig.query-C7I3M2pu.js";
7
- import { $ as o, J as te, W as s, nt as c, x as l, z as ne } from "./dist-DP8KNFVD.js";
8
- import { a as re, i as ie, n as ae, o as u, r as oe, t as se } from "./PermissionGuard-DDw-lDGL.js";
9
- import { n as ce } from "./dist-YTXTCfo1.js";
3
+ import { t, y as n } from "./documentTitle.composable-CeaFddr1.js";
4
+ import { r } from "./useCurrencyFormat.composable-MtZaqKnO.js";
5
+ import { n as i } from "./invoicingConfig.composable-c6w_aMm1.js";
6
+ import { n as a } from "./reminderConfig.query-DzTN2AvU.js";
7
+ import { $ as o, J as ee, W as s, nt as c, x as l, z as te } from "./dist-DP8KNFVD.js";
8
+ import { a as u, i as ne, n as re, r as ie, t as ae } from "./DunningCaseSendDialog-DBtwr2ue.js";
9
+ import { n as oe } from "./dist-YTXTCfo1.js";
10
10
  import { t as d } from "./DataProvider-CfHLB3rH.js";
11
- import { useViewModels as le } from "@wisemen/vue-core-actions";
12
- import { RouterLink as ue, useRouter as de } from "vue-router";
11
+ import { useViewModels as se } from "@wisemen/vue-core-actions";
12
+ import { RouterLink as ce, useRouter as le } from "vue-router";
13
13
  import { useI18n as f } from "vue-i18n";
14
- import { Fragment as p, computed as m, createBlock as h, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createTextVNode as y, createVNode as b, defineComponent as x, normalizeClass as S, normalizeStyle as fe, openBlock as C, ref as w, renderList as T, toDisplayString as E, unref as D, withCtx as O } from "vue";
14
+ import { Fragment as p, computed as m, createBlock as h, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createTextVNode as y, createVNode as b, defineComponent as x, normalizeClass as S, normalizeStyle as ue, openBlock as C, ref as w, renderList as T, toDisplayString as E, unref as D, withCtx as O } from "vue";
15
15
  import { Temporal as k } from "temporal-polyfill";
16
- import { UIBadge as A, UIButton as pe, UIDashboardPage as me, UIDashboardPageContent as he, UIDashboardPageLoadingState as j, UITabs as ge, UITabsItem as M, UITabsList as _e, UITooltip as ve, UITooltipContent as ye, useOverlay as be } from "@wisemen/vue-core-design-system";
16
+ import { UIBadge as A, UIButton as de, UIDashboardPage as fe, UIDashboardPageContent as pe, UIDashboardPageLoadingState as j, UITabs as me, UITabsItem as M, UITabsList as he, UITooltip as ge, UITooltipContent as _e, useOverlay as ve } from "@wisemen/vue-core-design-system";
17
17
  //#region src/modules/dunning-case/use-cases/detail/views/DunningCaseDetailView.vue?vue&type=script&setup=true&lang.ts
18
- var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg lg:flex-row lg:items-start lg:justify-between" }, Ce = { class: "flex flex-wrap items-center gap-sm" }, we = { class: "text-lg font-semibold text-primary" }, Te = { key: 1 }, Ee = { class: "inline-flex items-center gap-xs rounded-sm border border-secondary px-sm py-px text-xs text-primary" }, De = {
18
+ var ye = { class: "flex flex-col gap-4xl" }, be = { class: "flex flex-col gap-lg lg:flex-row lg:items-start lg:justify-between" }, xe = { class: "flex flex-wrap items-center gap-sm" }, Se = { class: "text-lg font-semibold text-primary" }, Ce = { key: 1 }, we = { class: "inline-flex items-center gap-xs rounded-sm border border-secondary px-sm py-px text-xs text-primary" }, Te = {
19
19
  key: 0,
20
20
  class: "mt-xs text-xs text-secondary"
21
- }, Oe = { class: "mt-xxs text-xs text-secondary" }, ke = { class: "grid grid-cols-1 gap-3xl md:grid-cols-2 xl:grid-cols-[minmax(20rem,1.45fr)_minmax(10rem,0.7fr)_repeat(2,minmax(8rem,0.8fr))]" }, Ae = { class: "min-w-0 xl:col-start-1 xl:row-start-1 2xl:col-start-1 2xl:row-start-1" }, je = { class: "text-xs font-medium text-secondary" }, Me = { class: "mt-xs font-mono text-4xl font-semibold text-primary tabular-nums xl:text-5xl" }, Ne = { class: "mt-xs text-xs text-secondary" }, Pe = {
21
+ }, Ee = { class: "mt-xxs text-xs text-secondary" }, De = { class: "grid grid-cols-1 gap-3xl md:grid-cols-2 xl:grid-cols-[minmax(20rem,1.45fr)_minmax(10rem,0.7fr)_repeat(2,minmax(8rem,0.8fr))]" }, Oe = { class: "min-w-0 xl:col-start-1 xl:row-start-1 2xl:col-start-1 2xl:row-start-1" }, ke = { class: "text-xs font-medium text-secondary" }, Ae = { class: "mt-xs font-mono text-4xl font-semibold text-primary tabular-nums xl:text-5xl" }, je = { class: "mt-xs text-xs text-secondary" }, Me = {
22
22
  key: 0,
23
23
  class: "mt-xxs text-xs text-secondary"
24
- }, Fe = { class: "mt-xl flex h-(--spacing-md) overflow-hidden rounded-full bg-tertiary" }, Ie = { class: "flex flex-col justify-end gap-md xl:col-start-2 xl:row-start-1 xl:pb-xs" }, Le = ["aria-label"], Re = { class: "flex min-w-0 items-center gap-sm" }, ze = { class: "truncate text-xs text-secondary" }, Be = { class: "shrink-0 font-mono text-xs font-medium text-primary" }, Ve = { class: "flex min-w-0 items-center gap-md xl:col-start-3 xl:row-start-1" }, He = { class: "flex size-(--spacing-5xl) shrink-0 items-center justify-center rounded-full bg-brand-100" }, Ue = { class: "min-w-0" }, We = { class: "text-xs text-secondary" }, Ge = { class: "mt-xs font-mono text-xl font-semibold whitespace-nowrap text-primary xl:text-2xl" }, Ke = { class: "flex min-w-0 items-center gap-md xl:col-start-4 xl:row-start-1" }, qe = { class: "flex size-(--spacing-5xl) shrink-0 items-center justify-center rounded-full bg-brand-100" }, Je = { class: "text-xs text-secondary" }, Ye = { class: "mt-xs font-mono text-2xl font-semibold text-primary" }, Xe = {
24
+ }, Ne = { class: "mt-xl flex h-(--spacing-md) overflow-hidden rounded-full bg-tertiary" }, Pe = { class: "flex flex-col justify-end gap-md xl:col-start-2 xl:row-start-1 xl:pb-xs" }, Fe = ["aria-label"], Ie = { class: "flex min-w-0 items-center gap-sm" }, Le = { class: "truncate text-xs text-secondary" }, Re = { class: "shrink-0 font-mono text-xs font-medium text-primary" }, ze = { class: "flex min-w-0 items-center gap-md xl:col-start-3 xl:row-start-1" }, Be = { class: "flex size-(--spacing-5xl) shrink-0 items-center justify-center rounded-full bg-brand-100" }, Ve = { class: "min-w-0" }, He = { class: "text-xs text-secondary" }, Ue = { class: "mt-xs font-mono text-xl font-semibold whitespace-nowrap text-primary xl:text-2xl" }, We = { class: "flex min-w-0 items-center gap-md xl:col-start-4 xl:row-start-1" }, Ge = { class: "flex size-(--spacing-5xl) shrink-0 items-center justify-center rounded-full bg-brand-100" }, Ke = { class: "text-xs text-secondary" }, qe = { class: "mt-xs font-mono text-2xl font-semibold text-primary" }, Je = {
25
25
  key: 0,
26
26
  class: "mt-xs text-xs text-secondary"
27
- }, Ze = { class: "grid gap-3xl xl:grid-cols-[minmax(0,2fr)_25.5rem]" }, Qe = { class: "min-w-0" }, $e = { class: "overflow-hidden rounded-md border border-secondary bg-primary shadow-sm" }, et = { class: "border-b border-secondary px-xl pt-lg" }, N = { class: "overflow-x-auto" }, tt = {
27
+ }, Ye = { class: "grid gap-3xl xl:grid-cols-[minmax(0,2fr)_25.5rem]" }, Xe = { class: "min-w-0" }, Ze = { class: "overflow-hidden rounded-md border border-secondary bg-primary shadow-sm" }, Qe = { class: "border-b border-secondary px-xl pt-lg" }, $e = { class: "overflow-x-auto" }, et = {
28
28
  key: 0,
29
29
  class: "w-full min-w-200 table-fixed border-collapse text-left"
30
- }, nt = { class: "border-b border-secondary bg-secondary" }, rt = { class: "w-[20%] px-xl py-md text-xs font-medium text-secondary" }, it = { class: "w-[26%] px-xl py-md text-xs font-medium text-secondary" }, at = { class: "w-[14%] px-xl py-md text-xs font-medium text-secondary" }, ot = { class: "w-[20%] px-xl py-md text-xs font-medium text-secondary" }, st = { class: "w-[20%] px-xl py-md text-right text-xs font-medium text-secondary" }, ct = { class: "border-b border-secondary" }, lt = { class: "flex items-start gap-md" }, ut = [
30
+ }, tt = { class: "border-b border-secondary bg-secondary" }, nt = { class: "w-[20%] px-xl py-md text-xs font-medium text-secondary" }, rt = { class: "w-[26%] px-xl py-md text-xs font-medium text-secondary" }, it = { class: "w-[14%] px-xl py-md text-xs font-medium text-secondary" }, at = { class: "w-[20%] px-xl py-md text-xs font-medium text-secondary" }, ot = { class: "w-[20%] px-xl py-md text-right text-xs font-medium text-secondary" }, st = { class: "border-b border-secondary" }, ct = { class: "flex items-start gap-md" }, lt = [
31
31
  "aria-expanded",
32
32
  "aria-label",
33
33
  "onClick"
34
- ], dt = {
34
+ ], ut = {
35
35
  key: 1,
36
36
  class: "size-(--spacing-xl) shrink-0"
37
- }, ft = { class: "min-w-0" }, pt = {
37
+ }, dt = { class: "min-w-0" }, ft = {
38
38
  key: 0,
39
39
  class: "mt-xxs truncate text-xs text-secondary"
40
- }, mt = { class: "px-xl py-md font-mono text-xs" }, ht = { class: "px-xl py-md" }, gt = {
40
+ }, pt = { class: "px-xl py-md font-mono text-xs" }, mt = { class: "px-xl py-md" }, ht = {
41
41
  key: 1,
42
42
  class: "flex items-center gap-xs text-xs text-primary"
43
- }, _t = { class: "px-xl py-md" }, vt = { class: "flex flex-col items-start gap-xs" }, yt = {
43
+ }, N = { class: "px-xl py-md" }, gt = { class: "flex flex-col items-start gap-xs" }, _t = {
44
44
  key: 0,
45
45
  class: "text-xs text-secondary"
46
- }, bt = { class: "px-xl py-md text-right font-mono text-xs text-primary tabular-nums" }, xt = { class: "font-medium" }, St = {
46
+ }, vt = { class: "px-xl py-md text-right font-mono text-xs text-primary tabular-nums" }, yt = { class: "font-medium" }, bt = {
47
47
  key: 0,
48
48
  class: "mt-xxs text-tertiary"
49
- }, Ct = ["aria-hidden"], wt = {
49
+ }, xt = ["aria-hidden"], St = {
50
50
  class: "p-none",
51
51
  colspan: "5"
52
- }, Tt = { class: "overflow-hidden" }, Et = { class: "relative flex flex-col items-start gap-xs px-5xl py-md text-xs before:absolute before:inset-y-0 before:left-0 before:w-(--spacing-xxs) before:bg-brand-500" }, Dt = {
52
+ }, Ct = { class: "overflow-hidden" }, wt = { class: "relative flex flex-col items-start gap-xs px-5xl py-md text-xs before:absolute before:inset-y-0 before:left-0 before:w-(--spacing-xxs) before:bg-brand-500" }, Tt = {
53
53
  key: 1,
54
54
  class: "flex flex-col items-center justify-center gap-md px-xl py-2xl"
55
- }, Ot = { class: "flex size-(--spacing-3xl) items-center justify-center rounded-md border border-secondary" }, kt = { class: "text-sm font-semibold text-secondary" }, At = {
55
+ }, Et = { class: "flex size-(--spacing-3xl) items-center justify-center rounded-md border border-secondary" }, Dt = { class: "text-sm font-semibold text-secondary" }, Ot = {
56
56
  key: 0,
57
57
  class: "ml-auto flex w-full max-w-140 flex-col px-xl"
58
- }, jt = { class: "flex items-center justify-between gap-3xl border-b border-secondary py-lg text-sm text-primary" }, Mt = { class: "shrink-0 font-mono text-2xl font-semibold tabular-nums" }, Nt = { class: "flex items-center justify-between gap-3xl py-lg text-sm text-primary" }, Pt = { class: "shrink-0 font-mono text-sm font-medium tabular-nums" }, Ft = { class: "h-full rounded-md border border-secondary bg-primary p-xl shadow-sm" }, It = { class: "text-xl font-semibold text-primary" }, Lt = { class: "mt-2xl flex flex-col" }, Rt = { class: "flex w-(--spacing-3xl) shrink-0 flex-col items-center" }, zt = {
58
+ }, kt = { class: "flex items-center justify-between gap-3xl border-b border-secondary py-lg text-sm text-primary" }, At = { class: "shrink-0 font-mono text-2xl font-semibold tabular-nums" }, jt = { class: "flex items-center justify-between gap-3xl py-lg text-sm text-primary" }, Mt = { class: "shrink-0 font-mono text-sm font-medium tabular-nums" }, Nt = { class: "h-full rounded-md border border-secondary bg-primary p-xl shadow-sm" }, Pt = { class: "text-xl font-semibold text-primary" }, Ft = { class: "mt-2xl flex flex-col" }, It = { class: "flex w-(--spacing-3xl) shrink-0 flex-col items-center" }, Lt = {
59
59
  key: 0,
60
60
  class: "min-h-(--spacing-xl) w-px flex-1 bg-tertiary"
61
- }, Bt = { class: "text-sm font-semibold text-primary" }, Vt = { class: "mt-xxs text-sm text-secondary" }, P = /* @__PURE__ */ x({
61
+ }, Rt = { class: "text-sm font-semibold text-primary" }, zt = { class: "mt-xxs text-sm text-secondary" }, P = /* @__PURE__ */ x({
62
62
  __name: "DunningCaseDetailView",
63
63
  props: { dunningCase: {} },
64
64
  setup(e) {
65
- let u = e, d = f(), x = be(), j = ee(), P = ce(), F = r(), I = t(), L = de(), R = w("overdue");
65
+ let u = e, d = f(), x = ve(), j = r(), P = oe(), F = t(), I = i(), L = le(), R = w("overdue");
66
66
  function z(e) {
67
67
  return e.payments.length > 0 || e.creditNotes.length > 0;
68
68
  }
69
69
  let B = w(u.dunningCase.invoices.find(z)?.uuid ?? null);
70
- F.set(() => u.dunningCase.customer.name), le(m(() => [{
70
+ F.set(() => u.dunningCase.customer.name), se(m(() => [{
71
71
  key: u.dunningCase.uuid,
72
72
  modelName: "DunningCase",
73
73
  ...u.dunningCase
@@ -105,21 +105,21 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
105
105
  key: `closed-${u.dunningCase.closedAt.toString()}`,
106
106
  type: "case-closed"
107
107
  }), e.toSorted((e, t) => t.sortDate.localeCompare(e.sortDate));
108
- }), H = m(() => u.dunningCase.invoices.filter((e) => k.PlainDate.compare(e.dueOn, k.Now.plainDateISO()) < 0).toSorted((e, t) => k.PlainDate.compare(e.dueOn, t.dueOn))), Ht = m(() => u.dunningCase.invoices.filter((e) => k.PlainDate.compare(e.dueOn, k.Now.plainDateISO()) >= 0).toSorted((e, t) => k.PlainDate.compare(e.dueOn, t.dueOn))), U = m(() => R.value === "overdue" ? H.value : Ht.value), W = m(() => u.dunningCase.invoices.filter((e) => e.isDisputed).length), G = m(() => ie(u.dunningCase.latestCreatedReminder)), K = m(() => H.value.filter((e) => !e.isDisputed)), q = m(() => K.value.reduce((e, t) => ({
108
+ }), H = m(() => u.dunningCase.invoices.filter((e) => k.PlainDate.compare(e.dueOn, k.Now.plainDateISO()) < 0).toSorted((e, t) => k.PlainDate.compare(e.dueOn, t.dueOn))), Bt = m(() => u.dunningCase.invoices.filter((e) => k.PlainDate.compare(e.dueOn, k.Now.plainDateISO()) >= 0).toSorted((e, t) => k.PlainDate.compare(e.dueOn, t.dueOn))), U = m(() => R.value === "overdue" ? H.value : Bt.value), W = m(() => u.dunningCase.invoices.filter((e) => e.isDisputed).length), G = m(() => ie(u.dunningCase.latestCreatedReminder)), K = m(() => H.value.filter((e) => !e.isDisputed)), q = m(() => K.value.reduce((e, t) => ({
109
109
  ...e,
110
110
  amount: e.amount + t.balanceDueAmount.amount
111
111
  }), {
112
112
  ...u.dunningCase.outstandingBalance,
113
113
  amount: 0
114
- })), J = m(() => oe(K.value, u.dunningCase.outstandingBalance));
115
- function Ut(e) {
114
+ })), J = m(() => re(K.value, u.dunningCase.outstandingBalance));
115
+ function Vt(e) {
116
116
  return q.value.amount === 0 ? 0 : e / q.value.amount * 100;
117
117
  }
118
- let Y = m(() => I.getCustomerDetailRoute(u.dunningCase.customer.uuid)), Wt = m(() => [{
118
+ let Y = m(() => I.getCustomerDetailRoute(u.dunningCase.customer.uuid)), Ht = m(() => [{
119
119
  label: d.t("module.dunning_case.title"),
120
120
  to: { name: "dunning-case-overview" }
121
121
  }, { label: u.dunningCase.customer.name }]);
122
- function Gt() {
122
+ function Ut() {
123
123
  Y.value !== null && L.push(Y.value);
124
124
  }
125
125
  function X(e) {
@@ -131,10 +131,10 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
131
131
  label: X(e)
132
132
  });
133
133
  }
134
- function Kt(e) {
134
+ function Wt(e) {
135
135
  return e.type === "credit-note" || e.type === "payment" || e.type === "reminder-due" ? P.formatPlainDate(e.date) : P.toDateTime(e.date);
136
136
  }
137
- function qt(e) {
137
+ function Gt(e) {
138
138
  switch (e.type) {
139
139
  case "case-closed": return d.t("module.dunning_case.detail.case_closed");
140
140
  case "credit-note": return d.t("module.dunning_case.detail.credit_note_activity", {
@@ -149,22 +149,22 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
149
149
  case "reminder-sent": return d.t("module.dunning_case.detail.reminder_sent");
150
150
  }
151
151
  }
152
- function Jt(e) {
152
+ function Kt(e) {
153
153
  if (e.type === "reminder-due") return d.t("module.dunning_case.detail.today");
154
- let t = Kt(e);
154
+ let t = Wt(e);
155
155
  return e.type === "payment" && e.settlementStatus === n.PARTIALLY_PAID ? d.t("module.dunning_case.detail.payment_partially_paid", { date: t }) : t;
156
156
  }
157
157
  function Q(e) {
158
158
  return e.dueOn.until(k.Now.plainDateISO(), { largestUnit: "days" }).days;
159
159
  }
160
- function Yt(e) {
160
+ function qt(e) {
161
161
  let t = Q(e);
162
162
  return t > 0 ? d.t("module.dunning_case.detail.days_ago", { count: t }) : t === 0 ? d.t("module.dunning_case.overview.due_today") : d.t("module.dunning_case.overview.due_in_days", { count: Math.abs(t) });
163
163
  }
164
164
  function $(e) {
165
165
  return e === 0 ? d.t("module.dunning_case.level.none") : d.t("module.dunning_case.level.reminder", { level: e });
166
166
  }
167
- function Xt(e) {
167
+ function Jt(e) {
168
168
  switch (e) {
169
169
  case n.PARTIALLY_PAID: return "warning";
170
170
  case n.CREDITED:
@@ -174,60 +174,57 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
174
174
  case n.UNPAID: return "error";
175
175
  }
176
176
  }
177
- function Zt() {
177
+ function Yt() {
178
178
  x.create(ae, { props: { dunningCaseUuid: u.dunningCase.uuid } }).open();
179
179
  }
180
- function Qt(e) {
180
+ function Xt(e) {
181
181
  B.value = B.value === e ? null : e;
182
182
  }
183
- return (e, t) => (C(), h(D(me), {
184
- breadcrumbs: Wt.value,
183
+ return (e, t) => (C(), h(D(fe), {
184
+ breadcrumbs: Ht.value,
185
185
  title: u.dunningCase.customer.name
186
186
  }, {
187
- default: O(() => [b(D(he), null, {
188
- default: O(() => [v("div", xe, [
189
- v("div", Se, [v("div", null, [
190
- v("div", Ce, [
191
- v("h2", we, [Y.value === null ? (C(), _("span", Te, E(u.dunningCase.customer.name), 1)) : (C(), _("button", {
187
+ default: O(() => [b(D(pe), null, {
188
+ default: O(() => [v("div", ye, [
189
+ v("div", be, [v("div", null, [
190
+ v("div", xe, [
191
+ v("h2", Se, [Y.value === null ? (C(), _("span", Ce, E(u.dunningCase.customer.name), 1)) : (C(), _("button", {
192
192
  key: 0,
193
193
  class: "hover:underline",
194
194
  type: "button",
195
- onClick: Gt
195
+ onClick: Ut
196
196
  }, E(u.dunningCase.customer.name), 1))]),
197
- v("span", Ee, [b(a, { level: u.dunningCase.level }, null, 8, ["level"]), y(" " + E(u.dunningCase.isClosed ? D(d).t("module.dunning_case.detail.closed") : $(u.dunningCase.level)), 1)]),
198
- b(re, {
197
+ v("span", we, [b(a, { level: u.dunningCase.level }, null, 8, ["level"]), y(" " + E(u.dunningCase.isClosed ? D(d).t("module.dunning_case.detail.closed") : $(u.dunningCase.level)), 1)]),
198
+ b(ne, {
199
199
  "blocked-reason": null,
200
200
  status: G.value
201
201
  }, null, 8, ["status"])
202
202
  ]),
203
- u.dunningCase.customer.vatNumber || u.dunningCase.customer.email ? (C(), _("p", De, E([u.dunningCase.customer.vatNumber, u.dunningCase.customer.email].filter(Boolean).join(" · ")), 1)) : g("", !0),
204
- v("p", Oe, E(D(d).t("module.dunning_case.detail.last_synced", { date: D(P).toDateTime(u.dunningCase.updatedAt) })), 1)
205
- ]), b(se, { permission: D(i).DUNNING_CASE_SEND }, {
206
- default: O(() => [!u.dunningCase.isClosed && u.dunningCase.canSendReminder ? (C(), h(D(pe), {
207
- key: 0,
208
- "icon-right": D(c),
209
- "is-loading": G.value === "sending",
210
- label: D(d).t("module.dunning_case.detail.send"),
211
- class: "w-fit self-start lg:ml-auto",
212
- size: "sm",
213
- onClick: Zt
214
- }, null, 8, [
215
- "icon-right",
216
- "is-loading",
217
- "label"
218
- ])) : g("", !0)]),
219
- _: 1
220
- }, 8, ["permission"])]),
221
- v("div", ke, [
222
- v("div", Ae, [
223
- v("p", je, E(D(d).t("module.dunning_case.detail.outstanding")), 1),
224
- v("p", Me, E(D(j).formatMonetary(u.dunningCase.outstandingBalance)), 1),
225
- v("p", Ne, E(D(d).t("module.dunning_case.detail.collected_summary", {
203
+ u.dunningCase.customer.vatNumber || u.dunningCase.customer.email ? (C(), _("p", Te, E([u.dunningCase.customer.vatNumber, u.dunningCase.customer.email].filter(Boolean).join(" · ")), 1)) : g("", !0),
204
+ v("p", Ee, E(D(d).t("module.dunning_case.detail.last_synced", { date: D(P).toDateTime(u.dunningCase.updatedAt) })), 1)
205
+ ]), !u.dunningCase.isClosed && u.dunningCase.canSendReminder ? (C(), h(D(de), {
206
+ key: 0,
207
+ "icon-right": D(c),
208
+ "is-loading": G.value === "sending",
209
+ label: D(d).t("module.dunning_case.detail.send"),
210
+ class: "w-fit self-start lg:ml-auto",
211
+ size: "sm",
212
+ onClick: Yt
213
+ }, null, 8, [
214
+ "icon-right",
215
+ "is-loading",
216
+ "label"
217
+ ])) : g("", !0)]),
218
+ v("div", De, [
219
+ v("div", Oe, [
220
+ v("p", ke, E(D(d).t("module.dunning_case.detail.outstanding")), 1),
221
+ v("p", Ae, E(D(j).formatMonetary(u.dunningCase.outstandingBalance)), 1),
222
+ v("p", je, E(D(d).t("module.dunning_case.detail.collected_summary", {
226
223
  billed: D(j).formatMonetary(u.dunningCase.totalInvoiced),
227
224
  collected: D(j).formatMonetary(u.dunningCase.totalPaid)
228
225
  })), 1),
229
- u.dunningCase.totalCredited.amount > 0 ? (C(), _("p", Pe, E(D(d).t("module.dunning_case.detail.credited_summary", { credited: D(j).formatMonetary(u.dunningCase.totalCredited) })), 1)) : g("", !0),
230
- v("div", Fe, [(C(!0), _(p, null, T(J.value, (e, t) => (C(), _("span", {
226
+ u.dunningCase.totalCredited.amount > 0 ? (C(), _("p", Me, E(D(d).t("module.dunning_case.detail.credited_summary", { credited: D(j).formatMonetary(u.dunningCase.totalCredited) })), 1)) : g("", !0),
227
+ v("div", Ne, [(C(!0), _(p, null, T(J.value, (e, t) => (C(), _("span", {
231
228
  key: t,
232
229
  class: S([{
233
230
  "bg-quaternary": t === 0,
@@ -235,10 +232,10 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
235
232
  "bg-error-solid": t === 3,
236
233
  "bg-warning-solid": t === 2
237
234
  }, "h-full"]),
238
- style: fe({ width: `${Ut(e.amount)}%` })
235
+ style: ue({ width: `${Vt(e.amount)}%` })
239
236
  }, null, 6))), 128))])
240
237
  ]),
241
- v("div", Ie, [(C(!0), _(p, null, T(J.value, (e, t) => (C(), h(D(ve), {
238
+ v("div", Pe, [(C(!0), _(p, null, T(J.value, (e, t) => (C(), h(D(ge), {
242
239
  key: t,
243
240
  "popover-side-offset": 8,
244
241
  "popover-align": "start",
@@ -248,33 +245,33 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
248
245
  "aria-label": Z(t, e),
249
246
  class: "flex min-w-0 items-center justify-between gap-lg rounded-sm border-none bg-transparent p-none text-left hover:bg-secondary focus-visible:outline-2 focus-visible:outline-brand-500 xl:flex-row xl:items-center xl:gap-lg",
250
247
  type: "button"
251
- }, [v("span", Re, [v("span", { class: S([{
248
+ }, [v("span", Ie, [v("span", { class: S([{
252
249
  "bg-quaternary": t === 0,
253
250
  "bg-brand-500": t === 1,
254
251
  "bg-error-solid": t === 3,
255
252
  "bg-warning-solid": t === 2
256
- }, "size-(--spacing-sm) shrink-0 rounded-full"]) }, null, 2), v("span", ze, E(X(t)), 1)]), v("span", Be, E(D(j).formatMonetary(e)), 1)], 8, Le)]),
257
- content: O(() => [b(D(ye), { class: "max-w-80! text-sm!" }, {
253
+ }, "size-(--spacing-sm) shrink-0 rounded-full"]) }, null, 2), v("span", Le, E(X(t)), 1)]), v("span", Re, E(D(j).formatMonetary(e)), 1)], 8, Fe)]),
254
+ content: O(() => [b(D(_e), { class: "max-w-80! text-sm!" }, {
258
255
  default: O(() => [y(E(Z(t, e)), 1)]),
259
256
  _: 2
260
257
  }, 1024)]),
261
258
  _: 2
262
259
  }, 1024))), 128))]),
263
- v("div", Ve, [v("span", He, [b(D(l), { class: "size-(--spacing-xl) text-brand-700" })]), v("div", Ue, [v("p", We, E(D(d).t("module.dunning_case.detail.next_reminder")), 1), v("p", Ge, E(u.dunningCase.nextReminderOn === null ? D(d).t("module.dunning_case.overview.not_scheduled") : D(P).formatPlainDate(u.dunningCase.nextReminderOn)), 1)])]),
264
- v("div", Ke, [v("span", qe, [b(D(s), { class: "size-(--spacing-xl) text-brand-700" })]), v("div", null, [
265
- v("p", Je, E(D(d).t("module.dunning_case.detail.invoices")), 1),
266
- v("p", Ye, E(u.dunningCase.invoices.length), 1),
267
- W.value > 0 ? (C(), _("p", Xe, E(D(d).t("module.dunning_case.detail.protested_count", { count: W.value })), 1)) : g("", !0)
260
+ v("div", ze, [v("span", Be, [b(D(l), { class: "size-(--spacing-xl) text-brand-700" })]), v("div", Ve, [v("p", He, E(D(d).t("module.dunning_case.detail.next_reminder")), 1), v("p", Ue, E(u.dunningCase.nextReminderOn === null ? D(d).t("module.dunning_case.overview.not_scheduled") : D(P).formatPlainDate(u.dunningCase.nextReminderOn)), 1)])]),
261
+ v("div", We, [v("span", Ge, [b(D(s), { class: "size-(--spacing-xl) text-brand-700" })]), v("div", null, [
262
+ v("p", Ke, E(D(d).t("module.dunning_case.detail.invoices")), 1),
263
+ v("p", qe, E(u.dunningCase.invoices.length), 1),
264
+ W.value > 0 ? (C(), _("p", Je, E(D(d).t("module.dunning_case.detail.protested_count", { count: W.value })), 1)) : g("", !0)
268
265
  ])])
269
266
  ]),
270
- v("div", Ze, [v("main", Qe, [v("div", $e, [
271
- v("div", et, [b(D(ge), {
267
+ v("div", Ye, [v("main", Xe, [v("div", Ze, [
268
+ v("div", Qe, [b(D(me), {
272
269
  modelValue: R.value,
273
270
  "onUpdate:modelValue": t[0] ||= (e) => R.value = e,
274
271
  "aria-label": D(d).t("module.dunning_case.detail.invoice_tabs"),
275
272
  variant: "underline"
276
273
  }, {
277
- default: O(() => [b(D(_e), null, {
274
+ default: O(() => [b(D(he), null, {
278
275
  default: O(() => [b(D(M), {
279
276
  label: D(d).t("module.dunning_case.detail.overdue_invoices"),
280
277
  value: "overdue"
@@ -286,24 +283,24 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
286
283
  })]),
287
284
  _: 1
288
285
  }, 8, ["modelValue", "aria-label"])]),
289
- v("div", N, [U.value.length > 0 ? (C(), _("table", tt, [v("thead", null, [v("tr", nt, [
290
- v("th", rt, E(D(d).t("module.dunning_case.detail.table.invoice")), 1),
291
- v("th", it, E(D(d).t("module.dunning_case.detail.table.due_date")), 1),
292
- v("th", at, E(D(d).t("module.dunning_case.detail.table.level")), 1),
293
- v("th", ot, E(D(d).t("module.dunning_case.detail.table.status")), 1),
294
- v("th", st, E(D(d).t("module.dunning_case.detail.table.remaining")), 1)
295
- ])]), v("tbody", null, [(C(!0), _(p, null, T(U.value, (e) => (C(), _(p, { key: e.uuid }, [v("tr", ct, [
286
+ v("div", $e, [U.value.length > 0 ? (C(), _("table", et, [v("thead", null, [v("tr", tt, [
287
+ v("th", nt, E(D(d).t("module.dunning_case.detail.table.invoice")), 1),
288
+ v("th", rt, E(D(d).t("module.dunning_case.detail.table.due_date")), 1),
289
+ v("th", it, E(D(d).t("module.dunning_case.detail.table.level")), 1),
290
+ v("th", at, E(D(d).t("module.dunning_case.detail.table.status")), 1),
291
+ v("th", ot, E(D(d).t("module.dunning_case.detail.table.remaining")), 1)
292
+ ])]), v("tbody", null, [(C(!0), _(p, null, T(U.value, (e) => (C(), _(p, { key: e.uuid }, [v("tr", st, [
296
293
  v("td", { class: S([{
297
294
  "before:opacity-0": B.value !== e.uuid,
298
295
  "before:opacity-100": B.value === e.uuid
299
- }, "relative px-xl py-md before:absolute before:inset-y-0 before:left-0 before:w-(--spacing-xxs) before:bg-brand-500"]) }, [v("div", lt, [z(e) ? (C(), _("button", {
296
+ }, "relative px-xl py-md before:absolute before:inset-y-0 before:left-0 before:w-(--spacing-xxs) before:bg-brand-500"]) }, [v("div", ct, [z(e) ? (C(), _("button", {
300
297
  key: 0,
301
298
  "aria-expanded": B.value === e.uuid,
302
299
  "aria-label": D(d).t(B.value === e.uuid ? "module.dunning_case.detail.collapse_updates" : "module.dunning_case.detail.expand_updates", { invoice: e.sequence }),
303
300
  class: "mt-xxs flex size-(--spacing-xl) shrink-0 items-center justify-center text-secondary hover:text-primary",
304
301
  type: "button",
305
- onClick: (t) => Qt(e.uuid)
306
- }, [b(D(ne), { class: S([{ "rotate-180": B.value === e.uuid }, "size-(--spacing-xl) transition-transform duration-200 ease-out motion-reduce:transition-none"]) }, null, 8, ["class"])], 8, ut)) : (C(), _("span", dt)), v("div", ft, [b(D(ue), {
302
+ onClick: (t) => Xt(e.uuid)
303
+ }, [b(D(te), { class: S([{ "rotate-180": B.value === e.uuid }, "size-(--spacing-xl) transition-transform duration-200 ease-out motion-reduce:transition-none"]) }, null, 8, ["class"])], 8, lt)) : (C(), _("span", ut)), v("div", dt, [b(D(ce), {
307
304
  to: {
308
305
  name: "invoicing-invoice-detail",
309
306
  params: { invoiceUuid: e.uuid }
@@ -312,31 +309,31 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
312
309
  }, {
313
310
  default: O(() => [y(E(e.sequence), 1)]),
314
311
  _: 2
315
- }, 1032, ["to"]), e.subject === null ? g("", !0) : (C(), _("p", pt, E(e.subject), 1))])])], 2),
316
- v("td", mt, [v("span", { class: S([Q(e) > 0 ? "text-error-primary" : "text-primary", "inline-flex items-center gap-xs whitespace-nowrap"]) }, [y(E(D(P).formatPlainDate(e.dueOn)) + " ", 1), v("span", { class: S([Q(e) > 0 ? "\n border-error bg-error-primary\n text-error-primary\n " : "border-secondary bg-secondary text-secondary", "rounded-sm border px-sm py-px font-sans text-xs"]) }, E(Yt(e)), 3)], 2)]),
317
- v("td", ht, [e.isDisputed && R.value === "overdue" ? (C(), h(D(A), {
312
+ }, 1032, ["to"]), e.subject === null ? g("", !0) : (C(), _("p", ft, E(e.subject), 1))])])], 2),
313
+ v("td", pt, [v("span", { class: S([Q(e) > 0 ? "text-error-primary" : "text-primary", "inline-flex items-center gap-xs whitespace-nowrap"]) }, [y(E(D(P).formatPlainDate(e.dueOn)) + " ", 1), v("span", { class: S([Q(e) > 0 ? "\n border-error bg-error-primary\n text-error-primary\n " : "border-secondary bg-secondary text-secondary", "rounded-sm border px-sm py-px font-sans text-xs"]) }, E(qt(e)), 3)], 2)]),
314
+ v("td", mt, [e.isDisputed && R.value === "overdue" ? (C(), h(D(A), {
318
315
  key: 0,
319
316
  label: D(d).t("module.dunning_case.detail.protested"),
320
317
  color: "error",
321
318
  size: "sm",
322
319
  variant: "translucent"
323
- }, null, 8, ["label"])) : R.value === "overdue" ? (C(), _("span", gt, [b(a, {
320
+ }, null, 8, ["label"])) : R.value === "overdue" ? (C(), _("span", ht, [b(a, {
324
321
  level: e.level,
325
322
  size: "sm"
326
323
  }, null, 8, ["level"]), y(" " + E(e.level), 1)])) : g("", !0)]),
327
- v("td", _t, [v("div", vt, [e.isDisputed ? (C(), _("p", yt, E(D(d).t("module.dunning_case.detail.excluded")), 1)) : (C(), h(D(A), {
324
+ v("td", N, [v("div", gt, [e.isDisputed ? (C(), _("p", _t, E(D(d).t("module.dunning_case.detail.excluded")), 1)) : (C(), h(D(A), {
328
325
  key: 1,
329
326
  label: D(d).t(`module.dunning_case.settlement_status.${e.settlementStatus}`),
330
- color: Xt(e.settlementStatus),
327
+ color: Jt(e.settlementStatus),
331
328
  size: "sm",
332
329
  variant: "translucent"
333
330
  }, null, 8, ["label", "color"]))])]),
334
- v("td", bt, [v("p", xt, E(D(j).formatMonetary(e.balanceDueAmount)), 1), e.balanceDueAmount.amount === e.grossAmount.amount ? g("", !0) : (C(), _("p", St, " /" + E(D(j).formatMonetary(e.grossAmount)), 1))])
331
+ v("td", vt, [v("p", yt, E(D(j).formatMonetary(e.balanceDueAmount)), 1), e.balanceDueAmount.amount === e.grossAmount.amount ? g("", !0) : (C(), _("p", bt, " /" + E(D(j).formatMonetary(e.grossAmount)), 1))])
335
332
  ]), z(e) ? (C(), _("tr", {
336
333
  key: `${e.uuid}-updates`,
337
334
  class: S({ "border-b border-secondary": B.value === e.uuid }),
338
335
  "aria-hidden": B.value !== e.uuid
339
- }, [v("td", wt, [v("div", { class: S([B.value === e.uuid ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0", "grid transition-[grid-template-rows,opacity] duration-200 ease-out motion-reduce:transition-none"]) }, [v("div", Tt, [v("div", Et, [(C(!0), _(p, null, T(e.payments, (e) => (C(), _("span", {
336
+ }, [v("td", St, [v("div", { class: S([B.value === e.uuid ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0", "grid transition-[grid-template-rows,opacity] duration-200 ease-out motion-reduce:transition-none"]) }, [v("div", Ct, [v("div", wt, [(C(!0), _(p, null, T(e.payments, (e) => (C(), _("span", {
340
337
  key: e.uuid,
341
338
  class: "inline-flex items-center gap-sm rounded-sm bg-success-primary px-md py-sm text-success-primary"
342
339
  }, [t[1] ||= v("span", { class: "size-(--spacing-sm) shrink-0 rounded-full bg-success-solid" }, null, -1), y(" " + E(D(d).t("module.dunning_case.detail.payment_line", {
@@ -349,12 +346,12 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
349
346
  amount: D(j).formatMonetary(e.grossAmount),
350
347
  date: D(P).formatPlainDate(e.finalizedOn),
351
348
  sequence: e.sequence
352
- })), 1)]))), 128))])])], 2)])], 10, Ct)) : g("", !0)], 64))), 128))])])) : (C(), _("div", Dt, [v("span", Ot, [b(D(o), { class: "size-(--spacing-xl) text-primary" })]), v("p", kt, E(D(d).t(R.value === "overdue" ? "module.dunning_case.detail.empty_overdue" : "module.dunning_case.detail.empty_outstanding")), 1)]))]),
353
- R.value === "overdue" ? (C(), _("div", At, [v("div", jt, [v("span", null, E(D(d).t("module.dunning_case.detail.total_outstanding")), 1), v("span", Mt, E(D(j).formatMonetary(u.dunningCase.outstandingBalance)), 1)]), v("div", Nt, [v("span", null, E(u.dunningCase.level === 0 ? D(d).t("module.dunning_case.detail.reminder_fee") : D(d).t("module.dunning_case.detail.fee", { level: u.dunningCase.level })), 1), v("span", Pt, E(D(j).formatMonetary(u.dunningCase.totalFee)), 1)])])) : g("", !0)
354
- ])]), v("aside", Ft, [v("h2", It, E(D(d).t("module.dunning_case.detail.activity")), 1), v("ol", Lt, [(C(!0), _(p, null, T(V.value, (e, t) => (C(), _("li", {
349
+ })), 1)]))), 128))])])], 2)])], 10, xt)) : g("", !0)], 64))), 128))])])) : (C(), _("div", Tt, [v("span", Et, [b(D(o), { class: "size-(--spacing-xl) text-primary" })]), v("p", Dt, E(D(d).t(R.value === "overdue" ? "module.dunning_case.detail.empty_overdue" : "module.dunning_case.detail.empty_outstanding")), 1)]))]),
350
+ R.value === "overdue" ? (C(), _("div", Ot, [v("div", kt, [v("span", null, E(D(d).t("module.dunning_case.detail.total_outstanding")), 1), v("span", At, E(D(j).formatMonetary(u.dunningCase.outstandingBalance)), 1)]), v("div", jt, [v("span", null, E(u.dunningCase.level === 0 ? D(d).t("module.dunning_case.detail.reminder_fee") : D(d).t("module.dunning_case.detail.fee", { level: u.dunningCase.level })), 1), v("span", Mt, E(D(j).formatMonetary(u.dunningCase.totalFee)), 1)])])) : g("", !0)
351
+ ])]), v("aside", Nt, [v("h2", Pt, E(D(d).t("module.dunning_case.detail.activity")), 1), v("ol", Ft, [(C(!0), _(p, null, T(V.value, (e, t) => (C(), _("li", {
355
352
  key: e.key,
356
353
  class: "flex gap-md"
357
- }, [v("div", Rt, [v("span", { class: S([{
354
+ }, [v("div", It, [v("span", { class: S([{
358
355
  "bg-brand-100": e.type === "reminder-sent",
359
356
  "bg-error-secondary": e.type === "reminder-due",
360
357
  "bg-success-secondary": e.type === "payment" || e.type === "case-closed",
@@ -362,7 +359,7 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
362
359
  }, "flex size-(--spacing-3xl) shrink-0 items-center justify-center rounded-full"]) }, [e.type === "reminder-due" ? (C(), h(D(l), {
363
360
  key: 0,
364
361
  class: "size-(--spacing-lg) text-error-primary"
365
- })) : e.type === "payment" ? (C(), h(D(te), {
362
+ })) : e.type === "payment" ? (C(), h(D(ee), {
366
363
  key: 1,
367
364
  class: "size-(--spacing-lg) text-success-primary"
368
365
  })) : e.type === "credit-note" ? (C(), h(D(s), {
@@ -374,7 +371,7 @@ var xe = { class: "flex flex-col gap-4xl" }, Se = { class: "flex flex-col gap-lg
374
371
  })) : e.type === "case-closed" ? (C(), h(D(o), {
375
372
  key: 4,
376
373
  class: "size-(--spacing-lg) text-success-primary"
377
- })) : g("", !0)], 2), t < V.value.length - 1 ? (C(), _("span", zt)) : g("", !0)]), v("div", { class: S([{ "pb-xl": t < V.value.length - 1 }, "pt-xs"]) }, [v("p", Bt, E(qt(e)), 1), v("p", Vt, E(Jt(e)), 1)], 2)]))), 128))])])])
374
+ })) : g("", !0)], 2), t < V.value.length - 1 ? (C(), _("span", Lt)) : g("", !0)]), v("div", { class: S([{ "pb-xl": t < V.value.length - 1 }, "pt-xs"]) }, [v("p", Rt, E(Gt(e)), 1), v("p", zt, E(Kt(e)), 1)], 2)]))), 128))])])])
378
375
  ])]),
379
376
  _: 1
380
377
  })]),