vlite3 1.0.10 → 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 (113) hide show
  1. package/README.md +4 -1
  2. package/components/AttachmentsList/AttachmentsList.vue.d.ts +1 -16
  3. package/components/AttachmentsList/AttachmentsList.vue.js +191 -167
  4. package/components/AvatarGroup/AvatarGroup.vue.d.ts +24 -0
  5. package/components/AvatarGroup/AvatarGroup.vue.js +91 -0
  6. package/components/AvatarGroup/AvatarGroup.vue2.js +4 -0
  7. package/components/AvatarGroup/index.d.ts +2 -0
  8. package/components/AvatarUploader/AvatarUploader.vue.d.ts +1 -1
  9. package/components/Barcode/Barcode.vue.js +6 -5
  10. package/components/Button.vue.d.ts +1 -1
  11. package/components/Calendar/Calendar.vue.d.ts +229 -0
  12. package/components/Calendar/Calendar.vue.js +7 -0
  13. package/components/Calendar/Calendar.vue2.js +186 -0
  14. package/components/Calendar/CalendarEventItem.vue.d.ts +17 -0
  15. package/components/Calendar/CalendarEventItem.vue.js +111 -0
  16. package/components/Calendar/CalendarEventItem.vue2.js +4 -0
  17. package/components/Calendar/index.d.ts +2 -0
  18. package/components/Carousel/Carousel.vue.d.ts +2 -2
  19. package/components/CategoryManager/CategoryManager.vue.d.ts +2 -1
  20. package/components/CategoryManager/CategoryManager.vue.js +322 -0
  21. package/components/CategoryManager/CategoryManager.vue2.js +4 -0
  22. package/components/CategoryManager/CategoryNode.vue.js +224 -0
  23. package/components/CategoryManager/CategoryNode.vue2.js +4 -0
  24. package/components/CategoryManager/types.d.ts +14 -0
  25. package/components/Chip/Chip.vue.d.ts +2 -2
  26. package/components/ColorPicker/ColorIro.vue3.js +2 -2
  27. package/components/ColorPicker/ColorPicker.vue.js +2 -2
  28. package/components/CommandPalette/CommandPaletteContent.vue.js +1 -1
  29. package/components/CommandPalette/CommandPaletteContent.vue2.js +7 -7
  30. package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
  31. package/components/ConfirmationModal.vue.d.ts +2 -2
  32. package/components/CustomFieldsDisplay/CustomFieldsDisplay.vue.d.ts +48 -0
  33. package/components/CustomFieldsDisplay/CustomFieldsDisplay.vue.js +97 -0
  34. package/components/CustomFieldsDisplay/CustomFieldsDisplay.vue2.js +4 -0
  35. package/components/CustomFieldsDisplay/index.d.ts +2 -0
  36. package/components/CustomFieldsDisplay/types.d.ts +18 -0
  37. package/components/DataTable/DataTable.vue.d.ts +3 -3
  38. package/components/DateTime/DateTime.vue.d.ts +2 -0
  39. package/components/DateTime/DateTime.vue.js +9 -23
  40. package/components/Dropdown/Dropdown.vue.d.ts +3 -3
  41. package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +1 -1
  42. package/components/Dropdown/DropdownMenu.vue.d.ts +2 -2
  43. package/components/Dropdown/DropdownTrigger.vue.d.ts +1 -1
  44. package/components/FilePicker/FilePicker.vue.d.ts +1 -1
  45. package/components/Form/CustomFields.vue.d.ts +1 -1
  46. package/components/Form/Form.vue.js +2 -2
  47. package/components/Form/Form.vue2.js +230 -241
  48. package/components/Form/FormField.vue.d.ts +1 -1
  49. package/components/Form/composables/useForm.d.ts +2 -0
  50. package/components/Form/composables/useForm.js +76 -69
  51. package/components/Form/utils/form.utils.js +66 -66
  52. package/components/ImportData/ImportData.vue.js +48 -48
  53. package/components/ImportData/ImportStep2.vue.js +116 -5
  54. package/components/ImportData/ImportStep2.vue2.js +2 -105
  55. package/components/Input.vue.d.ts +3 -3
  56. package/components/Invoice/Invoice.vue.d.ts +3 -0
  57. package/components/Invoice/Invoice.vue.js +38 -0
  58. package/components/Invoice/Invoice.vue2.js +4 -0
  59. package/components/Invoice/InvoiceVariant1.vue.d.ts +13 -0
  60. package/components/Invoice/InvoiceVariant1.vue.js +360 -0
  61. package/components/Invoice/InvoiceVariant1.vue2.js +4 -0
  62. package/components/Invoice/InvoiceVariant2.vue.d.ts +13 -0
  63. package/components/Invoice/InvoiceVariant2.vue.js +226 -0
  64. package/components/Invoice/InvoiceVariant2.vue2.js +4 -0
  65. package/components/Invoice/InvoiceVariant3.vue.d.ts +13 -0
  66. package/components/Invoice/InvoiceVariant3.vue.js +292 -0
  67. package/components/Invoice/InvoiceVariant3.vue2.js +4 -0
  68. package/components/Invoice/InvoiceVariant4.vue.d.ts +13 -0
  69. package/components/Invoice/InvoiceVariant4.vue.js +343 -0
  70. package/components/Invoice/InvoiceVariant4.vue2.js +4 -0
  71. package/components/Invoice/index.d.ts +2 -0
  72. package/components/Invoice/types.d.ts +97 -0
  73. package/components/List/List.vue.d.ts +1 -9
  74. package/components/List/List.vue.js +166 -165
  75. package/components/List/ListFieldRow.vue.d.ts +10 -2
  76. package/components/List/ListFieldRow.vue.js +80 -78
  77. package/components/List/utils.d.ts +2 -1
  78. package/components/List/utils.js +8 -39
  79. package/components/MultiSelect/MultiSelect.vue.d.ts +1 -1
  80. package/components/Navbar/NavbarItem.vue.d.ts +1 -1
  81. package/components/Navbar/NavbarTabs.vue.js +2 -2
  82. package/components/NavbarCommandPalette.vue.js +1 -1
  83. package/components/NumberInput.vue.d.ts +2 -2
  84. package/components/NumberInput.vue.js +2 -2
  85. package/components/NumberInput.vue2.js +38 -38
  86. package/components/OTPInput/OTPInput.vue.d.ts +1 -1
  87. package/components/PricingPlan/PricingPlan.vue.d.ts +1 -1
  88. package/components/Screen/ScreenFilter.vue.js +22 -21
  89. package/components/Screen/components/ScreenQuickFilters.vue.js +6 -5
  90. package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
  91. package/components/Stats/Stats.vue.d.ts +1 -1
  92. package/components/StatusChip/status-map.js +27 -7
  93. package/components/Tabes/Tabes.vue.d.ts +1 -0
  94. package/components/Tabes/Tabes.vue.js +2 -2
  95. package/components/Tabes/Tabes.vue2.js +33 -32
  96. package/components/ThumbnailSelector/ThumbnailSelector.vue.d.ts +2 -2
  97. package/components/ThumbnailSelector/ThumbnailSelector.vue.js +2 -2
  98. package/components/ThumbnailSelector/ThumbnailSelector.vue2.js +141 -115
  99. package/components/Workbook/Workbook.vue.d.ts +3 -3
  100. package/core/config.d.ts +76 -0
  101. package/core/index.js +17 -5
  102. package/index.d.ts +6 -1
  103. package/index.js +271 -256
  104. package/package.json +2 -1
  105. package/style.css +5 -3
  106. package/types/config.type.d.ts +6 -0
  107. package/types/list.type.d.ts +6 -0
  108. package/utils/configUtils.d.ts +9 -0
  109. package/utils/configUtils.js +7 -0
  110. package/utils/index.d.ts +1 -0
  111. package/utils/status.d.ts +5 -0
  112. package/utils/status.js +33 -0
  113. /package/components/ColorPicker/{ColorIro.vue.js → ColorIro.vue2.js} +0 -0
