vlite3 1.1.1 → 1.1.2

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 (60) hide show
  1. package/components/AttachmentsList/AttachmentsList.vue.d.ts +1 -16
  2. package/components/AttachmentsList/AttachmentsList.vue.js +191 -167
  3. package/components/AvatarUploader/AvatarUploader.vue.d.ts +1 -1
  4. package/components/Button.vue.d.ts +1 -1
  5. package/components/Calendar/Calendar.vue.d.ts +6 -6
  6. package/components/Carousel/Carousel.vue.d.ts +2 -2
  7. package/components/CategoryManager/CategoryManager.vue.d.ts +2 -1
  8. package/components/CategoryManager/CategoryManager.vue.js +187 -147
  9. package/components/CategoryManager/types.d.ts +14 -0
  10. package/components/Chip/Chip.vue.d.ts +2 -2
  11. package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
  12. package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
  13. package/components/ConfirmationModal.vue.d.ts +2 -2
  14. package/components/CustomFieldsDisplay/CustomFieldsDisplay.vue.d.ts +1 -1
  15. package/components/DataTable/DataTable.vue.d.ts +3 -3
  16. package/components/Dropdown/Dropdown.vue.d.ts +2 -2
  17. package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +1 -1
  18. package/components/Dropdown/DropdownMenu.vue.d.ts +1 -1
  19. package/components/Dropdown/DropdownTrigger.vue.d.ts +1 -1
  20. package/components/FilePicker/FilePicker.vue.d.ts +1 -1
  21. package/components/Form/Form.vue.js +2 -2
  22. package/components/Form/Form.vue2.js +220 -232
  23. package/components/Form/FormField.vue.d.ts +1 -1
  24. package/components/Input.vue.d.ts +3 -3
  25. package/components/Invoice/Invoice.vue.d.ts +1 -4
  26. package/components/Invoice/Invoice.vue.js +20 -13
  27. package/components/Invoice/InvoiceVariant1.vue.d.ts +3 -0
  28. package/components/Invoice/InvoiceVariant1.vue.js +302 -256
  29. package/components/Invoice/InvoiceVariant2.vue.d.ts +3 -0
  30. package/components/Invoice/InvoiceVariant2.vue.js +164 -168
  31. package/components/Invoice/InvoiceVariant3.vue.d.ts +3 -0
  32. package/components/Invoice/InvoiceVariant3.vue.js +213 -170
  33. package/components/Invoice/InvoiceVariant4.vue.d.ts +3 -0
  34. package/components/Invoice/InvoiceVariant4.vue.js +280 -227
  35. package/components/Invoice/types.d.ts +4 -0
  36. package/components/List/List.vue.d.ts +1 -9
  37. package/components/List/List.vue.js +166 -165
  38. package/components/List/ListFieldRow.vue.d.ts +2 -2
  39. package/components/List/ListFieldRow.vue.js +50 -50
  40. package/components/MultiSelect/MultiSelect.vue.d.ts +1 -1
  41. package/components/Navbar/NavbarItem.vue.d.ts +1 -1
  42. package/components/NavbarCommandPalette.vue.js +1 -1
  43. package/components/NumberInput.vue.d.ts +2 -2
  44. package/components/OTPInput/OTPInput.vue.d.ts +1 -1
  45. package/components/PricingPlan/PricingPlan.vue.d.ts +1 -1
  46. package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
  47. package/components/Stats/Stats.vue.d.ts +1 -1
  48. package/components/StatusChip/status-map.js +27 -7
  49. package/components/ThumbnailSelector/ThumbnailSelector.vue.d.ts +2 -2
  50. package/components/Workbook/Workbook.vue.d.ts +3 -3
  51. package/core/config.d.ts +76 -0
  52. package/core/index.js +17 -5
  53. package/index.js +264 -262
  54. package/package.json +1 -1
  55. package/style.css +2 -2
  56. package/types/config.type.d.ts +6 -0
  57. package/types/list.type.d.ts +6 -0
  58. package/utils/configUtils.d.ts +9 -0
  59. package/utils/configUtils.js +7 -0
  60. package/utils/index.d.ts +1 -0
