vlite3 1.1.1 → 1.1.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 (117) hide show
  1. package/components/AttachmentsList/AttachmentsList.vue.d.ts +2 -17
  2. package/components/AttachmentsList/AttachmentsList.vue.js +273 -175
  3. package/components/Avatar.vue.js +1 -1
  4. package/components/AvatarUploader/AvatarUploader.vue.d.ts +1 -1
  5. package/components/AvatarUploader/AvatarUploader.vue.js +40 -37
  6. package/components/Button.vue.d.ts +1 -1
  7. package/components/Button.vue.js +30 -28
  8. package/components/Calendar/Calendar.vue.d.ts +6 -6
  9. package/components/Carousel/Carousel.vue.d.ts +2 -2
  10. package/components/CategoryManager/CategoryManager.vue.d.ts +12 -3
  11. package/components/CategoryManager/CategoryManager.vue.js +204 -145
  12. package/components/CategoryManager/CategoryNode.vue.d.ts +2 -0
  13. package/components/CategoryManager/CategoryNode.vue.js +93 -88
  14. package/components/CategoryManager/types.d.ts +14 -0
  15. package/components/Chat/ChatBubble.vue.js +22 -22
  16. package/components/CheckBox.vue.js +29 -28
  17. package/components/Chip/Chip.vue.d.ts +2 -2
  18. package/components/ConfirmationModal.vue.d.ts +2 -2
  19. package/components/ConfirmationModal.vue.js +30 -28
  20. package/components/CopyButton.vue.d.ts +50 -0
  21. package/components/CopyButton.vue.js +69 -0
  22. package/components/CopyButton.vue2.js +4 -0
  23. package/components/CustomFieldsDisplay/CustomFieldsDisplay.vue.d.ts +1 -1
  24. package/components/DataTable/DataTable.vue.d.ts +3 -3
  25. package/components/DataTable/DataTable.vue.js +44 -44
  26. package/components/DatePicker.vue.js +41 -35
  27. package/components/DateRangePicker.vue.js +18 -17
  28. package/components/Dropdown/Dropdown.vue.d.ts +5 -2
  29. package/components/Dropdown/Dropdown.vue.js +117 -115
  30. package/components/Dropdown/DropdownBooleanItem.vue.js +16 -15
  31. package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +1 -1
  32. package/components/Dropdown/DropdownItem.vue.js +21 -20
  33. package/components/Dropdown/DropdownMenu.vue.d.ts +1 -1
  34. package/components/Dropdown/DropdownMenu.vue.js +1 -1
  35. package/components/Dropdown/DropdownMenu.vue2.js +13 -12
  36. package/components/Dropdown/DropdownTrigger.vue.d.ts +3 -1
  37. package/components/Dropdown/DropdownTrigger.vue.js +10 -6
  38. package/components/Dropdown/composables/useDropdownHydration.d.ts +2 -0
  39. package/components/Dropdown/composables/useDropdownSelection.d.ts +1 -0
  40. package/components/Dropdown/composables/useDropdownSelection.js +46 -31
  41. package/components/FilePicker/FilePicker.vue.d.ts +1 -1
  42. package/components/FilePicker/FilePicker.vue.js +93 -90
  43. package/components/Form/CustomFields.vue.js +2 -2
  44. package/components/Form/Form.vue.js +1 -1
  45. package/components/Form/Form.vue2.js +230 -238
  46. package/components/Form/FormField.vue.d.ts +1 -1
  47. package/components/Form/FormField.vue.js +204 -148
  48. package/components/Form/FormFields.vue.js +2 -2
  49. package/components/Form/FormFields.vue2.js +28 -27
  50. package/components/Form/types.d.ts +2 -2
  51. package/components/Form/utils/form.utils.d.ts +3 -3
  52. package/components/Form/utils/form.utils.js +37 -37
  53. package/components/Input.vue.d.ts +3 -3
  54. package/components/Input.vue.js +64 -62
  55. package/components/Invoice/Invoice.vue.d.ts +1 -4
  56. package/components/Invoice/Invoice.vue.js +22 -13
  57. package/components/Invoice/InvoiceTotals.vue.d.ts +14 -0
  58. package/components/Invoice/InvoiceTotals.vue.js +86 -0
  59. package/components/Invoice/InvoiceTotals.vue2.js +4 -0
  60. package/components/Invoice/InvoiceVariant1.vue.d.ts +6 -1
  61. package/components/Invoice/InvoiceVariant1.vue.js +304 -271
  62. package/components/Invoice/InvoiceVariant2.vue.d.ts +6 -1
  63. package/components/Invoice/InvoiceVariant2.vue.js +168 -181
  64. package/components/Invoice/InvoiceVariant3.vue.d.ts +6 -1
  65. package/components/Invoice/InvoiceVariant3.vue.js +215 -182
  66. package/components/Invoice/InvoiceVariant4.vue.d.ts +6 -1
  67. package/components/Invoice/InvoiceVariant4.vue.js +281 -238
  68. package/components/Invoice/index.d.ts +1 -0
  69. package/components/Invoice/types.d.ts +26 -0
  70. package/components/List/List.vue.d.ts +1 -9
  71. package/components/List/List.vue.js +166 -165
  72. package/components/List/ListFieldRow.vue.d.ts +2 -2
  73. package/components/List/ListFieldRow.vue.js +50 -50
  74. package/components/Masonry/Masonry.vue.d.ts +1 -1
  75. package/components/Modal.vue.js +1 -1
  76. package/components/Modal.vue2.js +60 -54
  77. package/components/MultiSelect/MultiSelect.vue.d.ts +1 -1
  78. package/components/MultiSelect/MultiSelect.vue.js +47 -46
  79. package/components/MultiSelect/composables/useMultiSelectHydration.d.ts +2 -0
  80. package/components/Navbar/NavbarItem.vue.d.ts +1 -1
  81. package/components/NumberInput.vue.d.ts +2 -2
  82. package/components/NumberInput.vue.js +2 -2
  83. package/components/NumberInput.vue2.js +121 -116
  84. package/components/OTPInput/OTPInput.vue.d.ts +1 -1
  85. package/components/PricingPlan/PricingPlan.vue.d.ts +2 -2
  86. package/components/SidePanel.vue.js +2 -2
  87. package/components/SidePanel.vue2.js +58 -52
  88. package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
  89. package/components/Stats/StatItem.vue.js +96 -91
  90. package/components/Stats/Stats.vue.d.ts +1 -1
  91. package/components/Stats/types.d.ts +1 -0
  92. package/components/StatusChip/status-map.js +27 -7
  93. package/components/Switch.vue.d.ts +6 -1
  94. package/components/Switch.vue.js +61 -24
  95. package/components/TagInput/TagInput.vue.d.ts +187 -0
  96. package/components/TagInput/TagInput.vue.js +113 -0
  97. package/components/TagInput/TagInput.vue2.js +4 -0
  98. package/components/TagInput/index.d.ts +1 -0
  99. package/components/Textarea.vue.js +19 -18
  100. package/components/ThumbnailSelector/ThumbnailSelector.vue.d.ts +2 -2
  101. package/components/ThumbnailSelector/ThumbnailSelector.vue.js +2 -2
  102. package/components/ThumbnailSelector/ThumbnailSelector.vue2.js +19 -16
  103. package/components/Workbook/Workbook.vue.d.ts +3 -3
  104. package/core/config.d.ts +112 -0
  105. package/core/index.js +17 -5
  106. package/index.d.ts +2 -0
  107. package/index.js +279 -271
  108. package/package.json +1 -1
  109. package/style.css +617 -2
  110. package/types/button.d.ts +1 -1
  111. package/types/config.type.d.ts +6 -0
  112. package/types/list.type.d.ts +6 -0
  113. package/types/styles.d.ts +1 -0
  114. package/utils/configUtils.d.ts +9 -0
  115. package/utils/configUtils.js +7 -0
  116. package/utils/functions.js +9 -9
  117. package/utils/index.d.ts +1 -0