@@ -0,0 +1,97 @@
1
+ export type InvoiceVariant = 'Variant1' | 'Variant2' | 'Variant3' | 'Variant4';
2
+ export interface InvoiceCustomerInfo {
3
+ name: string;
4
+ address?: string;
5
+ city?: string;
6
+ state?: string;
7
+ zip?: string;
8
+ country?: string;
9
+ email?: string;
10
+ phone?: string;
11
+ taxId?: string;
12
+ [key: string]: any;
13
+ }
14
+ export interface InvoiceCompanyInfo {
15
+ name: string;
16
+ address?: string;
17
+ city?: string;
18
+ state?: string;
19
+ zip?: string;
20
+ country?: string;
21
+ email?: string;
22
+ phone?: string;
23
+ website?: string;
24
+ taxId?: string;
25
+ [key: string]: any;
26
+ }
27
+ export interface InvoiceLineItem {
28
+ id: string | number;
29
+ /** Thumbnail image URL for the product */
30
+ thumbnail?: string;
31
+ /** Product SKU */
32
+ sku?: string;
33
+ name: string;
34
+ description?: string;
35
+ /** Product size or variation */
36
+ size?: string;
37
+ quantity: number;
38
+ price: number;
39
+ /** Discount amount applied to this line item */
40
+ discount?: number;
41
+ /** Optional label for the discount, e.g. "10% OFF" */
42
+ discountLabel?: string;
43
+ total: number;
44
+ [key: string]: any;
45
+ }
46
+ export interface InvoiceTotal {
47
+ label: string;
48
+ value: number;
49
+ isGrandTotal?: boolean;
50
+ isSubtotal?: boolean;
51
+ isTax?: boolean;
52
+ isDiscount?: boolean;
53
+ }
54
+ export interface InvoiceData {
55
+ /** Reference to the image URL for the brand logo */
56
+ brandLogo?: string;
57
+ /** Title such as "INVOICE" or "RECEIPT" */
58
+ brandTitle?: string;
59
+ /** Name of the brand or company issuing the invoice */
60
+ brandName?: string;
61
+ /** The physical/contact info of the issuer */
62
+ companyInfo?: InvoiceCompanyInfo;
63
+ invoiceNumber: string;
64
+ /** The status string to display, e.g., "Paid", "Pending" */
65
+ status?: string;
66
+ /** Issue date of the invoice */
67
+ issuedDate?: string | Date;
68
+ /** Due date of the invoice */
69
+ dueDate?: string | Date;
70
+ /** Customer details */
71
+ customerInfo?: InvoiceCustomerInfo;
72
+ /** Array of line items */
73
+ items: InvoiceLineItem[];
74
+ /** Array of totals to display at the bottom */
75
+ totals: InvoiceTotal[];
76
+ /** A barcode string */
77
+ barcode?: string;
78
+ /** A QR Code string */
79
+ qrcode?: string;
80
+ /** Additional notes at the bottom of the invoice */
81
+ notes?: string;
82
+ /** Footer text, usually for terms and conditions */
83
+ footerText?: string;
84
+ }
85
+ export interface InvoiceProps {
86
+ data: InvoiceData;
87
+ variant?: InvoiceVariant;
88
+ /**
89
+ * When true, reduces padding, spacing, and font sizes across the invoice
90
+ * for a more compact, print-friendly layout that uses less paper.
91
+ */
92
+ compact?: boolean;
93
+ /**
94
+ * Whether to display the text value underneath the barcode
95
+ */
96
+ displayBarcodeValue?: boolean;
97
+ }
@@ -1,15 +1,7 @@
1
1
  import { ListProps } from './types';