@@ -1,249 +1,292 @@
1
- import { defineComponent as w, computed as v, openBlock as s, createElementBlock as o, normalizeClass as c, createElementVNode as t, toDisplayString as l, unref as r, createCommentVNode as d, createVNode as i, Fragment as b, renderList as h, createTextVNode as I } from "vue";
2
- import p from "../Price/Price.vue.js";
1
+ import { defineComponent as _, computed as f, openBlock as o, createElementBlock as s, normalizeStyle as I, normalizeClass as n, createElementVNode as t, createVNode as i, createCommentVNode as c, toDisplayString as l, createBlock as z, unref as u, Fragment as y, renderList as b, createTextVNode as N } from "vue";
2
+ import v from "../Price/Price.vue.js";
3
3
  import g from "../DateTime/DateTime.vue.js";
4
- import { getStatusColorClass as z } from "../../utils/status.js";
5
4
  import D from "../QRCode/QRCode.vue.js";
6
- const N = { class: "flex items-center gap-2" }, _ = { class: "opacity-80" }, T = ["src", "alt"], j = { class: "font-bold text-sm" }, C = {
5
+ import B from "../Barcode/Barcode.vue.js";
6
+ import k from "../Avatar.vue.js";
7
+ import T from "../StatusChip/StatusChip.vue.js";
8
+ const V = { class: "flex items-center gap-3" }, $ = {
9
+ key: 0,
10
+ class: "shrink-0"
11
+ }, L = { class: "flex flex-col leading-tight" }, S = { class: "flex items-center gap-3" }, j = { key: 0 }, q = { class: "mt-0.5 text-muted-foreground space-y-0.5 text-xs" }, C = { key: 0 }, E = { key: 1 }, F = { key: 2 }, P = {
12
+ key: 3,
13
+ class: "pt-0.5"
14
+ }, G = { key: 1 }, K = { class: "mt-0.5 text-muted-foreground space-y-0.5 text-xs" }, O = { key: 0 }, Q = { key: 1 }, U = { key: 2 }, A = { class: "flex flex-col md:items-end gap-2" }, H = {
15
+ key: 0,
16
+ class: "flex gap-2 items-center"
17
+ }, J = {
18
+ key: 1,
19
+ class: "flex gap-2 items-center"
20
+ }, M = {
21
+ key: 2,
22
+ class: "flex items-center justify-end gap-2 mt-1"
23
+ }, R = {
24
+ key: 0,
25
+ class: "p-1 bg-white border border-border rounded shadow-sm"
26
+ }, W = {
7
27
  key: 1,
8
- class: "mt-1 text-muted-foreground space-y-0.5 text-xs"
9
- }, L = { key: 0 }, S = { key: 1 }, V = { key: 2 }, B = { key: 0 }, q = { class: "font-semibold text-sm" }, $ = { class: "mt-1 text-muted-foreground space-y-0.5 text-xs" }, E = { key: 0 }, P = { key: 1 }, F = { key: 2 }, G = {
28
+ class: "p-1 bg-white border border-border rounded shadow-sm overflow-hidden"
29
+ }, X = { class: "border border-border rounded-md overflow-x-auto" }, Y = { class: "invoice-table" }, Z = { class: "invoice-thead" }, ee = { class: "invoice-tbody text-xs" }, te = { class: "invoice-td" }, oe = { class: "flex items-center gap-2.5" }, se = { class: "min-w-0 flex-1" }, ae = ["title"], ce = ["title"], le = { class: "invoice-td invoice-text-right tabular-nums text-muted-foreground font-medium" }, ne = {
10
30
  key: 0,
11
- class: "flex gap-2"
12
- }, K = {
31
+ class: "invoice-td invoice-text-right tabular-nums text-muted-foreground"
32
+ }, de = { class: "invoice-td invoice-text-right tabular-nums text-muted-foreground" }, re = {
13
33
  key: 1,
14
- class: "flex gap-2"
15
- }, Q = { class: "border border-border rounded" }, U = { class: "w-full text-left whitespace-nowrap" }, A = { class: "bg-muted text-muted-foreground uppercase font-semibold border-b border-border text-xs" }, H = { class: "divide-y divide-border text-xs" }, J = { class: "flex items-center gap-2" }, M = ["src", "alt"], O = { class: "min-w-0 flex-1" }, R = ["title"], W = ["title"], X = {
34
+ class: "invoice-td invoice-text-right tabular-nums text-success/80 font-medium"
35
+ }, ie = {
16
36
  key: 0,
17
37
  class: "flex flex-col items-end"
18
- }, Y = {
38
+ }, ue = {
19
39
  key: 0,
20
40
  class: "text-[8px] uppercase font-bold"
21
- }, Z = { key: 1 }, ee = { class: "whitespace-pre-wrap" }, te = {
41
+ }, me = {
42
+ key: 1,
43
+ class: "text-muted-foreground"
44
+ }, ve = { class: "invoice-td invoice-text-right tabular-nums font-semibold text-foreground" }, xe = {
45
+ key: 0,
46
+ class: "text-muted-foreground text-xs border-t border-border pt-3"
47
+ }, fe = { class: "whitespace-pre-wrap" }, pe = {
22
48
  key: 1,
23
49
  class: "text-center text-muted-foreground opacity-70 text-xs"
24
- }, de = /* @__PURE__ */ w({
50
+ }, Ie = /* @__PURE__ */ _({
25
51
  __name: "InvoiceVariant3",
26
52
  props: {
27
53
  data: {},
28
- compact: { type: Boolean, default: !1 }
54
+ compact: { type: Boolean, default: !1 },
55
+ displayBarcodeValue: { type: Boolean, default: !1 }
29
56
  },
30
57
  setup(a) {
31
- const k = a, e = v(() => k.data), f = v(() => e.value.items.some((m) => !!m.size)), y = v(() => e.value.items.some((m) => m.discount !== void 0));
32
- return (m, n) => (s(), o("div", {
33
- class: c(["v-invoice-v3 bg-body text-foreground border border-border shadow-sm rounded-md overflow-hidden", a.compact ? "text-xs" : "text-sm"])
58
+ const w = a, e = f(() => w.data), p = f(() => e.value.items.some((m) => !!m.size)), h = f(() => e.value.items.some((m) => m.discount !== void 0));
59
+ return (m, r) => (o(), s("div", {
60
+ class: n(["v-invoice-v3 bg-background text-foreground border border-border rounded-lg overflow-hidden", a.compact ? "text-xs" : "text-sm"]),
61
+ style: I({
62
+ "--invoice-cell-px": a.compact ? "0.75rem" : "1rem",
63
+ "--invoice-cell-py": a.compact ? "0.375rem" : "0.5rem",
64
+ "--invoice-thead-bg": "var(--color-muted)",
65
+ "--invoice-tr-border": "1px solid var(--color-border)",
66
+ "--invoice-tr-hover-bg": "color-mix(in oklab, var(--color-muted) 30%, transparent)"
67
+ })
34
68
  }, [
35
69
  t("div", {
36
- class: c(["bg-primary flex justify-between items-center text-primary-foreground", a.compact ? "px-6 py-3" : "px-6 py-4"])
70
+ class: n(["bg-primary flex justify-between items-center text-primary-foreground", a.compact ? "px-5 py-2.5" : "px-6 py-3.5"])
37
71
  }, [
38
- t("div", N, [
39
- t("span", {
40
- class: c(["font-bold uppercase tracking-wider", a.compact ? "text-base" : "text-lg"])
41
- }, l(e.value.brandTitle || "Invoice"), 3),
42
- t("span", _, "#" + l(e.value.invoiceNumber), 1)
72
+ t("div", V, [
73
+ e.value.brandLogo ? (o(), s("div", $, [
74
+ i(k, {
75
+ src: e.value.brandLogo,
76
+ alt: e.value.brandName,
77
+ class: n(a.compact ? "h-7 w-7" : "h-8 w-8"),
78
+ rounded: "sm"
79
+ }, null, 8, ["src", "alt", "class"])
80
+ ])) : c("", !0),
81
+ t("div", L, [
82
+ e.value.brandName ? (o(), s("span", {
83
+ key: 0,
84
+ class: n(["font-bold text-primary-foreground leading-tight", a.compact ? "text-sm" : "text-base"])
85
+ }, l(e.value.brandName), 3)) : c("", !0),
86
+ e.value.brandTitle ? (o(), s("span", {
87
+ key: 1,
88
+ class: n(["opacity-75 font-medium", a.compact ? "text-[10px]" : "text-xs"])
89
+ }, l(e.value.brandTitle), 3)) : c("", !0)
90
+ ])
43
91
  ]),
44
- e.value.status ? (s(), o("span", {
45
- key: 0,
46
- class: c(["font-bold uppercase tracking-widest text-xs", r(z)(e.value.status)])
47
- }, l(e.value.status), 3)) : d("", !0)
92
+ t("div", S, [
93
+ t("span", {
94
+ class: n(["opacity-80 font-medium", a.compact ? "text-xs" : "text-sm"])
95
+ }, "#" + l(e.value.invoiceNumber), 3),
96
+ e.value.status ? (o(), z(T, {
97
+ key: 0,
98
+ status: e.value.status,
99
+ "hide-icon": "",
100
+ size: "small"
101
+ }, null, 8, ["status"])) : c("", !0)
102
+ ])
48
103
  ], 2),
49
104
  t("div", {
50
- class: c(a.compact ? "p-4 space-y-4" : "p-6 space-y-6")
105
+ class: n(a.compact ? "p-4 space-y-4" : "p-5 space-y-5")
51
106
  }, [
52
107
  t("div", {
53
- class: c(["grid grid-cols-1 md:grid-cols-3", a.compact ? "gap-4" : "gap-6"])
108
+ class: n(["grid grid-cols-1 md:grid-cols-3", a.compact ? "gap-3" : "gap-5"])
54
109
  }, [
55
- t("div", null, [
56
- e.value.brandLogo ? (s(), o("div", {
57
- key: 0,
58
- class: c(a.compact ? "h-7 mb-2" : "h-8 mb-3")
59
- }, [
60
- t("img", {
61
- src: e.value.brandLogo,
62
- alt: e.value.brandName,
63
- class: "h-full object-contain"
64
- }, null, 8, T)
65
- ], 2)) : d("", !0),
66
- t("h3", j, l(e.value.brandName), 1),
67
- e.value.companyInfo ? (s(), o("div", C, [
68
- e.value.companyInfo.address ? (s(), o("p", L, l(e.value.companyInfo.address), 1)) : d("", !0),
69
- e.value.companyInfo.city ? (s(), o("p", S, l(e.value.companyInfo.city) + ", " + l(e.value.companyInfo.state) + " " + l(e.value.companyInfo.zip), 1)) : d("", !0),
70
- e.value.companyInfo.country ? (s(), o("p", V, l(e.value.companyInfo.country), 1)) : d("", !0)
71
- ])) : d("", !0)
72
- ]),
73
- e.value.customerInfo ? (s(), o("div", B, [
74
- n[0] || (n[0] = t("h4", { class: "font-semibold text-muted-foreground uppercase tracking-wider text-xs mb-1" }, " Billed To ", -1)),
75
- t("p", q, l(e.value.customerInfo.name), 1),
76
- t("div", $, [
77
- e.value.customerInfo.address ? (s(), o("p", E, l(e.value.customerInfo.address), 1)) : d("", !0),
78
- e.value.customerInfo.city ? (s(), o("p", P, l(e.value.customerInfo.city) + ", " + l(e.value.customerInfo.state) + " " + l(e.value.customerInfo.zip), 1)) : d("", !0),
79
- e.value.customerInfo.email ? (s(), o("p", F, l(e.value.customerInfo.email), 1)) : d("", !0)
110
+ e.value.companyInfo ? (o(), s("div", j, [
111
+ t("p", {
112
+ class: n(["text-muted-foreground uppercase tracking-widest font-semibold mb-1.5", a.compact ? "text-[9px]" : "text-[10px]"])
113
+ }, " From ", 2),
114
+ t("p", {
115
+ class: n(["font-bold text-foreground", a.compact ? "text-xs" : "text-sm"])
116
+ }, l(e.value.companyInfo.name || e.value.brandName), 3),
117
+ t("div", q, [
118
+ e.value.companyInfo.address ? (o(), s("p", C, l(e.value.companyInfo.address), 1)) : c("", !0),
119
+ e.value.companyInfo.city ? (o(), s("p", E, l(e.value.companyInfo.city) + ", " + l(e.value.companyInfo.state) + " " + l(e.value.companyInfo.zip), 1)) : c("", !0),
120
+ e.value.companyInfo.country ? (o(), s("p", F, l(e.value.companyInfo.country), 1)) : c("", !0),
121
+ e.value.companyInfo.email ? (o(), s("p", P, l(e.value.companyInfo.email), 1)) : c("", !0)
80
122
  ])
81
- ])) : d("", !0),
82
- t("div", {
83
- class: c(["flex flex-col md:items-end", a.compact ? "space-y-1" : "space-y-2"])
84
- }, [
85
- e.value.issuedDate ? (s(), o("div", G, [
86
- n[1] || (n[1] = t("span", { class: "text-muted-foreground font-medium text-xs" }, "Date:", -1)),
87
- i(r(g), {
123
+ ])) : c("", !0),
124
+ e.value.customerInfo ? (o(), s("div", G, [
125
+ t("p", {
126
+ class: n(["text-muted-foreground uppercase tracking-widest font-semibold mb-1.5", a.compact ? "text-[9px]" : "text-[10px]"])
127
+ }, " Billed To ", 2),
128
+ t("p", {
129
+ class: n(["font-bold text-foreground", a.compact ? "text-xs" : "text-sm"])
130
+ }, l(e.value.customerInfo.name), 3),
131
+ t("div", K, [
132
+ e.value.customerInfo.address ? (o(), s("p", O, l(e.value.customerInfo.address), 1)) : c("", !0),
133
+ e.value.customerInfo.city ? (o(), s("p", Q, l(e.value.customerInfo.city) + ", " + l(e.value.customerInfo.state) + " " + l(e.value.customerInfo.zip), 1)) : c("", !0),
134
+ e.value.customerInfo.email ? (o(), s("p", U, l(e.value.customerInfo.email), 1)) : c("", !0)
135
+ ])
136
+ ])) : c("", !0),
137
+ t("div", A, [
138
+ e.value.issuedDate ? (o(), s("div", H, [
139
+ r[0] || (r[0] = t("span", { class: "text-muted-foreground font-medium text-xs" }, "Issued:", -1)),
140
+ i(u(g), {
88
141
  value: e.value.issuedDate,
89
142
  type: "date",
90
- class: "font-semibold text-xs"
143
+ class: "font-semibold text-xs text-foreground"
91
144
  }, null, 8, ["value"])
92
- ])) : d("", !0),
93
- e.value.dueDate ? (s(), o("div", K, [
94
- n[2] || (n[2] = t("span", { class: "text-muted-foreground font-medium text-xs" }, "Due:", -1)),
95
- i(r(g), {
145
+ ])) : c("", !0),
146
+ e.value.dueDate ? (o(), s("div", J, [
147
+ r[1] || (r[1] = t("span", { class: "text-muted-foreground font-medium text-xs" }, "Due:", -1)),
148
+ i(u(g), {
96
149
  value: e.value.dueDate,
97
150
  type: "date",
98
- class: "font-semibold text-xs"
151
+ class: "font-semibold text-xs text-foreground"
99
152
  }, null, 8, ["value"])
100
- ])) : d("", !0),
101
- e.value.qrcode ? (s(), o("div", {
102
- key: 2,
103
- class: c(a.compact ? "mt-1 text-right" : "mt-2 text-right")
104
- }, [
105
- i(r(D), {
106
- text: e.value.qrcode,
107
- size: a.compact ? 56 : 64
108
- }, null, 8, ["text", "size"])
109
- ], 2)) : d("", !0)
110
- ], 2)
153
+ ])) : c("", !0),
154
+ e.value.qrcode || e.value.barcode ? (o(), s("div", M, [
155
+ e.value.qrcode ? (o(), s("div", R, [
156
+ i(u(D), {
157
+ value: e.value.qrcode,
158
+ size: a.compact ? 40 : 48
159
+ }, null, 8, ["value", "size"])
160
+ ])) : c("", !0),
161
+ e.value.barcode ? (o(), s("div", W, [
162
+ i(u(B), {
163
+ value: e.value.barcode,
164
+ format: "CODE128",
165
+ height: a.compact ? 20 : 26,
166
+ width: a.compact ? 1 : 1.2,
167
+ "display-value": a.displayBarcodeValue
168
+ }, null, 8, ["value", "height", "width", "display-value"])
169
+ ])) : c("", !0)
170
+ ])) : c("", !0)
171
+ ])
111
172
  ], 2),
112
- t("div", Q, [
113
- t("table", U, [
114
- t("thead", A, [
173
+ t("div", X, [
174
+ t("table", Y, [
175
+ t("thead", Z, [
115
176
  t("tr", null, [
116
- t("th", {
177
+ r[2] || (r[2] = t("th", {
117
178
  scope: "col",
118
- class: c(a.compact ? "px-3 py-1.5" : "px-4 py-2")
119
- }, "Product", 2),
179
+ class: "invoice-th"
180
+ }, "Product", -1)),
120
181
  t("th", {
121
182
  scope: "col",
122
- class: c(["w-16 text-right", a.compact ? "px-3 py-1.5" : "px-4 py-2 w-24"])
123
- }, " Qty ", 2),
124
- f.value ? (s(), o("th", {
183
+ class: n(["invoice-th invoice-text-right", a.compact ? "w-14" : "w-20"])
184
+ }, "Qty", 2),
185
+ p.value ? (o(), s("th", {
125
186
  key: 0,
126
187
  scope: "col",
127
- class: c(["text-right w-16", a.compact ? "px-3 py-1.5" : "px-4 py-2 w-20"])
128
- }, " Size ", 2)) : d("", !0),
188
+ class: n(["invoice-th invoice-text-right", a.compact ? "w-14" : "w-20"])
189
+ }, "Size", 2)) : c("", !0),
129
190
  t("th", {
130
191
  scope: "col",
131
- class: c(["text-right", a.compact ? "px-3 py-1.5 w-24" : "px-4 py-2 w-32"])
132
- }, " Price ", 2),
133
- y.value ? (s(), o("th", {
192
+ class: n(["invoice-th invoice-text-right", a.compact ? "w-20" : "w-28"])
193
+ }, "Price", 2),
194
+ h.value ? (o(), s("th", {
134
195
  key: 1,
135
196
  scope: "col",
136
- class: c(["text-right", a.compact ? "px-3 py-1.5 w-24" : "px-4 py-2 w-32"])
137
- }, " Discount ", 2)) : d("", !0),
197
+ class: n(["invoice-th invoice-text-right", a.compact ? "w-20" : "w-28"])
198
+ }, "Discount", 2)) : c("", !0),
138
199
  t("th", {
139
200
  scope: "col",
140
- class: c(["text-right", a.compact ? "px-3 py-1.5 w-24" : "px-4 py-2 w-32"])
141
- }, " Total ", 2)
201
+ class: n(["invoice-th invoice-text-right", a.compact ? "w-20" : "w-28"])
202
+ }, "Total", 2)
142
203
  ])
143
204
  ]),
144
- t("tbody", H, [
145
- (s(!0), o(b, null, h(e.value.items, (u, x) => (s(), o("tr", {
146
- key: u.id || x,
147
- class: "hover:bg-muted/30"
205
+ t("tbody", ee, [
206
+ (o(!0), s(y, null, b(e.value.items, (d, x) => (o(), s("tr", {
207
+ key: d.id || x,
208
+ class: "invoice-tr group"
148
209
  }, [
149
- t("td", {
150
- class: c(a.compact ? "px-3 py-1.5" : "px-4 py-2")
151
- }, [
152
- t("div", J, [
153
- u.thumbnail ? (s(), o("div", {
210
+ t("td", te, [
211
+ t("div", oe, [
212
+ d.thumbnail ? (o(), s("div", {
154
213
  key: 0,
155
- class: c(["shrink-0 rounded bg-muted overflow-hidden border border-border", a.compact ? "w-8 h-8" : "w-9 h-9"])
214
+ class: n(["shrink-0 overflow-hidden border border-border", a.compact ? "w-8 h-8 rounded" : "w-9 h-9 rounded-md"])
156
215
  }, [
157
- t("img", {
158
- src: u.thumbnail,
159
- alt: u.name,
160
- class: "w-full h-full object-cover"
161
- }, null, 8, M)
162
- ], 2)) : d("", !0),
163
- t("div", O, [
216
+ i(k, {
217
+ src: d.thumbnail,
218
+ alt: d.name,
219
+ class: "w-full h-full",
220
+ rounded: "sm"
221
+ }, null, 8, ["src", "alt"])
222
+ ], 2)) : c("", !0),
223
+ t("div", se, [
164
224
  t("div", {
165
- class: c(["font-semibold text-foreground truncate", a.compact ? "" : "text-[13px]"]),
166
- title: u.name
167
- }, l(u.name), 11, R),
168
- u.sku ? (s(), o("div", {
225
+ class: n(["font-semibold text-foreground truncate", a.compact ? "" : "text-[13px]"]),
226
+ title: d.name
227
+ }, l(d.name), 11, ae),
228
+ d.sku ? (o(), s("div", {
169
229
  key: 0,
170
230
  class: "text-[9px] text-muted-foreground font-normal uppercase tracking-tight truncate",
171
- title: u.sku
172
- }, " SKU: " + l(u.sku), 9, W)) : d("", !0)
231
+ title: d.sku
232
+ }, " SKU: " + l(d.sku), 9, ce)) : c("", !0)
173
233
  ])
174
234
  ])
175
- ], 2),
176
- t("td", {
177
- class: c(["text-right tabular-nums", a.compact ? "px-3 py-1.5" : "px-4 py-2"])
178
- }, l(u.quantity), 3),
179
- f.value ? (s(), o("td", {
180
- key: 0,
181
- class: c(["text-right tabular-nums text-muted-foreground", a.compact ? "px-3 py-1.5" : "px-4 py-2"])
182
- }, l(u.size || "-"), 3)) : d("", !0),
183
- t("td", {
184
- class: c(["text-right tabular-nums", a.compact ? "px-3 py-1.5" : "px-4 py-2"])
185
- }, [
186
- i(r(p), {
187
- value: u.price
235
+ ]),
236
+ t("td", le, l(d.quantity), 1),
237
+ p.value ? (o(), s("td", ne, l(d.size || "-"), 1)) : c("", !0),
238
+ t("td", de, [
239
+ i(u(v), {
240
+ value: d.price
188
241
  }, null, 8, ["value"])
189
- ], 2),
190
- y.value ? (s(), o("td", {
191
- key: 1,
192
- class: c(["text-right tabular-nums text-success/80 font-medium", a.compact ? "px-3 py-1.5" : "px-4 py-2"])
193
- }, [
194
- u.discount !== void 0 ? (s(), o("div", X, [
195
- i(r(p), {
196
- value: -u.discount
242
+ ]),
243
+ h.value ? (o(), s("td", re, [
244
+ d.discount !== void 0 ? (o(), s("div", ie, [
245
+ i(u(v), {
246
+ value: -d.discount
197
247
  }, null, 8, ["value"]),
198
- u.discountLabel ? (s(), o("span", Y, l(u.discountLabel), 1)) : d("", !0)
199
- ])) : (s(), o("span", Z, "-"))
200
- ], 2)) : d("", !0),
201
- t("td", {
202
- class: c(["text-right tabular-nums font-semibold", a.compact ? "px-3 py-1.5" : "px-4 py-2"])
203
- }, [
204
- i(r(p), {
205
- value: u.total
248
+ d.discountLabel ? (o(), s("span", ue, l(d.discountLabel), 1)) : c("", !0)
249
+ ])) : (o(), s("span", me, "-"))
250
+ ])) : c("", !0),
251
+ t("td", ve, [
252
+ i(u(v), {
253
+ value: d.total
206
254
  }, null, 8, ["value"])
207
- ], 2)
255
+ ])
208
256
  ]))), 128))
209
257
  ])
210
258
  ]),
211
259
  t("div", {
212
- class: c(["bg-muted/30 border-t border-border flex justify-end", a.compact ? "p-3" : "p-4"])
260
+ class: n(["bg-muted/30 border-t border-border flex justify-end", a.compact ? "p-3" : "p-4"])
213
261
  }, [
214
262
  t("div", {
215
- class: c(
216
- a.compact ? "w-full max-w-[200px] space-y-1 text-xs" : "w-full max-w-[240px] space-y-1 text-xs"
217
- )
263
+ class: n(a.compact ? "w-full max-w-[200px] space-y-1 text-xs" : "w-full max-w-[240px] space-y-1.5 text-xs")
218
264
  }, [
219
- (s(!0), o(b, null, h(e.value.totals, (u, x) => (s(), o("div", {
265
+ (o(!0), s(y, null, b(e.value.totals, (d, x) => (o(), s("div", {
220
266
  key: x,
221
- class: c([
267
+ class: n([
222
268
  "flex justify-between items-center",
223
- u.isGrandTotal ? a.compact ? "pt-1.5 mt-1.5 border-t border-border font-bold text-xs text-foreground" : "pt-2 mt-2 border-t border-border font-bold text-sm text-foreground" : "text-muted-foreground font-medium"
269
+ d.isGrandTotal ? a.compact ? "pt-1.5 mt-1.5 border-t border-border font-bold text-sm text-foreground" : "pt-2 mt-2 border-t border-border font-bold text-sm text-foreground" : "text-muted-foreground font-medium"
224
270
  ])
225
271
  }, [
226
- t("span", null, l(u.label), 1),
227
- i(r(p), {
228
- value: u.value
272
+ t("span", null, l(d.label), 1),
273
+ i(u(v), {
274
+ value: d.value
229
275
  }, null, 8, ["value"])
230
276
  ], 2))), 128))
231
277
  ], 2)
232
278
  ], 2)
233
279
  ]),
234
- e.value.notes ? (s(), o("div", {
235
- key: 0,
236
- class: c(["text-muted-foreground border-t border-border text-xs", (a.compact, "pt-2")])
237
- }, [
238
- n[3] || (n[3] = t("strong", null, "Notes:", -1)),
239
- n[4] || (n[4] = I()),
240
- t("span", ee, l(e.value.notes), 1)
241
- ], 2)) : d("", !0),
242
- e.value.footerText ? (s(), o("div", te, l(e.value.footerText), 1)) : d("", !0)
280
+ e.value.notes ? (o(), s("div", xe, [
281
+ r[3] || (r[3] = t("strong", { class: "text-foreground" }, "Notes:", -1)),
282
+ r[4] || (r[4] = N()),
283
+ t("span", fe, l(e.value.notes), 1)
284
+ ])) : c("", !0),
285
+ e.value.footerText ? (o(), s("div", pe, l(e.value.footerText), 1)) : c("", !0)
243
286
  ], 2)
244
- ], 2));
287
+ ], 6));
245
288
  }
246
289
  });
247
290
  export {
248
- de as default
291
+ Ie as default
249
292
  };
@@ -3,8 +3,11 @@ type __VLS_Props = {
3
3
  data: InvoiceData;
4
4
  /** Reduces padding, spacing, and font sizes for print-friendly output */
5
5
  compact?: boolean;
6
+ /** Toggles the display of the barcode text value underneath the bars */
7
+ displayBarcodeValue?: boolean;
6
8
  };
7
9
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
10
  compact: boolean;
11
+ displayBarcodeValue: boolean;
9
12
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
13
  export default _default;