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,314 +1,347 @@
1
- import { defineComponent as z, computed as y, openBlock as t, createElementBlock as o, normalizeStyle as g, createElementVNode as a, normalizeClass as l, createCommentVNode as c, toDisplayString as u, createTextVNode as i, Fragment as x, unref as d, createVNode as m, renderList as k } from "vue";
2
- import v from "../Price/Price.vue.js";
3
- import I from "../DateTime/DateTime.vue.js";
4
- import { getStatusColorClass as D } from "../../utils/status.js";
1
+ import { defineComponent as _, computed as p, openBlock as o, createElementBlock as a, normalizeStyle as w, createElementVNode as s, normalizeClass as n, createVNode as r, toDisplayString as t, createCommentVNode as c, unref as d, createBlock as z, createTextVNode as m, Fragment as x, renderList as D } from "vue";
2
+ import f from "../Price/Price.vue.js";
3
+ import b from "../DateTime/DateTime.vue.js";
5
4
  import N from "../Barcode/Barcode.vue.js";
6
5
  import T from "../QRCode/QRCode.vue.js";
7
- const j = ["src", "alt"], C = {
6
+ import k from "../Avatar.vue.js";
7
+ import B from "../StatusChip/StatusChip.vue.js";
8
+ import V from "./InvoiceTotals.vue.js";
9
+ const $ = { class: "flex items-center justify-between gap-3" }, q = { class: "shrink-0" }, S = {
10
+ key: 0,
11
+ class: "flex items-center gap-3 border-r-[1.5px] pr-3 border-gray-300"
12
+ }, C = { class: "text-muted-foreground uppercase tracking-wider font-medium" }, L = {
8
13
  key: 1,
9
- class: "mt-1 text-muted-foreground space-y-0.5 text-sm"
10
- }, S = { key: 0 }, L = { key: 1 }, V = { key: 2 }, B = { key: 3 }, $ = { key: 4 }, q = { key: 5 }, E = {
14
+ class: "flex items-center gap-3 border-r-[1.5px] pr-3 border-gray-250"
15
+ }, j = { class: "text-muted-foreground uppercase tracking-wider font-medium" }, E = { class: "grid grid-cols-2 gap-8" }, F = { key: 0 }, U = { key: 0 }, K = { key: 1 }, O = { key: 2 }, P = {
16
+ key: 3,
17
+ class: "pt-0.5"
18
+ }, Q = { key: 4 }, A = {
19
+ key: 5,
20
+ class: "pt-0.5"
21
+ }, G = { key: 1 }, H = { key: 0 }, J = { key: 1 }, M = { key: 2 }, R = {
22
+ key: 3,
23
+ class: "pt-0.5"
24
+ }, W = { key: 4 }, X = {
25
+ key: 5,
26
+ class: "pt-0.5"
27
+ }, Y = {
11
28
  key: 1,
12
- class: "flex md:justify-end items-center gap-2 text-sm"
13
- }, P = {
14
- key: 2,
15
- class: "flex md:justify-end items-center gap-2 text-sm"
16
- }, _ = { class: "font-semibold text-lg" }, F = { class: "text-muted-foreground space-y-0.5 text-sm" }, G = { key: 0 }, K = { key: 1 }, O = { key: 2 }, Q = { key: 3 }, U = { key: 4 }, A = { key: 5 }, H = { class: "bg-muted text-muted-foreground uppercase font-semibold text-xs" }, J = { class: "divide-y divide-border" }, M = { class: "flex items-start gap-3" }, R = ["src", "alt"], W = { class: "space-y-0.5 min-w-0 flex-1" }, X = ["title"], Y = ["title"], Z = {
29
+ class: "border-b border-border overflow-x-auto"
30
+ }, Z = { class: "invoice-thead" }, ee = {
31
+ scope: "col",
32
+ class: "invoice-th"
33
+ }, te = {
34
+ scope: "col",
35
+ class: "invoice-th invoice-text-right"
36
+ }, oe = {
37
+ key: 0,
38
+ scope: "col",
39
+ class: "invoice-th invoice-text-right"
40
+ }, ae = {
41
+ scope: "col",
42
+ class: "invoice-th invoice-text-right"
43
+ }, se = {
17
44
  key: 1,
18
- class: "text-xs text-muted-foreground line-clamp-1 max-w-[280px]"
19
- }, ee = {
45
+ scope: "col",
46
+ class: "invoice-th invoice-text-right"
47
+ }, ce = {
48
+ scope: "col",
49
+ class: "invoice-th invoice-text-right"
50
+ }, le = { class: "invoice-tbody" }, ne = { class: "invoice-td" }, ue = { class: "flex items-start gap-3" }, ie = { class: "min-w-0 flex-1" }, re = ["title"], de = {
20
51
  key: 0,
21
- class: "flex flex-col items-end"
22
- }, te = {
52
+ class: "text-muted-foreground uppercase tracking-wider font-medium mt-0.5 text-xs"
53
+ }, me = {
54
+ key: 1,
55
+ class: "text-muted-foreground mt-0.5 whitespace-normal max-w-xs text-xs leading-snug"
56
+ }, ve = { class: "invoice-td invoice-text-right tabular-nums font-medium text-sm" }, pe = {
23
57
  key: 0,
24
- class: "text-xs uppercase font-bold"
25
- }, oe = { key: 1 }, ae = {
58
+ class: "invoice-td invoice-text-right tabular-nums text-muted-foreground"
59
+ }, xe = { class: "invoice-td invoice-text-right tabular-nums" }, fe = {
60
+ key: 1,
61
+ class: "invoice-td invoice-text-right tabular-nums text-success font-semibold"
62
+ }, he = {
26
63
  key: 0,
27
- class: "space-y-1"
28
- }, se = { class: "flex gap-4 items-end" }, ce = {
64
+ class: "flex flex-col items-end gap-0.5"
65
+ }, ye = {
66
+ key: 1,
67
+ class: "text-muted-foreground font-normal"
68
+ }, ge = { class: "invoice-td invoice-text-right tabular-nums font-bold text-foreground" }, be = { key: 0 }, ke = {
69
+ key: 1,
70
+ class: "flex flex-row flex-wrap gap-3 items-center"
71
+ }, Ie = {
29
72
  key: 0,
30
- class: "flex flex-col items-center gap-2"
31
- }, le = {
73
+ class: "shrink-0"
74
+ }, _e = {
32
75
  key: 1,
33
- class: "flex flex-col items-start gap-2"
34
- }, ue = { class: "w-full md:w-1/3 min-w-[220px]" }, xe = /* @__PURE__ */ z({
76
+ class: "shrink-0"
77
+ }, we = { class: "w-full lg:w-2/5 min-w-[220px]" }, Ce = /* @__PURE__ */ _({
35
78
  __name: "InvoiceVariant1",
36
79
  props: {
37
80
  data: {},
38
- compact: { type: Boolean, default: !1 }
81
+ compact: { type: Boolean, default: !1 },
82
+ displayBarcodeValue: { type: Boolean, default: !1 },
83
+ labels: {}
39
84
  },
40
- setup(s) {
41
- const w = s, e = y(() => w.data), b = y(() => e.value.items.some((p) => !!p.size)), h = y(() => e.value.items.some((p) => p.discount !== void 0));
42
- return (p, r) => (t(), o("div", {
43
- class: "v-invoice-v1 bg-background text-foreground rounded-xl border border-border overflow-hidden shadow-sm",
44
- style: g({
45
- "--text-sm": s.compact ? "13px" : "14px"
85
+ setup(l) {
86
+ const h = l, e = p(() => h.data), i = p(() => h.labels || {}), y = p(() => e.value.items.some((v) => !!v.size)), g = p(() => e.value.items.some((v) => v.discount !== void 0));
87
+ return (v, ze) => (o(), a("div", {
88
+ class: "v-invoice-v1 bg-background text-foreground border border-border rounded-sm",
89
+ style: w({
90
+ "--text-sm": l.compact ? "12.5px" : "13.5px",
91
+ "--invoice-cell-px": l.compact ? "0.875rem" : "1.25rem",
92
+ "--invoice-cell-py": l.compact ? "0.625rem" : "0.875rem",
93
+ "--invoice-thead-bg": "var(--color-muted)",
94
+ "--invoice-tr-border": "1px solid var(--color-border)",
95
+ "--invoice-tr-hover-bg": "color-mix(in oklab, var(--color-muted) 40%, transparent)"
46
96
  })
47
97
  }, [
48
- a("div", {
49
- class: l(["flex flex-col md:flex-row justify-between items-start border-b border-border bg-muted/20", s.compact ? "gap-4 p-6" : "gap-6 p-6 sm:p-8"])
98
+ s("div", {
99
+ class: n(["border-b border-border", l.compact ? "px-5 py-3" : "px-6 pt-5 pb-3.5"])
50
100
  }, [
51
- a("div", {
52
- class: l(s.compact ? "space-y-3" : "space-y-4")
53
- }, [
54
- e.value.brandLogo ? (t(), o("div", {
55
- key: 0,
56
- class: l(s.compact ? "h-10" : "h-12")
57
- }, [
58
- a("img", {
59
- src: e.value.brandLogo,
60
- alt: e.value.brandName,
61
- class: "h-full object-contain"
62
- }, null, 8, j)
63
- ], 2)) : c("", !0),
64
- a("div", null, [
65
- e.value.brandName ? (t(), o("h2", {
66
- key: 0,
67
- class: l(s.compact ? "text-lg font-bold" : "text-xl font-bold")
68
- }, u(e.value.brandName), 3)) : c("", !0),
69
- e.value.companyInfo ? (t(), o("div", C, [
70
- e.value.companyInfo.address ? (t(), o("p", S, u(e.value.companyInfo.address), 1)) : c("", !0),
71
- e.value.companyInfo.city || e.value.companyInfo.state || e.value.companyInfo.zip ? (t(), o("p", L, [
72
- i(u(e.value.companyInfo.city), 1),
73
- e.value.companyInfo.city && e.value.companyInfo.state ? (t(), o(x, { key: 0 }, [
74
- i(", ")
75
- ], 64)) : c("", !0),
76
- i(u(e.value.companyInfo.state) + " " + u(e.value.companyInfo.zip), 1)
77
- ])) : c("", !0),
78
- e.value.companyInfo.country ? (t(), o("p", V, u(e.value.companyInfo.country), 1)) : c("", !0),
79
- e.value.companyInfo.email ? (t(), o("p", B, u(e.value.companyInfo.email), 1)) : c("", !0),
80
- e.value.companyInfo.phone ? (t(), o("p", $, u(e.value.companyInfo.phone), 1)) : c("", !0),
81
- e.value.companyInfo.taxId ? (t(), o("p", q, "Tax ID: " + u(e.value.companyInfo.taxId), 1)) : c("", !0)
82
- ])) : c("", !0)
83
- ])
84
- ], 2),
85
- a("div", {
86
- class: l(["text-left md:text-right shrink-0", s.compact ? "space-y-3" : "space-y-4"])
87
- }, [
88
- a("div", null, [
89
- a("h1", {
90
- class: l(["font-bold tracking-tight text-primary uppercase", s.compact ? "text-2xl" : "text-3xl"])
91
- }, u(e.value.brandTitle || "Invoice"), 3),
92
- a("p", {
93
- class: l(["font-medium mt-1 text-muted-foreground", s.compact ? "text-base" : "text-lg"])
94
- }, " #" + u(e.value.invoiceNumber), 3)
101
+ s("div", $, [
102
+ s("div", q, [
103
+ s("div", {
104
+ class: n(l.compact ? "h-10 w-10" : "h-13 w-13")
105
+ }, [
106
+ r(k, {
107
+ src: e.value.brandLogo,
108
+ alt: e.value.brandName,
109
+ class: "h-full w-auto object-contain",
110
+ rounded: "md"
111
+ }, null, 8, ["src", "alt"])
112
+ ], 2)
95
113
  ]),
96
- a("div", {
97
- class: l((s.compact, "space-y-1"))
114
+ s("div", {
115
+ class: n(["flex-1 min-w-0", l.compact ? "space-y-0.5" : "space-y-1"])
98
116
  }, [
99
- e.value.status ? (t(), o("div", {
117
+ e.value.brandName ? (o(), a("p", {
100
118
  key: 0,
101
- class: l(["text-xs font-bold uppercase tracking-widest mb-1", d(D)(e.value.status)])
102
- }, u(e.value.status), 3)) : c("", !0),
103
- e.value.issuedDate ? (t(), o("div", E, [
104
- r[0] || (r[0] = a("span", { class: "text-muted-foreground font-medium w-24 md:w-auto" }, "Issued:", -1)),
105
- m(d(I), {
106
- value: e.value.issuedDate,
107
- type: "date",
108
- class: "font-medium"
109
- }, null, 8, ["value"])
110
- ])) : c("", !0),
111
- e.value.dueDate ? (t(), o("div", P, [
112
- r[1] || (r[1] = a("span", { class: "text-muted-foreground font-medium w-24 md:w-auto" }, "Due:", -1)),
113
- m(d(I), {
114
- value: e.value.dueDate,
115
- type: "date",
116
- class: "font-medium"
117
- }, null, 8, ["value"])
118
- ])) : c("", !0)
119
+ class: n(["font-bold text-foreground leading-tight truncate", l.compact ? "text-base" : "text-lg"])
120
+ }, t(e.value.brandName), 3)) : c("", !0),
121
+ e.value.brandTitle ? (o(), a("p", {
122
+ key: 1,
123
+ class: n(["text-muted-foreground font-medium truncate", l.compact ? "text-xs" : "text-sm"])
124
+ }, t(e.value.brandTitle), 3)) : c("", !0)
125
+ ], 2),
126
+ s("div", {
127
+ class: n(["text-right shrink-0", l.compact ? "space-y-2" : "space-y-3"])
128
+ }, [
129
+ s("div", null, [
130
+ s("h1", {
131
+ class: n(["font-black tracking-tight text-foreground uppercase", l.compact ? "text-2xl" : "text-3xl"])
132
+ }, t(i.value.invoice || "Invoice"), 3),
133
+ s("p", {
134
+ class: n(["text-muted-foreground font-medium mt-0.5", l.compact ? "text-xs" : "text-sm"])
135
+ }, " #" + t(e.value.invoiceNumber), 3)
136
+ ])
119
137
  ], 2)
138
+ ]),
139
+ s("div", {
140
+ class: n(["flex items-center gap-4 text-xs", l.compact ? "mt-2" : "mt-4"])
141
+ }, [
142
+ e.value.issuedDate ? (o(), a("div", S, [
143
+ s("span", C, t(i.value.issued || "Issued"), 1),
144
+ r(d(b), {
145
+ value: e.value.issuedDate,
146
+ type: "date",
147
+ class: "font-semibold text-foreground tabular-nums"
148
+ }, null, 8, ["value"])
149
+ ])) : c("", !0),
150
+ e.value.dueDate ? (o(), a("div", L, [
151
+ s("span", j, t(i.value.due || "Due"), 1),
152
+ r(d(b), {
153
+ value: e.value.dueDate,
154
+ type: "date",
155
+ class: "font-semibold text-foreground tabular-nums"
156
+ }, null, 8, ["value"])
157
+ ])) : c("", !0),
158
+ e.value.status ? (o(), z(B, {
159
+ key: 2,
160
+ status: e.value.status,
161
+ "hide-icon": "",
162
+ size: "small"
163
+ }, null, 8, ["status"])) : c("", !0)
120
164
  ], 2)
121
165
  ], 2),
122
- a("div", {
123
- class: l(s.compact ? "p-6 space-y-6" : "p-6 sm:p-8 space-y-8")
166
+ e.value.companyInfo || e.value.customerInfo ? (o(), a("div", {
167
+ key: 0,
168
+ class: n(["border-b border-border", l.compact ? "px-5 py-4" : "px-6 pt-4 pb-5"])
124
169
  }, [
125
- e.value.customerInfo ? (t(), o("div", {
126
- key: 0,
127
- class: l(s.compact ? "space-y-1" : "space-y-2")
128
- }, [
129
- r[2] || (r[2] = a("h3", { class: "text-sm font-semibold text-muted-foreground uppercase tracking-wider" }, " Billed To ", -1)),
130
- a("p", _, u(e.value.customerInfo.name), 1),
131
- a("div", F, [
132
- e.value.customerInfo.address ? (t(), o("p", G, u(e.value.customerInfo.address), 1)) : c("", !0),
133
- e.value.customerInfo.city || e.value.customerInfo.state ? (t(), o("p", K, [
134
- i(u(e.value.customerInfo.city), 1),
135
- e.value.customerInfo.city && e.value.customerInfo.state ? (t(), o(x, { key: 0 }, [
136
- i(", ")
137
- ], 64)) : c("", !0),
138
- i(u(e.value.customerInfo.state) + " " + u(e.value.customerInfo.zip), 1)
139
- ])) : c("", !0),
140
- e.value.customerInfo.country ? (t(), o("p", O, u(e.value.customerInfo.country), 1)) : c("", !0),
141
- e.value.customerInfo.email ? (t(), o("p", Q, u(e.value.customerInfo.email), 1)) : c("", !0),
142
- e.value.customerInfo.phone ? (t(), o("p", U, u(e.value.customerInfo.phone), 1)) : c("", !0),
143
- e.value.customerInfo.taxId ? (t(), o("p", A, "Tax ID: " + u(e.value.customerInfo.taxId), 1)) : c("", !0)
144
- ])
145
- ], 2)) : c("", !0),
146
- e.value.items && e.value.items.length ? (t(), o("div", {
147
- key: 1,
148
- class: "overflow-x-auto rounded-lg border border-border",
149
- style: g({
150
- "--text-sm": s.compact ? "13px" : "14px"
151
- })
170
+ s("div", E, [
171
+ e.value.companyInfo ? (o(), a("div", F, [
172
+ s("p", {
173
+ class: n(["text-muted-foreground uppercase tracking-widest font-semibold mb-2", l.compact ? "text-[9px]" : "text-[10px]"])
174
+ }, t(i.value.from || "From"), 3),
175
+ e.value.brandName ? (o(), a("p", {
176
+ key: 0,
177
+ class: n(["font-bold text-foreground", l.compact ? "text-sm" : "text-base"])
178
+ }, t(e.value.brandName), 3)) : c("", !0),
179
+ s("div", {
180
+ class: n(["text-muted-foreground leading-snug mt-1", l.compact ? "text-xs space-y-0.5" : "text-sm space-y-0.5"])
181
+ }, [
182
+ e.value.companyInfo.address ? (o(), a("p", U, t(e.value.companyInfo.address), 1)) : c("", !0),
183
+ e.value.companyInfo.city || e.value.companyInfo.state || e.value.companyInfo.zip ? (o(), a("p", K, [
184
+ m(t(e.value.companyInfo.city), 1),
185
+ e.value.companyInfo.city && e.value.companyInfo.state ? (o(), a(x, { key: 0 }, [
186
+ m(", ")
187
+ ], 64)) : c("", !0),
188
+ m(t(e.value.companyInfo.state) + " " + t(e.value.companyInfo.zip), 1)
189
+ ])) : c("", !0),
190
+ e.value.companyInfo.country ? (o(), a("p", O, t(e.value.companyInfo.country), 1)) : c("", !0),
191
+ e.value.companyInfo.email ? (o(), a("p", P, t(e.value.companyInfo.email), 1)) : c("", !0),
192
+ e.value.companyInfo.phone ? (o(), a("p", Q, t(e.value.companyInfo.phone), 1)) : c("", !0),
193
+ e.value.companyInfo.taxId ? (o(), a("p", A, t(i.value.taxId || "Tax ID") + ": " + t(e.value.companyInfo.taxId), 1)) : c("", !0)
194
+ ], 2)
195
+ ])) : c("", !0),
196
+ e.value.customerInfo ? (o(), a("div", G, [
197
+ s("p", {
198
+ class: n(["text-muted-foreground uppercase tracking-widest font-semibold mb-2", l.compact ? "text-[9px]" : "text-[10px]"])
199
+ }, t(i.value.billedTo || "Billed To"), 3),
200
+ s("p", {
201
+ class: n(["font-bold text-foreground", l.compact ? "text-sm" : "text-base"])
202
+ }, t(e.value.customerInfo.name), 3),
203
+ s("div", {
204
+ class: n(["text-muted-foreground leading-snug mt-1", l.compact ? "text-xs space-y-0.5" : "text-sm space-y-0.5"])
205
+ }, [
206
+ e.value.customerInfo.address ? (o(), a("p", H, t(e.value.customerInfo.address), 1)) : c("", !0),
207
+ e.value.customerInfo.city || e.value.customerInfo.state ? (o(), a("p", J, [
208
+ m(t(e.value.customerInfo.city), 1),
209
+ e.value.customerInfo.city && e.value.customerInfo.state ? (o(), a(x, { key: 0 }, [
210
+ m(", ")
211
+ ], 64)) : c("", !0),
212
+ m(t(e.value.customerInfo.state) + " " + t(e.value.customerInfo.zip), 1)
213
+ ])) : c("", !0),
214
+ e.value.customerInfo.country ? (o(), a("p", M, t(e.value.customerInfo.country), 1)) : c("", !0),
215
+ e.value.customerInfo.email ? (o(), a("p", R, t(e.value.customerInfo.email), 1)) : c("", !0),
216
+ e.value.customerInfo.phone ? (o(), a("p", W, t(e.value.customerInfo.phone), 1)) : c("", !0),
217
+ e.value.customerInfo.taxId ? (o(), a("p", X, t(i.value.taxId || "Tax ID") + ": " + t(e.value.customerInfo.taxId), 1)) : c("", !0)
218
+ ], 2)
219
+ ])) : c("", !0)
220
+ ])
221
+ ], 2)) : c("", !0),
222
+ e.value.items && e.value.items.length ? (o(), a("div", Y, [
223
+ s("table", {
224
+ class: n(["invoice-table", l.compact ? "text-xs" : "text-sm"])
152
225
  }, [
153
- a("table", {
154
- class: l(["w-full text-left whitespace-nowrap", s.compact ? "text-xs" : "text-sm"])
155
- }, [
156
- a("thead", H, [
157
- a("tr", null, [
158
- a("th", {
159
- scope: "col",
160
- class: l(s.compact ? "px-4 py-2" : "px-6 py-3")
161
- }, "Product", 2),
162
- a("th", {
163
- scope: "col",
164
- class: l(["text-right", s.compact ? "px-4 py-2" : "px-6 py-3"])
165
- }, " Qty ", 2),
166
- b.value ? (t(), o("th", {
167
- key: 0,
168
- scope: "col",
169
- class: l(["text-right", s.compact ? "px-4 py-2" : "px-6 py-3"])
170
- }, " Size ", 2)) : c("", !0),
171
- a("th", {
172
- scope: "col",
173
- class: l(["text-right", s.compact ? "px-4 py-2" : "px-6 py-3"])
174
- }, " Price ", 2),
175
- h.value ? (t(), o("th", {
176
- key: 1,
177
- scope: "col",
178
- class: l(["text-right", s.compact ? "px-4 py-2" : "px-6 py-3"])
179
- }, " Discount ", 2)) : c("", !0),
180
- a("th", {
181
- scope: "col",
182
- class: l(["text-right", s.compact ? "px-4 py-2" : "px-6 py-3"])
183
- }, " Total ", 2)
184
- ])
185
- ]),
186
- a("tbody", J, [
187
- (t(!0), o(x, null, k(e.value.items, (n, f) => (t(), o("tr", {
188
- key: n.id || f,
189
- class: "hover:bg-muted/50 transition-colors"
190
- }, [
191
- a("td", {
192
- class: l(s.compact ? "px-4 py-2" : "px-5 py-3")
193
- }, [
194
- a("div", M, [
195
- n.thumbnail ? (t(), o("div", {
196
- key: 0,
197
- class: l(["shrink-0 rounded-md bg-muted overflow-hidden border border-border/50", s.compact ? "w-8 h-8" : "w-10 h-10"])
198
- }, [
199
- a("img", {
200
- src: n.thumbnail,
201
- alt: n.name,
202
- class: "w-full h-full object-cover"
203
- }, null, 8, R)
204
- ], 2)) : c("", !0),
205
- a("div", W, [
206
- a("div", {
207
- class: "font-medium text-foreground truncate text-sm",
208
- title: n.name
209
- }, u(n.name), 9, X),
210
- n.sku ? (t(), o("div", {
211
- key: 0,
212
- class: "text-xs uppercase tracking-wider text-muted-foreground font-normal truncate",
213
- title: n.sku
214
- }, " SKU: " + u(n.sku), 9, Y)) : c("", !0),
215
- n.description && !s.compact ? (t(), o("div", Z, u(n.description), 1)) : c("", !0)
216
- ])
226
+ s("thead", Z, [
227
+ s("tr", null, [
228
+ s("th", ee, t(i.value.item || "Description"), 1),
229
+ s("th", te, t(i.value.qty || "Qty"), 1),
230
+ y.value ? (o(), a("th", oe, t(i.value.size || "Size"), 1)) : c("", !0),
231
+ s("th", ae, t(i.value.price || "Unit Price"), 1),
232
+ g.value ? (o(), a("th", se, t(i.value.discount || "Discount"), 1)) : c("", !0),
233
+ s("th", ce, t(i.value.total || "Total"), 1)
234
+ ])
235
+ ]),
236
+ s("tbody", le, [
237
+ (o(!0), a(x, null, D(e.value.items, (u, I) => (o(), a("tr", {
238
+ key: u.id || I,
239
+ class: "invoice-tr group"
240
+ }, [
241
+ s("td", ne, [
242
+ s("div", ue, [
243
+ u.thumbnail ? (o(), a("div", {
244
+ key: 0,
245
+ class: n(["shrink-0 overflow-hidden", l.compact ? "w-9 h-9" : "w-10 h-10"])
246
+ }, [
247
+ r(k, {
248
+ src: u.thumbnail,
249
+ alt: u.name,
250
+ class: "w-full h-full ronded!",
251
+ rounded: "md"
252
+ }, null, 8, ["src", "alt"])
253
+ ], 2)) : c("", !0),
254
+ s("div", ie, [
255
+ s("p", {
256
+ class: "font-semibold text-foreground whitespace-normal text-sm",
257
+ title: u.name
258
+ }, t(u.name), 9, re),
259
+ u.sku ? (o(), a("p", de, t(i.value.sku || "SKU") + ": " + t(u.sku), 1)) : c("", !0),
260
+ u.description && !l.compact ? (o(), a("p", me, t(u.description), 1)) : c("", !0)
217
261
  ])
218
- ], 2),
219
- a("td", {
220
- class: l(["text-right text-sm tabular-nums", s.compact ? "px-4 py-2" : "px-6 py-4"])
221
- }, u(n.quantity), 3),
222
- b.value ? (t(), o("td", {
223
- key: 0,
224
- class: l(["text-right tabular-nums text-muted-foreground text-sm", s.compact ? "px-4 py-2" : "px-6 py-4"])
225
- }, u(n.size || "-"), 3)) : c("", !0),
226
- a("td", {
227
- class: l(["text-right tabular-nums text-sm", s.compact ? "px-4 py-2" : "px-6 py-4"])
228
- }, [
229
- m(d(v), {
230
- value: n.price
231
- }, null, 8, ["value"])
232
- ], 2),
233
- h.value ? (t(), o("td", {
234
- key: 1,
235
- class: l(["text-right tabular-nums text-success/80 font-medium", s.compact ? "px-4 py-2" : "px-6 py-4"])
236
- }, [
237
- n.discount !== void 0 ? (t(), o("div", ee, [
238
- m(d(v), {
239
- value: -n.discount,
240
- class: "text-sm"
241
- }, null, 8, ["value"]),
242
- n.discountLabel ? (t(), o("span", te, u(n.discountLabel), 1)) : c("", !0)
243
- ])) : (t(), o("span", oe, "-"))
244
- ], 2)) : c("", !0),
245
- a("td", {
246
- class: l(["text-right tabular-nums font-medium", s.compact ? "px-4 py-2" : "px-6 py-4"])
247
- }, [
248
- m(d(v), {
249
- value: n.total,
262
+ ])
263
+ ]),
264
+ s("td", ve, t(u.quantity), 1),
265
+ y.value ? (o(), a("td", pe, t(u.size || "—"), 1)) : c("", !0),
266
+ s("td", xe, [
267
+ r(d(f), {
268
+ value: u.price,
269
+ class: "text-sm"
270
+ }, null, 8, ["value"])
271
+ ]),
272
+ g.value ? (o(), a("td", fe, [
273
+ u.discount !== void 0 ? (o(), a("div", he, [
274
+ r(d(f), {
275
+ value: -u.discount,
250
276
  class: "text-sm"
251
- }, null, 8, ["value"])
252
- ], 2)
253
- ]))), 128))
254
- ])
255
- ], 2)
256
- ], 4)) : c("", !0),
257
- a("div", {
258
- class: l(["flex flex-col-reverse md:flex-row justify-between", s.compact ? "gap-4 pt-2" : "gap-8 pt-4"])
277
+ }, null, 8, ["value"]),
278
+ u.discountLabel ? (o(), a("span", {
279
+ key: 0,
280
+ class: n(["uppercase tracking-wider font-bold text-muted-foreground", l.compact ? "text-[8px]" : "text-[9px]"])
281
+ }, t(u.discountLabel), 3)) : c("", !0)
282
+ ])) : (o(), a("span", ye, "—"))
283
+ ])) : c("", !0),
284
+ s("td", ge, [
285
+ r(d(f), {
286
+ value: u.total,
287
+ class: "text-sm"
288
+ }, null, 8, ["value"])
289
+ ])
290
+ ]))), 128))
291
+ ])
292
+ ], 2)
293
+ ])) : c("", !0),
294
+ s("div", {
295
+ class: n(l.compact ? "p-6" : "p-8")
296
+ }, [
297
+ s("div", {
298
+ class: n(["flex flex-col-reverse lg:flex-row justify-between", l.compact ? "gap-6" : "gap-8"])
259
299
  }, [
260
- a("div", {
261
- class: l(["w-full md:w-1/2", s.compact ? "space-y-3" : "space-y-6"])
300
+ s("div", {
301
+ class: n(["w-full lg:w-1/2 flex flex-col", l.compact ? "gap-4" : "gap-5"])
262
302
  }, [
263
- e.value.notes ? (t(), o("div", ae, [
264
- r[3] || (r[3] = a("h4", { class: "font-semibold text-muted-foreground uppercase tracking-wider text-sm" }, " Notes ", -1)),
265
- a("div", {
266
- class: l(["text-muted-foreground whitespace-pre-wrap leading-relaxed rounded-lg border border-border/50 text-sm", s.compact ? "p-3 bg-muted/20" : "p-4 bg-muted/30"])
267
- }, u(e.value.notes), 3)
303
+ e.value.notes ? (o(), a("div", be, [
304
+ s("p", {
305
+ class: n(["text-muted-foreground uppercase tracking-widest font-semibold mb-2", l.compact ? "text-[9px]" : "text-[10px]"])
306
+ }, t(i.value.notes || "Notes"), 3),
307
+ s("p", {
308
+ class: n(["text-muted-foreground whitespace-pre-wrap leading-relaxed", l.compact ? "text-xs" : "text-sm"])
309
+ }, t(e.value.notes), 3)
268
310
  ])) : c("", !0),
269
- a("div", se, [
270
- e.value.qrcode ? (t(), o("div", ce, [
271
- m(d(T), {
272
- text: e.value.qrcode,
273
- size: s.compact ? 64 : 80
274
- }, null, 8, ["text", "size"])
311
+ e.value.qrcode || e.value.barcode ? (o(), a("div", ke, [
312
+ e.value.qrcode ? (o(), a("div", Ie, [
313
+ r(d(T), {
314
+ value: e.value.qrcode,
315
+ size: l.compact ? 48 : 56
316
+ }, null, 8, ["value", "size"])
275
317
  ])) : c("", !0),
276
- e.value.barcode ? (t(), o("div", le, [
277
- m(d(N), {
318
+ e.value.barcode ? (o(), a("div", _e, [
319
+ r(d(N), {
278
320
  value: e.value.barcode,
279
321
  format: "CODE128",
280
- height: s.compact ? 32 : 40,
281
- width: s.compact ? 1.3 : 1.5
282
- }, null, 8, ["value", "height", "width"])
322
+ height: l.compact ? 24 : 30,
323
+ width: l.compact ? 1.2 : 1.4,
324
+ "display-value": l.displayBarcodeValue
325
+ }, null, 8, ["value", "height", "width", "display-value"])
283
326
  ])) : c("", !0)
284
- ])
327
+ ])) : c("", !0)
285
328
  ], 2),
286
- a("div", ue, [
287
- a("div", {
288
- class: l(["rounded-lg bg-muted/20 border border-border", s.compact ? "p-4 space-y-2" : "p-5 space-y-3"])
289
- }, [
290
- (t(!0), o(x, null, k(e.value.totals, (n, f) => (t(), o("div", {
291
- key: f,
292
- class: l(["flex justify-between items-center", [
293
- n.isGrandTotal ? s.compact ? "pt-2 border-t border-border mt-2 text-base font-bold text-foreground" : "pt-3 border-t border-border mt-3 text-base font-bold text-foreground" : "text-sm text-muted-foreground font-medium"
294
- ]])
295
- }, [
296
- a("span", null, u(n.label), 1),
297
- m(d(v), {
298
- value: n.value
299
- }, null, 8, ["value"])
300
- ], 2))), 128))
301
- ], 2)
329
+ s("div", we, [
330
+ r(V, {
331
+ totals: e.value.totals,
332
+ compact: l.compact,
333
+ variant: "Variant1"
334
+ }, null, 8, ["totals", "compact"])
302
335
  ])
303
336
  ], 2)
304
337
  ], 2),
305
- e.value.footerText ? (t(), o("div", {
306
- key: 0,
307
- class: l(["bg-muted/40 border-t border-border text-center text-muted-foreground", s.compact ? "px-6 py-3 text-xs" : "px-6 py-4 text-xs"])
308
- }, u(e.value.footerText), 3)) : c("", !0)
338
+ e.value.footerText ? (o(), a("div", {
339
+ key: 2,
340
+ class: n(["border-t border-border text-center text-muted-foreground font-medium uppercase tracking-widest", l.compact ? "px-6 py-3 text-[9px]" : "px-6 py-4 text-[10px]"])
341
+ }, t(e.value.footerText), 3)) : c("", !0)
309
342
  ], 4));
310
343
  }
311
344
  });
312
345
  export {
313
- xe as default
346
+ Ce as default
314
347
  };