@@ -1,10 +1,15 @@
1
- import { InvoiceData } from './types';
1
+ import { InvoiceData, InvoiceLabels } from './types';
2
2
  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;
8
+ /** Custom text labels for static UI strings */
9
+ labels?: InvoiceLabels;
6
10
  };
7
11
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
12
  compact: boolean;
13
+ displayBarcodeValue: boolean;
9
14
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
15
  export default _default;
@@ -1,230 +1,217 @@
1
- import { defineComponent as f, computed as b, openBlock as s, createElementBlock as o, normalizeStyle as g, normalizeClass as n, createElementVNode as t, createCommentVNode as c, toDisplayString as d, createVNode as i, unref as u, Fragment as y, renderList as p } from "vue";
1
+ import { defineComponent as b, computed as v, openBlock as o, createElementBlock as c, normalizeStyle as h, normalizeClass as l, createElementVNode as a, createVNode as u, createCommentVNode as n, toDisplayString as s, unref as i, Fragment as g, renderList as k } from "vue";
2
2
  import m from "../Price/Price.vue.js";
3
- import h from "../DateTime/DateTime.vue.js";
4
- import { getStatusColorClass as k } from "../../utils/status.js";
5
- import w from "../Barcode/Barcode.vue.js";
6
- import I from "../QRCode/QRCode.vue.js";
7
- const j = ["src", "alt"], z = { key: 0 }, C = { key: 1 }, N = { key: 2 }, D = { key: 3 }, S = { class: "flex justify-between" }, _ = { class: "font-semibold" }, L = {
3
+ import w from "../DateTime/DateTime.vue.js";
4
+ import I from "../Barcode/Barcode.vue.js";
5
+ import _ from "../QRCode/QRCode.vue.js";
6
+ import p from "../Avatar.vue.js";
7
+ import j from "../StatusChip/StatusChip.vue.js";
8
+ import z from "./InvoiceTotals.vue.js";
9
+ const N = {
8
10
  key: 0,
9
- class: "flex justify-between"
10
- }, T = {
11
+ class: "flex justify-center mb-2"
12
+ }, V = { key: 0 }, $ = { key: 1 }, B = { key: 2 }, D = { key: 3 }, C = { class: "flex justify-between items-center" }, L = { class: "text-muted-foreground font-medium" }, T = { class: "font-semibold text-foreground" }, S = {
13
+ key: 0,
14
+ class: "flex justify-between items-center"
15
+ }, q = { class: "text-muted-foreground font-medium" }, E = {
11
16
  key: 1,
12
- class: "flex justify-between mt-2"
13
- }, V = { class: "font-semibold" }, $ = {
17
+ class: "flex justify-between items-center"
18
+ }, A = { class: "text-muted-foreground font-medium" }, F = { class: "font-semibold text-foreground" }, K = {
14
19
  key: 2,
15
- class: "flex justify-between"
16
- }, q = { class: "flex items-start gap-2" }, B = {
17
- key: 0,
18
- class: "shrink-0 w-8 h-8 rounded bg-gray-100 overflow-hidden border border-gray-200 mt-0.5"
19
- }, E = ["src", "alt"], A = { class: "flex-1 min-w-0" }, F = { class: "flex justify-between font-medium" }, G = ["title"], K = ["title"], O = { class: "text-gray-500 flex flex-wrap gap-x-2 gap-y-0.5 text-xs" }, R = {
20
+ class: "flex justify-between items-center"
21
+ }, O = { class: "text-muted-foreground font-medium" }, R = { class: "flex items-start gap-2.5" }, U = { class: "flex-1 min-w-0" }, G = { class: "flex justify-between items-start gap-2" }, H = ["title"], J = {
20
22
  key: 0,
21
- class: "text-gray-400 font-medium text-xs"
22
- }, U = {
23
+ class: "text-muted-foreground"
24
+ }, M = {
23
25
  key: 1,
24
- class: "text-success font-medium flex items-center gap-1"
25
- }, H = {
26
- key: 0,
27
- class: "text-xs!"
28
- }, J = { class: "text-sm" }, M = {
26
+ class: "text-success font-medium flex items-center gap-0.5"
27
+ }, P = { key: 0 }, Q = { class: "flex flex-row flex-wrap items-center justify-center gap-3" }, W = {
29
28
  key: 0,
30
- class: "p-1 bg-white border border-gray-200 rounded"
31
- }, P = {
32
- key: 0,
33
- class: "text-gray-600 whitespace-pre-wrap text-xs"
34
- }, Q = {
29
+ class: "bg-white"
30
+ }, X = {
35
31
  key: 1,
36
- class: "text-gray-400 font-medium uppercase tracking-widest text-xs"
37
- }, se = /* @__PURE__ */ f({
32
+ class: "bg-white overflow-hidden"
33
+ }, ne = /* @__PURE__ */ b({
38
34
  __name: "InvoiceVariant2",
39
35
  props: {
40
36
  data: {},
41
- compact: { type: Boolean, default: !1 }
37
+ compact: { type: Boolean, default: !1 },
38
+ displayBarcodeValue: { type: Boolean, default: !1 },
39
+ labels: {}
42
40
  },
43
- setup(a) {
44
- const v = a, e = b(() => v.data);
45
- return (W, r) => (s(), o("div", {
46
- class: n(["v-invoice-v2 bg-body text-gray-900 border border-gray-200 mx-auto print:max-w-[300px] shadow-sm font-sans tracking-tight", a.compact ? "max-w-xs" : "max-w-sm sm:max-w-md"]),
47
- style: g({
48
- "--text-sm": a.compact ? "12px" : "13.5px",
49
- "--text-xs": a.compact ? "9.5px" : "10px"
41
+ setup(t) {
42
+ const x = t, e = v(() => x.data), r = v(() => x.labels || {});
43
+ return (Y, f) => (o(), c("div", {
44
+ class: l(["v-invoice-v2 bg-background text-foreground border border-border mx-auto print:max-w-[300px] font-sans tracking-tight", t.compact ? "max-w-xs" : "max-w-sm sm:max-w-md"]),
45
+ style: h({
46
+ "--text-sm": t.compact ? "12px" : "13.5px",
47
+ "--text-xs": t.compact ? "9.5px" : "10px"
50
48
  })
51
49
  }, [
52
- t("div", {
53
- class: n(["text-center", a.compact ? "p-3 space-y-1.5 pb-2" : "p-6 space-y-3 pb-4"])
50
+ a("div", {
51
+ class: l(["text-center", t.compact ? "p-4 pb-3" : "p-6 pb-4"])
54
52
  }, [
55
- e.value.brandLogo ? (s(), o("div", {
56
- key: 0,
57
- class: n(a.compact ? "h-8 mx-auto mb-1" : "h-14 mx-auto mb-2")
58
- }, [
59
- t("img", {
53
+ e.value.brandLogo ? (o(), c("div", N, [
54
+ u(p, {
60
55
  src: e.value.brandLogo,
61
56
  alt: e.value.brandName,
62
- class: "h-full object-contain mx-auto grayscale"
63
- }, null, 8, j)
64
- ], 2)) : c("", !0),
65
- t("div", null, [
66
- e.value.brandName ? (s(), o("h2", {
67
- key: 0,
68
- class: n(["font-bold uppercase tracking-widest", a.compact ? "text-base" : "text-2xl"])
69
- }, d(e.value.brandName), 3)) : c("", !0),
70
- e.value.companyInfo ? (s(), o("div", {
71
- key: 1,
72
- class: n(["text-gray-500 space-y-0.5", a.compact ? "mt-1 text-sm" : "mt-2 text-sm"])
73
- }, [
74
- e.value.companyInfo.address ? (s(), o("p", z, d(e.value.companyInfo.address), 1)) : c("", !0),
75
- e.value.companyInfo.city || e.value.companyInfo.state ? (s(), o("p", C, d(e.value.companyInfo.city) + " " + d(e.value.companyInfo.state) + " " + d(e.value.companyInfo.zip), 1)) : c("", !0),
76
- e.value.companyInfo.phone ? (s(), o("p", N, d(e.value.companyInfo.phone), 1)) : c("", !0),
77
- e.value.companyInfo.taxId ? (s(), o("p", D, "VAT: " + d(e.value.companyInfo.taxId), 1)) : c("", !0)
78
- ], 2)) : c("", !0)
79
- ])
57
+ class: l(t.compact ? "h-9 w-9" : "h-12 w-12"),
58
+ rounded: "md"
59
+ }, null, 8, ["src", "alt", "class"])
60
+ ])) : n("", !0),
61
+ e.value.brandName ? (o(), c("h2", {
62
+ key: 1,
63
+ class: l(["font-bold uppercase tracking-widest text-foreground", t.compact ? "text-base" : "text-xl"])
64
+ }, s(e.value.brandName), 3)) : n("", !0),
65
+ e.value.companyInfo ? (o(), c("div", {
66
+ key: 2,
67
+ class: l(["text-muted-foreground space-y-0.5 mt-1", t.compact ? "text-xs" : "text-sm"])
68
+ }, [
69
+ e.value.companyInfo.address ? (o(), c("p", V, s(e.value.companyInfo.address), 1)) : n("", !0),
70
+ e.value.companyInfo.city || e.value.companyInfo.state ? (o(), c("p", $, s(e.value.companyInfo.city) + " " + s(e.value.companyInfo.state) + " " + s(e.value.companyInfo.zip), 1)) : n("", !0),
71
+ e.value.companyInfo.phone ? (o(), c("p", B, s(e.value.companyInfo.phone), 1)) : n("", !0),
72
+ e.value.companyInfo.taxId ? (o(), c("p", D, s(r.value.taxId || "VAT") + ": " + s(e.value.companyInfo.taxId), 1)) : n("", !0)
73
+ ], 2)) : n("", !0)
80
74
  ], 2),
81
- t("div", {
82
- class: n(["border-t border-dashed border-gray-300", a.compact ? "mx-3" : "mx-6"])
75
+ a("div", {
76
+ class: l(["border-t border-dashed border-border", t.compact ? "mx-3" : "mx-5"])
83
77
  }, null, 2),
84
- t("div", {
85
- class: n(a.compact ? "px-3 py-2 space-y-1 text-sm" : "px-6 py-4 space-y-1.5 text-sm")
78
+ a("div", {
79
+ class: l(t.compact ? "px-4 py-2.5 space-y-1 text-xs" : "px-5 py-3.5 space-y-1.5 text-sm")
86
80
  }, [
87
- t("div", S, [
88
- r[0] || (r[0] = t("span", { class: "text-gray-500 font-medium" }, "Receipt #", -1)),
89
- t("span", _, d(e.value.invoiceNumber), 1)
81
+ a("div", C, [
82
+ a("span", L, s(r.value.invoiceNumber || "Receipt #"), 1),
83
+ a("span", T, s(e.value.invoiceNumber), 1)
90
84
  ]),
91
- e.value.issuedDate ? (s(), o("div", L, [
92
- r[1] || (r[1] = t("span", { class: "text-gray-500 font-medium" }, "Date", -1)),
93
- i(u(h), {
85
+ e.value.issuedDate ? (o(), c("div", S, [
86
+ a("span", q, s(r.value.issued || "Date"), 1),
87
+ u(i(w), {
94
88
  value: e.value.issuedDate,
95
89
  type: "dateTime",
96
- class: "font-medium"
90
+ class: "font-medium text-foreground"
97
91
  }, null, 8, ["value"])
98
- ])) : c("", !0),
99
- e.value.customerInfo?.name ? (s(), o("div", T, [
100
- r[2] || (r[2] = t("span", { class: "text-gray-500 font-medium" }, "Customer", -1)),
101
- t("span", V, d(e.value.customerInfo.name), 1)
102
- ])) : c("", !0),
103
- e.value.status ? (s(), o("div", $, [
104
- r[3] || (r[3] = t("span", { class: "text-gray-500 font-medium" }, "Status", -1)),
105
- t("span", {
106
- class: n(["uppercase font-bold tracking-widest", u(k)(e.value.status)])
107
- }, d(e.value.status), 3)
108
- ])) : c("", !0)
92
+ ])) : n("", !0),
93
+ e.value.customerInfo?.name ? (o(), c("div", E, [
94
+ a("span", A, s(r.value.billedTo || "Customer"), 1),
95
+ a("span", F, s(e.value.customerInfo.name), 1)
96
+ ])) : n("", !0),
97
+ e.value.status ? (o(), c("div", K, [
98
+ a("span", O, s(r.value.status || "Status"), 1),
99
+ u(j, {
100
+ status: e.value.status,
101
+ "hide-icon": "",
102
+ size: "small"
103
+ }, null, 8, ["status"])
104
+ ])) : n("", !0)
109
105
  ], 2),
110
- t("div", {
111
- class: n(["border-t border-dashed border-gray-300", a.compact ? "mx-3" : "mx-6"])
106
+ a("div", {
107
+ class: l(["border-t border-dashed border-border", t.compact ? "mx-3" : "mx-5"])
112
108
  }, null, 2),
113
- t("div", {
114
- class: n(a.compact ? "px-3 py-2" : "px-6 py-4")
109
+ a("div", {
110
+ class: l(t.compact ? "px-4 py-2.5" : "px-5 py-3.5")
115
111
  }, [
116
- t("div", {
117
- class: n(["flex justify-between font-semibold text-gray-500 uppercase tracking-wider", a.compact ? "text-xs! mb-1.5" : "text-sm! mb-3"])
118
- }, [...r[4] || (r[4] = [
119
- t("span", null, "Item", -1),
120
- t("span", null, "Amount", -1)
121
- ])], 2),
122
- t("div", {
123
- class: n(a.compact ? "space-y-2" : "space-y-4")
112
+ a("div", {
113
+ class: l(["flex justify-between font-semibold text-muted-foreground uppercase tracking-wider mb-2", t.compact ? "text-[10px]" : "text-xs"])
114
+ }, [
115
+ a("span", null, s(r.value.item || "Item"), 1),
116
+ a("span", null, s(r.value.total || "Amount"), 1)
117
+ ], 2),
118
+ a("div", {
119
+ class: l(t.compact ? "space-y-2.5" : "space-y-3.5")
124
120
  }, [
125
- (s(!0), o(y, null, p(e.value.items, (l, x) => (s(), o("div", {
126
- key: l.id || x
121
+ (o(!0), c(g, null, k(e.value.items, (d, y) => (o(), c("div", {
122
+ key: d.id || y
127
123
  }, [
128
- t("div", q, [
129
- l.thumbnail ? (s(), o("div", B, [
130
- t("img", {
131
- src: l.thumbnail,
132
- alt: l.name,
133
- class: "w-full h-full object-cover grayscale"
134
- }, null, 8, E)
135
- ])) : c("", !0),
136
- t("div", A, [
137
- t("div", F, [
138
- t("span", {
139
- class: "truncate pr-2 text-sm!",
140
- title: l.name
141
- }, d(l.name), 9, G),
142
- i(u(m), {
143
- value: l.total,
144
- class: "shrink-0 font-bold text-xs"
145
- }, null, 8, ["value"])
124
+ a("div", R, [
125
+ d.thumbnail ? (o(), c("div", {
126
+ key: 0,
127
+ class: l(["shrink-0 overflow-hidden border border-border mt-0.5", t.compact ? "w-8 h-8 rounded" : "w-9 h-9 rounded-md"])
128
+ }, [
129
+ u(p, {
130
+ src: d.thumbnail,
131
+ alt: d.name,
132
+ class: "w-full h-full",
133
+ rounded: "sm"
134
+ }, null, 8, ["src", "alt"])
135
+ ], 2)) : n("", !0),
136
+ a("div", U, [
137
+ a("div", G, [
138
+ a("span", {
139
+ class: l(["font-semibold text-foreground truncate", t.compact ? "text-xs" : "text-sm"]),
140
+ title: d.name
141
+ }, s(d.name), 11, H),
142
+ u(i(m), {
143
+ value: d.total,
144
+ class: l(["shrink-0 font-bold text-foreground", t.compact ? "text-xs" : "text-sm"])
145
+ }, null, 8, ["value", "class"])
146
146
  ]),
147
- l.sku ? (s(), o("div", {
147
+ d.sku ? (o(), c("div", {
148
148
  key: 0,
149
- class: "text-xs uppercase text-gray-400 font-normal tracking-tight truncate",
150
- title: l.sku
151
- }, " SKU: " + d(l.sku), 9, K)) : c("", !0),
152
- t("div", O, [
153
- t("span", null, d(l.quantity) + " x", 1),
154
- i(u(m), {
155
- value: l.price,
156
- class: "text-xs"
149
+ class: l(["text-muted-foreground uppercase tracking-tight truncate mt-0.5", t.compact ? "text-[9px]" : "text-[10px]"])
150
+ }, s(r.value.sku || "SKU") + ": " + s(d.sku), 3)) : n("", !0),
151
+ a("div", {
152
+ class: l(["text-muted-foreground flex flex-wrap gap-x-1.5 gap-y-0.5 mt-0.5", t.compact ? "text-[10px]" : "text-xs"])
153
+ }, [
154
+ a("span", null, s(d.quantity) + " x", 1),
155
+ u(i(m), {
156
+ value: d.price
157
157
  }, null, 8, ["value"]),
158
- l.size ? (s(), o("span", R, "| Size: " + d(l.size), 1)) : c("", !0),
159
- l.discount !== void 0 ? (s(), o("div", U, [
160
- r[5] || (r[5] = t("span", { class: "text-xs" }, "| Disc:", -1)),
161
- i(u(m), {
162
- value: -l.discount,
163
- class: "text-xs!"
158
+ d.size ? (o(), c("span", J, "· " + s(d.size), 1)) : n("", !0),
159
+ d.discount !== void 0 ? (o(), c("div", M, [
160
+ f[0] || (f[0] = a("span", null, "· Disc:", -1)),
161
+ u(i(m), {
162
+ value: -d.discount
164
163
  }, null, 8, ["value"]),
165
- l.discountLabel ? (s(), o("span", H, "(" + d(l.discountLabel) + ")", 1)) : c("", !0)
166
- ])) : c("", !0)
167
- ])
164
+ d.discountLabel ? (o(), c("span", P, "(" + s(d.discountLabel) + ")", 1)) : n("", !0)
165
+ ])) : n("", !0)
166
+ ], 2)
168
167
  ])
169
168
  ])
170
169
  ]))), 128))
171
170
  ], 2)
172
171
  ], 2),
173
- t("div", {
174
- class: n(["border-t border-dashed border-gray-300", a.compact ? "mx-3" : "mx-6"])
172
+ a("div", {
173
+ class: l(["border-t border-dashed border-border", t.compact ? "mx-3" : "mx-5"])
175
174
  }, null, 2),
176
- t("div", {
177
- class: n(a.compact ? "px-3 py-2 space-y-1" : "px-6 py-4 space-y-1")
178
- }, [
179
- (s(!0), o(y, null, p(e.value.totals, (l, x) => (s(), o("div", {
180
- key: x,
181
- class: n([
182
- "flex justify-between",
183
- l.isGrandTotal ? a.compact ? "mt-1 pt-1 border-t border-gray-200 text-base font-bold" : "mt-2 pt-2 border-t border-gray-200 text-lg font-bold" : (a.compact, "font-medium text-gray-600")
184
- ])
185
- }, [
186
- t("span", J, d(l.label), 1),
187
- i(u(m), {
188
- value: l.value,
189
- class: "text-sm"
190
- }, null, 8, ["value"])
191
- ], 2))), 128))
192
- ], 2),
193
- t("div", {
194
- class: n(["border-t border-dashed border-gray-300", a.compact ? "mx-3" : "mx-6"])
175
+ u(z, {
176
+ totals: e.value.totals,
177
+ compact: t.compact,
178
+ variant: "Variant2"
179
+ }, null, 8, ["totals", "compact"]),
180
+ a("div", {
181
+ class: l(["border-t border-dashed border-border", t.compact ? "mx-3" : "mx-5"])
195
182
  }, null, 2),
196
- t("div", {
197
- class: n(a.compact ? "px-3 py-3 text-center space-y-3" : "px-6 py-6 text-center space-y-4")
183
+ a("div", {
184
+ class: l(t.compact ? "px-4 py-3 text-center space-y-3" : "px-5 py-4 text-center space-y-4")
198
185
  }, [
199
- t("div", {
200
- class: n(["flex flex-col items-center justify-center", a.compact ? "gap-1" : "gap-2"])
201
- }, [
202
- e.value.qrcode ? (s(), o("div", M, [
203
- i(u(I), {
204
- text: e.value.qrcode,
205
- size: a.compact ? 64 : 96
206
- }, null, 8, ["text", "size"])
207
- ])) : c("", !0),
208
- e.value.barcode ? (s(), o("div", {
209
- key: 1,
210
- class: n(
211
- a.compact ? "inline-block overflow-hidden" : "scale-90 inline-block overflow-hidden"
212
- )
213
- }, [
214
- i(u(w), {
186
+ a("div", Q, [
187
+ e.value.qrcode ? (o(), c("div", W, [
188
+ u(i(_), {
189
+ value: e.value.qrcode,
190
+ size: t.compact ? 48 : 64
191
+ }, null, 8, ["value", "size"])
192
+ ])) : n("", !0),
193
+ e.value.barcode ? (o(), c("div", X, [
194
+ u(i(I), {
215
195
  value: e.value.barcode,
216
196
  format: "CODE128",
217
- height: a.compact ? 28 : 40,
218
- width: a.compact ? 1 : 1.2
219
- }, null, 8, ["value", "height", "width"])
220
- ], 2)) : c("", !0)
221
- ], 2),
222
- e.value.notes ? (s(), o("div", P, d(e.value.notes), 1)) : c("", !0),
223
- e.value.footerText ? (s(), o("div", Q, d(e.value.footerText), 1)) : c("", !0)
197
+ height: t.compact ? 24 : 32,
198
+ width: t.compact ? 1 : 1.2,
199
+ "display-value": t.displayBarcodeValue
200
+ }, null, 8, ["value", "height", "width", "display-value"])
201
+ ])) : n("", !0)
202
+ ]),
203
+ e.value.notes ? (o(), c("div", {
204
+ key: 0,
205
+ class: l(["text-muted-foreground whitespace-pre-wrap", t.compact ? "text-[10px]" : "text-xs"])
206
+ }, s(e.value.notes), 3)) : n("", !0),
207
+ e.value.footerText ? (o(), c("div", {
208
+ key: 1,
209
+ class: l(["text-muted-foreground font-medium uppercase tracking-widest", t.compact ? "text-[9px]" : "text-[10px]"])
210
+ }, s(e.value.footerText), 3)) : n("", !0)
224
211
  ], 2)
225
212
  ], 6));
226
213
  }
227
214
  });
228
215
  export {
229
- se as default
216
+ ne as default
230
217
  };
@@ -1,10 +1,15 @@
1
- import { InvoiceData } from './types';
1
+ import { InvoiceData, InvoiceLabels } from './types';
2
2
  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;
8
+ /** Custom text labels for static UI strings */
9
+ labels?: InvoiceLabels;
6
10
  };
7
11
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
12
  compact: boolean;
13
+ displayBarcodeValue: boolean;
9
14
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
15
  export default _default;