2
2
  declare function __VLS_template(): any;
3
3
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
4
- declare const __VLS_component: import('vue').DefineComponent<ListProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ListProps> & Readonly<{}>, {
5
- class: string;
6
- variant: import('./types').ListVariant;
7
- loading: boolean;
8
- columns: import('./types').ListColumns;
9
- showColon: boolean;
10
- stackedBorderStyle: import('./types').StackedBorderStyle;
11
- skeletonRows: number;
12
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
4
+ declare const __VLS_component: import('vue').DefineComponent<ListProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ListProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
5
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
14
6
  export default _default;
15
7
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,21 +1,22 @@
1
- import { defineComponent as J, useSlots as K, computed as h, openBlock as r, createElementBlock as n, normalizeClass as C, renderSlot as p, createBlock as x, createCommentVNode as k, createElementVNode as d, toDisplayString as N, Fragment as f, renderList as g, unref as S, isMemoSame as B, createSlots as j, withCtx as L, mergeProps as M } from "vue";
2
- import Q from "../Icon.vue.js";
3
- import F from "./ListFieldRow.vue.js";
4
- import { $t as U } from "../../utils/i18n.js";
5
- import { getObjectValue as I } from "./utils.js";
6
- const W = {
1
+ import { defineComponent as X, computed as u, useSlots as Y, openBlock as r, createElementBlock as o, normalizeClass as C, renderSlot as x, createBlock as S, createCommentVNode as h, createElementVNode as d, toDisplayString as Z, Fragment as f, renderList as g, unref as L, isMemoSame as M, createSlots as R, withCtx as F, mergeProps as V } from "vue";
2
+ import ee from "../Icon.vue.js";
3
+ import D from "./ListFieldRow.vue.js";
4
+ import { $t as te } from "../../utils/i18n.js";
5
+ import { getComponentConfig as re } from "../../utils/configUtils.js";
6
+ import { getObjectValue as $ } from "./utils.js";
7
+ const le = {
7
8
  key: 0,
8
9
  class: "px-3 py-2.5 border-b border-border/70 flex items-center gap-2 bg-muted/60"
9
- }, X = { class: "text-sm font-semibold text-gray-900 tracking-tight" }, Y = { class: "sm:hidden" }, Z = { class: "hidden sm:block" }, _ = { class: "sm:hidden" }, ee = { class: "hidden sm:block" }, te = {
10
+ }, oe = { class: "text-sm font-semibold text-gray-900 tracking-tight" }, se = { class: "sm:hidden" }, ne = { class: "hidden sm:block" }, ae = { class: "sm:hidden" }, ue = { class: "hidden sm:block" }, de = {
10
11
  key: 0,
11
12
  class: "px-3 py-8 text-center text-sm text-muted-foreground"
12
- }, re = { key: 1 }, oe = { key: 2 }, le = {
13
+ }, ie = { key: 1 }, ve = { key: 2 }, me = {
13
14
  key: 1,
14
15
  class: "px-3 py-8 text-center text-sm text-muted-foreground"
15
- }, ne = {
16
+ }, ce = {
16
17
  key: 3,
17
18
  class: "border-t border-border/70 px-3 py-2.5"
18
- }, me = /* @__PURE__ */ J({
19
+ }, pe = /* @__PURE__ */ X({
19
20
  __name: "List",
20
21
  props: {
21
22
  fields: {},
@@ -23,42 +24,42 @@ const W = {
23
24
  title: {},
24
25
  titleI18n: {},
25
26
  titleIcon: {},
26
- columns: { default: 2 },
27
- variant: { default: "default" },
28
- class: { default: "" },
29
- showColon: { type: Boolean, default: !0 },
30
- loading: { type: Boolean, default: !1 },
31
- skeletonRows: { default: 6 },
32
- stackedBorderStyle: { default: "none" }
27
+ columns: {},
28
+ variant: {},
29
+ class: {},
30
+ showColon: { type: Boolean },
31
+ loading: { type: Boolean },
32
+ skeletonRows: {},
33
+ stackedBorderStyle: {}
33
34
  },
34
- setup(s) {
35
- const o = s, G = K(), y = h(() => o.fields.filter((l) => {
36
- const u = I(l.key, o.data);
37
- return l.whenTrue && !u ? !1 : l.when ? l.when(u, o.data) : !0;
38
- })), i = h(() => {
39
- if (o.columns === 1)
40
- return { left: [], right: [], full: y.value };
41
- const l = [], u = [], t = [];
42
- for (const m of y.value) {
43
- if (m.lineByLine) {
44
- t.push(m);
35
+ setup(B) {
36
+ const a = B, I = re("list") || {}, k = u(() => a.columns ?? I.columns ?? 2), y = u(() => a.variant ?? I.variant ?? "default"), J = u(() => a.class ?? I.class ?? ""), p = u(() => a.showColon ?? I.showColon ?? !0), K = u(() => a.skeletonRows ?? I.skeletonRows ?? 6), T = u(() => a.stackedBorderStyle ?? I.stackedBorderStyle ?? "none"), N = Y(), w = u(() => a.fields.filter((l) => {
37
+ const n = $(l.key, a.data);
38
+ return l.whenTrue && !n ? !1 : l.when ? l.when(n, a.data) : !0;
39
+ })), i = u(() => {
40
+ if (k.value === 1)
41
+ return { left: [], right: [], full: w.value };
42
+ const l = [], n = [], t = [];
43
+ for (const v of w.value) {
44
+ if (v.lineByLine) {
45
+ t.push(v);
45
46
  continue;
46
47
  }
47
- l.length <= u.length ? l.push(m) : u.push(m);
48
+ l.length <= n.length ? l.push(v) : n.push(v);
48
49
  }
49
- const e = Math.abs(l.length - u.length);
50
+ const e = Math.abs(l.length - n.length);
50
51
  if (e >= 2) {
51
- const m = l.length > u.length ? l : u, a = m.splice(m.length - Math.floor(e / 2));
52
- t.unshift(...a);
52
+ const v = l.length > n.length ? l : n, s = v.splice(v.length - Math.floor(e / 2));
53
+ t.unshift(...s);
53
54
  }
54
- if (o.columns === 2 && l.length === u.length + 1) {
55
- const m = l.pop();
56
- t.unshift(m);
55
+ if (k.value === 2 && l.length === n.length + 1) {
56
+ const v = l.pop();
57
+ t.unshift(v);
57
58
  }
58
- return { left: l, right: u, full: t };
59
- }), D = h(() => i.value.full.length > 0), P = h(
59
+ return { left: l, right: n, full: t };
60
+ }), O = u(() => i.value.full.length > 0), Q = u(
60
61
  () => i.value.left.length > 0 || i.value.right.length > 0
61
- ), E = h(() => o.titleI18n ? U(o.titleI18n) : o.title ?? ""), O = h(() => o.variant === "stacked"), q = h(() => {
62
+ ), z = u(() => a.titleI18n ? te(a.titleI18n) : a.title ?? ""), A = u(() => y.value === "stacked"), U = u(() => {
62
63
  const l = {
63
64
  default: "border border-border rounded",
64
65
  card: "border border-border rounded bg-card shadow-sm",
@@ -70,230 +71,230 @@ const W = {
70
71
  };
71
72
  return [
72
73
  "list-component w-full overflow-hidden",
73
- l[o.variant] ?? l.default,
74
- o.class
74
+ l[y.value] ?? l.default,
75
+ J.value
75
76
  ].join(" ");
76
- }), R = h(() => o.columns === 1 ? "grid grid-cols-1" : o.columns === 3 ? "grid grid-cols-1 md:grid-cols-3" : "grid grid-cols-1 md:grid-cols-2"), T = h(() => o.columns === 1 ? "" : "border-r border-border/70"), z = h(() => o.columns === 1 ? 1 : o.columns === 3 ? 3 : 2), A = h(() => o.columns === 1 ? "grid grid-cols-1 pb-2.5 pt-1 px-1" : o.columns === 3 ? "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 pb-2.5 pt-1 px-1" : "grid grid-cols-1 sm:grid-cols-2 pb-2.5 pt-1 px-1"), $ = h(
77
- () => Object.keys(G).filter((l) => !["title", "header", "footer"].includes(l))
78
- ), V = h(() => Array.from({ length: o.skeletonRows }));
79
- function H(l) {
80
- return o.stackedBorderStyle === "divider" && l % z.value !== 0 ? "flex flex-col gap-1.5 py-2 border-l border-border pl-4 pr-3.5" : "flex flex-col gap-1.5 px-3.5 py-2";
77
+ }), G = u(() => k.value === 1 ? "grid grid-cols-1" : k.value === 3 ? "grid grid-cols-1 md:grid-cols-3" : "grid grid-cols-1 md:grid-cols-2"), P = u(() => k.value === 1 ? "" : "border-r border-border/70"), q = u(() => k.value === 1 ? 1 : k.value === 3 ? 3 : 2), H = u(() => k.value === 1 ? "grid grid-cols-1 pb-2.5 pt-1 px-1" : k.value === 3 ? "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 pb-2.5 pt-1 px-1" : "grid grid-cols-1 sm:grid-cols-2 pb-2.5 pt-1 px-1"), j = u(
78
+ () => Object.keys(N).filter((l) => !["title", "header", "footer"].includes(l))
79
+ ), E = u(() => Array.from({ length: K.value }));
80
+ function W(l) {
81
+ return T.value === "divider" && l % q.value !== 0 ? "flex flex-col gap-1.5 py-2 border-l border-border pl-4 pr-3.5" : "flex flex-col gap-1.5 px-3.5 py-2";
81
82
  }
82
- return (l, u) => (r(), n("div", {
83
- class: C(q.value),
83
+ return (l, n) => (r(), o("div", {
84
+ class: C(U.value),
84
85
  role: "table",
85
86
  "aria-label": "Information list"
86
87
  }, [
87
- E.value || s.titleIcon || l.$slots.title ? (r(), n("div", W, [
88
- p(l.$slots, "title", {}, () => [
89
- s.titleIcon ? (r(), x(Q, {
88
+ z.value || B.titleIcon || l.$slots.title ? (r(), o("div", le, [
89
+ x(l.$slots, "title", {}, () => [
90
+ B.titleIcon ? (r(), S(ee, {
90
91
  key: 0,
91
- icon: s.titleIcon,
92
+ icon: B.titleIcon,
92
93
  class: "w-4 h-4 text-muted-foreground shrink-0"
93
- }, null, 8, ["icon"])) : k("", !0),
94
- d("h3", X, N(E.value), 1)
94
+ }, null, 8, ["icon"])) : h("", !0),
95
+ d("h3", oe, Z(z.value), 1)
95
96
  ])
96
- ])) : k("", !0),
97
- s.loading ? (r(), n(f, { key: 1 }, [
98
- O.value ? (r(), n(f, { key: 0 }, [
99
- d("div", Y, [
100
- (r(!0), n(f, null, g(V.value, (t, e) => (r(), n("div", {
97
+ ])) : h("", !0),
98
+ B.loading ? (r(), o(f, { key: 1 }, [
99
+ A.value ? (r(), o(f, { key: 0 }, [
100
+ d("div", se, [
101
+ (r(!0), o(f, null, g(E.value, (t, e) => (r(), o("div", {
101
102
  key: "sk-sm-" + e,
102
103
  class: "flex justify-between gap-3 px-3 py-2.5 border-b border-border/70 last:border-b-0"
103
- }, [...u[10] || (u[10] = [
104
+ }, [...n[10] || (n[10] = [
104
105
  d("div", { class: "h-4 w-1/3 rounded bg-muted animate-pulse" }, null, -1),
105
106
  d("div", { class: "h-4 w-2/5 rounded bg-muted/60 animate-pulse" }, null, -1)
106
107
  ])]))), 128))
107
108
  ]),
108
- d("div", Z, [
109
+ d("div", ne, [
109
110
  d("div", {
110
- class: C(A.value)
111
+ class: C(H.value)
111
112
  }, [
112
- (r(!0), n(f, null, g(V.value, (t, e) => (r(), n("div", {
113
+ (r(!0), o(f, null, g(E.value, (t, e) => (r(), o("div", {
113
114
  key: "sk-s-" + e,
114
- class: C(H(e))
115
- }, [...u[11] || (u[11] = [
115
+ class: C(W(e))
116
+ }, [...n[11] || (n[11] = [
116
117
  d("div", { class: "h-3 w-1/3 rounded bg-muted/60 animate-pulse" }, null, -1),
117
118
  d("div", { class: "h-4 w-2/3 rounded bg-muted animate-pulse" }, null, -1)
118
119
  ])], 2))), 128))
119
120
  ], 2)
120
121
  ])
121
- ], 64)) : (r(), n("div", {
122
+ ], 64)) : (r(), o("div", {
122
123
  key: 1,
123
- class: C(R.value)
124
+ class: C(G.value)
124
125
  }, [
125
126
  d("div", null, [
126
- (r(!0), n(f, null, g(V.value, (t, e) => (r(), n("div", {
127
+ (r(!0), o(f, null, g(E.value, (t, e) => (r(), o("div", {
127
128
  key: "sk-l-" + e,
128
129
  class: "flex justify-between gap-3 px-3 py-2.5 border-b border-border/70 last:border-b-0"
129
- }, [...u[12] || (u[12] = [
130
+ }, [...n[12] || (n[12] = [
130
131
  d("div", { class: "h-4 w-1/3 rounded bg-muted animate-pulse" }, null, -1),
131
132
  d("div", { class: "h-4 w-2/5 rounded bg-muted/60 animate-pulse" }, null, -1)
132
133
  ])]))), 128))
133
134
  ]),
134
- s.columns !== 1 ? (r(), n("div", {
135
+ k.value !== 1 ? (r(), o("div", {
135
136
  key: 0,
136
- class: C(T.value)
137
+ class: C(P.value)
137
138
  }, [
138
- (r(!0), n(f, null, g(V.value, (t, e) => (r(), n("div", {
139
+ (r(!0), o(f, null, g(E.value, (t, e) => (r(), o("div", {
139
140
  key: "sk-r-" + e,
140
141
  class: "flex justify-between gap-3 px-3 py-2.5 border-b border-border/70 last:border-b-0"
141
- }, [...u[13] || (u[13] = [
142
+ }, [...n[13] || (n[13] = [
142
143
  d("div", { class: "h-4 w-1/3 rounded bg-muted animate-pulse" }, null, -1),
143
144
  d("div", { class: "h-4 w-2/5 rounded bg-muted/60 animate-pulse" }, null, -1)
144
145
  ])]))), 128))
145
- ], 2)) : k("", !0)
146
+ ], 2)) : h("", !0)
146
147
  ], 2))
147
- ], 64)) : (r(), n(f, { key: 2 }, [
148
- O.value ? (r(), n(f, { key: 0 }, [
149
- d("div", _, [
150
- (r(!0), n(f, null, g(y.value, (t, e, m, a) => {
151
- const v = [t, S(I)(t.key, o.data), s.variant, s.showColon];
152
- if (a && a.key === "mob-" + t.key + e && B(a, v)) return a;
153
- const c = (r(), x(F, {
148
+ ], 64)) : (r(), o(f, { key: 2 }, [
149
+ A.value ? (r(), o(f, { key: 0 }, [
150
+ d("div", ae, [
151
+ (r(!0), o(f, null, g(w.value, (t, e, v, s) => {
152
+ const m = [t, L($)(t.key, a.data), y.value, p.value];
153
+ if (s && s.key === "mob-" + t.key + e && M(s, m)) return s;
154
+ const c = (r(), S(D, {
154
155
  key: "mob-" + t.key + e,
155
156
  field: t,
156
- data: o.data,
157
+ data: a.data,
157
158
  index: e,
158
159
  variant: "default",
159
- "show-colon": s.showColon,
160
- "is-last": e === y.value.length - 1,
161
- "show-border-bottom": e < y.value.length - 1
162
- }, j({ _: 2 }, [
163
- g($.value, (b) => ({
160
+ "show-colon": p.value,
161
+ "is-last": e === w.value.length - 1,
162
+ "show-border-bottom": e < w.value.length - 1
163
+ }, R({ _: 2 }, [
164
+ g(j.value, (b) => ({
164
165
  name: b,
165
- fn: L((w) => [
166
- p(l.$slots, b, M({ ref_for: !0 }, w))
166
+ fn: F((_) => [
167
+ x(l.$slots, b, V({ ref_for: !0 }, _))
167
168
  ])
168
169
  }))
169
170
  ]), 1032, ["field", "data", "index", "show-colon", "is-last", "show-border-bottom"]));
170
- return c.memo = v, c;
171
- }, u, 0), 128))
171
+ return c.memo = m, c;
172
+ }, n, 0), 128))
172
173
  ]),
173
- d("div", ee, [
174
+ d("div", ue, [
174
175
  d("div", {
175
- class: C(A.value)
176
+ class: C(H.value)
176
177
  }, [
177
- (r(!0), n(f, null, g(y.value, (t, e, m, a) => {
178
- const v = [t, S(I)(t.key, o.data), s.variant, s.showColon];
179
- if (a && a.key === t.key + e && B(a, v)) return a;
180
- const c = (r(), x(F, {
178
+ (r(!0), o(f, null, g(w.value, (t, e, v, s) => {
179
+ const m = [t, L($)(t.key, a.data), y.value, p.value];
180
+ if (s && s.key === t.key + e && M(s, m)) return s;
181
+ const c = (r(), S(D, {
181
182
  key: t.key + e,
182
183
  field: t,
183
- data: o.data,
184
+ data: a.data,
184
185
  index: e,
185
- variant: s.variant,
186
+ variant: y.value,
186
187
  "show-colon": !1,
187
- "is-last": e === y.value.length - 1,
188
+ "is-last": e === w.value.length - 1,
188
189
  "show-border-bottom": !1,
189
- "stacked-col-index": e % z.value,
190
- "stacked-border-style": s.stackedBorderStyle
191
- }, j({ _: 2 }, [
192
- g($.value, (b) => ({
190
+ "stacked-col-index": e % q.value,
191
+ "stacked-border-style": T.value
192
+ }, R({ _: 2 }, [
193
+ g(j.value, (b) => ({
193
194
  name: b,
194
- fn: L((w) => [
195
- p(l.$slots, b, M({ ref_for: !0 }, w))
195
+ fn: F((_) => [
196
+ x(l.$slots, b, V({ ref_for: !0 }, _))
196
197
  ])
197
198
  }))
198
199
  ]), 1032, ["field", "data", "index", "variant", "is-last", "stacked-col-index", "stacked-border-style"]));
199
- return c.memo = v, c;
200
- }, u, 2), 128))
200
+ return c.memo = m, c;
201
+ }, n, 2), 128))
201
202
  ], 2)
202
203
  ]),
203
- y.value.length === 0 ? (r(), n("div", te, " No information to display. ")) : k("", !0)
204
- ], 64)) : (r(), n(f, { key: 1 }, [
204
+ w.value.length === 0 ? (r(), o("div", de, " No information to display. ")) : h("", !0)
205
+ ], 64)) : (r(), o(f, { key: 1 }, [
205
206
  d("div", {
206
- class: C(R.value)
207
+ class: C(G.value)
207
208
  }, [
208
- i.value.left.length > 0 ? (r(), n("div", {
209
+ i.value.left.length > 0 ? (r(), o("div", {
209
210
  key: 0,
210
- class: C(T.value)
211
+ class: C(P.value)
211
212
  }, [
212
- (r(!0), n(f, null, g(i.value.left, (t, e, m, a) => {
213
- const v = [t, S(I)(t.key, o.data), s.variant, s.showColon];
214
- if (a && a.key === t.key + e && B(a, v)) return a;
215
- const c = (r(), x(F, {
213
+ (r(!0), o(f, null, g(i.value.left, (t, e, v, s) => {
214
+ const m = [t, L($)(t.key, a.data), y.value, p.value];
215
+ if (s && s.key === t.key + e && M(s, m)) return s;
216
+ const c = (r(), S(D, {
216
217
  key: t.key + e,
217
218
  field: t,
218
- data: o.data,
219
+ data: a.data,
219
220
  index: e,
220
- variant: s.variant,
221
- "show-colon": s.showColon,
221
+ variant: y.value,
222
+ "show-colon": p.value,
222
223
  "is-last": e === i.value.left.length - 1,
223
- "show-border-bottom": e < i.value.left.length - 1 || e === i.value.left.length - 1 && !D.value
224
- }, j({ _: 2 }, [
225
- g($.value, (b) => ({
224
+ "show-border-bottom": e < i.value.left.length - 1 || e === i.value.left.length - 1 && !O.value
225
+ }, R({ _: 2 }, [
226
+ g(j.value, (b) => ({
226
227
  name: b,
227
- fn: L((w) => [
228
- p(l.$slots, b, M({ ref_for: !0 }, w))
228
+ fn: F((_) => [
229
+ x(l.$slots, b, V({ ref_for: !0 }, _))
229
230
  ])
230
231
  }))
231
232
  ]), 1032, ["field", "data", "index", "variant", "show-colon", "is-last", "show-border-bottom"]));
232
- return c.memo = v, c;
233
- }, u, 4), 128))
234
- ], 2)) : k("", !0),
235
- s.columns !== 1 && i.value.right.length > 0 ? (r(), n("div", re, [
236
- (r(!0), n(f, null, g(i.value.right, (t, e, m, a) => {
237
- const v = [t, S(I)(t.key, o.data), s.variant, s.showColon];
238
- if (a && a.key === t.key + e && B(a, v)) return a;
239
- const c = (r(), x(F, {
233
+ return c.memo = m, c;
234
+ }, n, 4), 128))
235
+ ], 2)) : h("", !0),
236
+ k.value !== 1 && i.value.right.length > 0 ? (r(), o("div", ie, [
237
+ (r(!0), o(f, null, g(i.value.right, (t, e, v, s) => {
238
+ const m = [t, L($)(t.key, a.data), y.value, p.value];
239
+ if (s && s.key === t.key + e && M(s, m)) return s;
240
+ const c = (r(), S(D, {
240
241
  key: t.key + e,
241
242
  field: t,
242
- data: o.data,
243
+ data: a.data,
243
244
  index: e,
244
- variant: s.variant,
245
- "show-colon": s.showColon,
245
+ variant: y.value,
246
+ "show-colon": p.value,
246
247
  "is-last": e === i.value.right.length - 1,
247
- "show-border-bottom": e < i.value.right.length - 1 || e === i.value.right.length - 1 && !D.value
248
- }, j({ _: 2 }, [
249
- g($.value, (b) => ({
248
+ "show-border-bottom": e < i.value.right.length - 1 || e === i.value.right.length - 1 && !O.value
249
+ }, R({ _: 2 }, [
250
+ g(j.value, (b) => ({
250
251
  name: b,
251
- fn: L((w) => [
252
- p(l.$slots, b, M({ ref_for: !0 }, w))
252
+ fn: F((_) => [
253
+ x(l.$slots, b, V({ ref_for: !0 }, _))
253
254
  ])
254
255
  }))
255
256
  ]), 1032, ["field", "data", "index", "variant", "show-colon", "is-last", "show-border-bottom"]));
256
- return c.memo = v, c;
257
- }, u, 6), 128))
258
- ])) : k("", !0),
259
- s.columns === 3 ? (r(), n("div", oe)) : k("", !0)
257
+ return c.memo = m, c;
258
+ }, n, 6), 128))
259
+ ])) : h("", !0),
260
+ k.value === 3 ? (r(), o("div", ve)) : h("", !0)
260
261
  ], 2),
261
- D.value ? (r(), n("div", {
262
+ O.value ? (r(), o("div", {
262
263
  key: 0,
263
- class: C(P.value ? "border-t border-border" : "")
264
+ class: C(Q.value ? "border-t border-border" : "")
264
265
  }, [
265
- (r(!0), n(f, null, g(i.value.full, (t, e, m, a) => {
266
- const v = [t, S(I)(t.key, o.data), s.variant, s.showColon];
267
- if (a && a.key === t.key + e && B(a, v)) return a;
268
- const c = (r(), x(F, {
266
+ (r(!0), o(f, null, g(i.value.full, (t, e, v, s) => {
267
+ const m = [t, L($)(t.key, a.data), y.value, p.value];
268
+ if (s && s.key === t.key + e && M(s, m)) return s;
269
+ const c = (r(), S(D, {
269
270
  key: t.key + e,
270
271
  field: t,
271
- data: o.data,
272
+ data: a.data,
272
273
  index: e,
273
- variant: s.variant,
274
- "show-colon": s.showColon,
274
+ variant: y.value,
275
+ "show-colon": p.value,
275
276
  "is-last": e === i.value.full.length - 1,
276
277
  "show-border-bottom": e < i.value.full.length - 1
277
- }, j({ _: 2 }, [
278
- g($.value, (b) => ({
278
+ }, R({ _: 2 }, [
279
+ g(j.value, (b) => ({
279
280
  name: b,
280
- fn: L((w) => [
281
- p(l.$slots, b, M({ ref_for: !0 }, w))
281
+ fn: F((_) => [
282
+ x(l.$slots, b, V({ ref_for: !0 }, _))
282
283
  ])
283
284
  }))
284
285
  ]), 1032, ["field", "data", "index", "variant", "show-colon", "is-last", "show-border-bottom"]));
285
- return c.memo = v, c;
286
- }, u, 8), 128))
287
- ], 2)) : k("", !0),
288
- y.value.length === 0 ? (r(), n("div", le, " No information to display. ")) : k("", !0)
286
+ return c.memo = m, c;
287
+ }, n, 8), 128))
288
+ ], 2)) : h("", !0),
289
+ w.value.length === 0 ? (r(), o("div", me, " No information to display. ")) : h("", !0)
289
290
  ], 64))
290
291
  ], 64)),
291
- l.$slots.footer ? (r(), n("div", ne, [
292
- p(l.$slots, "footer")
293
- ])) : k("", !0)
292
+ l.$slots.footer ? (r(), o("div", ce, [
293
+ x(l.$slots, "footer")
294
+ ])) : h("", !0)
294
295
  ], 2));
295
296
  }
296
297
  });
297
298
  export {
298
- me as default
299
+ pe as default
299
300
  };
@@ -20,6 +20,13 @@ interface Props {
20
20
  * - `'divider'` — Left border on non-first cells per row + extra left padding.
21
21
  */
22
22
  stackedBorderStyle?: StackedBorderStyle;
23
+ /**
24
+ * Character length threshold beyond which the standard horizontal row
25
+ * automatically switches to the lineByLine (block) layout.
26
+ * Applies to the standard row only (not stacked/lineByLine-forced rows).
27
+ * Default: 60. Set to 0 to disable auto-switching.
28
+ */
29
+ autoLineByLineThreshold?: number;
23
30
  }
24
31
  declare function __VLS_template(): {
25
32
  attrs: Partial<{}>;
@@ -42,12 +49,13 @@ declare function __VLS_template(): {
42
49
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
43
50
  declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
44
51
  variant: string;
52
+ showColon: boolean;
53
+ stackedBorderStyle: StackedBorderStyle;
45
54
  index: number;
46
55
  isLast: boolean;
47
56
  showBorderBottom: boolean;
48
- showColon: boolean;
49
57
  stackedColIndex: number;
50
- stackedBorderStyle: StackedBorderStyle;
58
+ autoLineByLineThreshold: number;
51
59
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
52
60
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
53
61
  export default _default;