vlite3 1.1.2 → 1.1.5

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