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,176 +1,181 @@
1
- import { defineComponent as F, inject as K, computed as p, resolveComponent as R, openBlock as r, createBlock as x, unref as l, withCtx as T, createElementBlock as s, Fragment as A, renderList as L, isMemoSame as O, createElementVNode as f, normalizeClass as u, createVNode as i, createCommentVNode as c, withDirectives as k, withModifiers as P, withKeys as w, vModelText as U, toDisplayString as Q, vShow as q } from "vue";
2
- import { VueDraggable as G } from "vue-draggable-plus";
1
+ import { defineComponent as K, inject as R, computed as g, resolveComponent as T, openBlock as r, createBlock as f, unref as l, withCtx as A, createElementBlock as d, Fragment as L, renderList as O, isMemoSame as P, createElementVNode as y, normalizeClass as u, createVNode as i, createCommentVNode as c, withDirectives as k, withModifiers as Q, withKeys as w, vModelText as z, toDisplayString as q, vShow as G } from "vue";
2
+ import { VueDraggable as H } from "vue-draggable-plus";
3
3
  import C from "../Icon.vue.js";
4
- import g from "../Button.vue.js";
5
- import N from "../IconPicker.vue.js";
6
- const H = { class: "flex items-center gap-px overflow-hidden flex-1" }, J = ["onClick"], W = { class: "flex items-center gap-1.5 overflow-hidden flex-1 w-full" }, X = {
4
+ import m from "../Button.vue.js";
5
+ import E from "../IconPicker.vue.js";
6
+ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["onClick"], X = { class: "flex items-center gap-1.5 overflow-hidden flex-1 w-full" }, Y = {
7
7
  key: 0,
8
8
  class: "drag-handle cursor-grab active:cursor-grabbing text-muted hover:text-foreground transition-colors p-0.5 shrink-0"
9
- }, Y = ["onUpdate:modelValue", "onChange"], Z = {
9
+ }, Z = ["onUpdate:modelValue", "onChange"], ee = {
10
10
  key: 0,
11
11
  class: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity shrink-0 bg-background/80 px-1 rounded ml-2"
12
- }, ee = {
12
+ }, te = {
13
13
  key: 0,
14
14
  class: "ml-6 pl-3 border-l border-border mt-1.5 flex flex-col relative"
15
- }, te = {
15
+ }, ne = {
16
16
  key: 1,
17
17
  class: "flex items-center gap-1.5 py-1.5 px-2 bg-background border border-border shadow-sm rounded-lg w-full mb-1.5"
18
- }, de = /* @__PURE__ */ F({
18
+ }, ue = /* @__PURE__ */ K({
19
19
  __name: "CategoryNode",
20
20
  props: {
21
21
  modelValue: {},
22
22
  level: { default: 0 }
23
23
  },
24
- emits: ["update:modelValue", "change"],
25
- setup(V, { emit: D }) {
26
- const S = V, y = D, t = K("categoryManager"), b = p({
24
+ emits: ["update:modelValue", "change", "dragEnd"],
25
+ setup(V, { emit: U }) {
26
+ const S = V, p = U, n = R("categoryManager"), b = g({
27
27
  get: () => S.modelValue,
28
- set: (d) => y("update:modelValue", d)
29
- }), M = (d, n) => {
30
- n.children = d, y("change");
31
- }, I = () => y("change"), v = p(() => t?.readonly.value || !1), a = p(() => t?.size.value || "md"), j = p(() => a.value === "sm" ? "p-1 md:p-1.5" : a.value === "lg" ? "p-2 md:p-2.5" : "py-1.5 px-2"), $ = p(() => {
32
- const n = S.level === 0 ? "font-semibold" : "font-medium";
33
- return a.value === "sm" ? `text-xs ${n} text-foreground` : a.value === "lg" ? `-text-fs-1 ${n} text-foreground` : `text-sm ${n} text-foreground`;
34
- }), m = p(() => a.value === "sm" ? "w-3.5 h-3.5" : a.value === "lg" ? "w-4.5 h-4.5" : "w-4 h-4"), B = {
35
- mounted: (d) => {
36
- setTimeout(() => d.focus(), 10);
28
+ set: (s) => p("update:modelValue", s)
29
+ }), D = (s, t) => {
30
+ t.children = s, p("change");
31
+ }, N = () => p("change"), M = (s) => {
32
+ const t = s.item?.dataset?.id;
33
+ t && p("dragEnd", t);
34
+ }, v = g(() => n?.readonly.value || !1), a = g(() => n?.size.value || "md"), j = g(() => a.value === "sm" ? "p-1 md:p-1.5" : a.value === "lg" ? "p-2 md:p-2.5" : "py-1.5 px-2"), I = g(() => {
35
+ const t = S.level === 0 ? "font-semibold" : "font-medium";
36
+ return a.value === "sm" ? `text-xs ${t} text-foreground` : a.value === "lg" ? `-text-fs-1 ${t} text-foreground` : `text-sm ${t} text-foreground`;
37
+ }), h = g(() => a.value === "sm" ? "w-3.5 h-3.5" : a.value === "lg" ? "w-4.5 h-4.5" : "w-4 h-4"), B = {
38
+ mounted: (s) => {
39
+ setTimeout(() => s.focus(), 10);
37
40
  }
38
41
  };
39
- return (d, n) => {
40
- const E = R("CategoryNode", !0);
41
- return r(), x(l(G), {
42
+ return (s, t) => {
43
+ const F = T("CategoryNode", !0);
44
+ return r(), f(l(H), {
42
45
  modelValue: b.value,
43
- "onUpdate:modelValue": n[10] || (n[10] = (e) => b.value = e),
46
+ "onUpdate:modelValue": t[11] || (t[11] = (e) => b.value = e),
44
47
  group: "category-manager",
45
48
  animation: 150,
46
49
  handle: ".drag-handle",
47
50
  "ghost-class": "opacity-50",
48
51
  disabled: v.value,
49
52
  class: "min-h-[2px]",
50
- onChange: I
53
+ onEnd: M
51
54
  }, {
52
- default: T(() => [
53
- (r(!0), s(A, null, L(b.value, (e, ne, le, h) => {
54
- const _ = [
55
+ default: A(() => [
56
+ (r(!0), d(L, null, O(b.value, (e, oe, le, x) => {
57
+ const $ = [
55
58
  e.id,
56
59
  e.title,
57
60
  e.icon,
58
- e.children?.length,
59
- l(t)?.expandedIds.value.has(e.id),
60
- l(t)?.inlineState.value.targetId === e.id,
61
- l(t)?.inlineState.value.mode,
61
+ e.children?.map((o) => o.id).join(","),
62
+ l(n)?.expandedIds.value.has(e.id),
63
+ l(n)?.inlineState.value.targetId === e.id,
64
+ l(n)?.inlineState.value.mode,
62
65
  v.value,
63
66
  a.value
64
67
  ];
65
- if (h && h.key === e.id && O(h, _)) return h;
66
- const z = (r(), s("div", {
68
+ if (x && x.key === e.id && P(x, $)) return x;
69
+ const _ = (r(), d("div", {
67
70
  key: e.id,
71
+ "data-id": e.id,
68
72
  class: "mb-1.5 flex flex-col"
69
73
  }, [
70
- f("div", {
74
+ y("div", {
71
75
  class: u([
72
76
  "group flex items-center justify-between rounded-lg transition-colors bg-body! border border-border ",
73
77
  j.value
74
78
  ])
75
79
  }, [
76
- f("div", H, [
77
- e.children && e.children.length > 0 ? (r(), s("button", {
80
+ y("div", J, [
81
+ e.children && e.children.length > 0 ? (r(), d("button", {
78
82
  key: 0,
79
- onClick: (o) => l(t)?.toggleExpand(e.id),
83
+ onClick: (o) => l(n)?.toggleExpand(e.id),
80
84
  class: u([
81
85
  "flex items-center justify-center shrink-0 text-muted-foreground hover:bg-muted rounded transition-colors",
82
86
  a.value === "sm" ? "w-4 h-4" : a.value === "lg" ? "w-6 h-6" : "w-6.5 h-6.5"
83
87
  ])
84
88
  }, [
85
89
  i(C, {
86
- icon: l(t)?.expandedIds.value.has(e.id) ? "lucide:chevron-down" : "lucide:chevron-right",
87
- class: u(m.value)
90
+ icon: l(n)?.expandedIds.value.has(e.id) ? "lucide:chevron-down" : "lucide:chevron-right",
91
+ class: u(h.value)
88
92
  }, null, 8, ["icon", "class"])
89
- ], 10, J)) : c("", !0),
90
- f("div", W, [
91
- v.value ? c("", !0) : (r(), s("div", X, [
93
+ ], 10, W)) : c("", !0),
94
+ y("div", X, [
95
+ v.value ? c("", !0) : (r(), d("div", Y, [
92
96
  i(C, {
93
97
  icon: "lucide:grip-vertical",
94
- class: u(m.value)
98
+ class: u(h.value)
95
99
  }, null, 8, ["class"])
96
100
  ])),
97
- v.value ? e.icon ? (r(), x(C, {
101
+ v.value ? e.icon ? (r(), f(C, {
98
102
  key: 2,
99
103
  icon: e.icon,
100
- class: u([m.value, "shrink-0 text-muted-foreground"])
101
- }, null, 8, ["icon", "class"])) : c("", !0) : (r(), x(N, {
104
+ class: u([h.value, "shrink-0 text-muted-foreground"])
105
+ }, null, 8, ["icon", "class"])) : c("", !0) : (r(), f(E, {
102
106
  key: 1,
103
107
  value: e.icon,
104
108
  "btn-props": {
105
109
  variant: "ghost",
106
110
  size: "xs",
107
- iconClass: m.value,
111
+ iconClass: h.value,
108
112
  class: (a.value === "sm" ? "h-5 w-5" : a.value === "lg" ? "h-7 w-7" : "h-6 w-6") + " -ml-0.5! p-0 text-muted-foreground hover:text-foreground shrink-0 rounded-md"
109
113
  },
110
114
  position: "bottom-start",
111
115
  onOnSelect: (o) => {
112
- console.log("IconPicker value :>> ", o), e.icon = o, l(t)?.saveItem(e);
116
+ console.log("IconPicker value :>> ", o), e.icon = o, l(n)?.saveItem(e);
113
117
  }
114
118
  }, null, 8, ["value", "btn-props", "onOnSelect"])),
115
- v.value ? (r(), s("span", {
119
+ v.value ? (r(), d("span", {
116
120
  key: 4,
117
- class: u(["truncate", $.value])
118
- }, Q(e.title), 3)) : k((r(), s("input", {
121
+ class: u(["truncate", I.value])
122
+ }, q(e.title), 3)) : k((r(), d("input", {
119
123
  key: 3,
120
124
  "onUpdate:modelValue": (o) => e.title = o,
121
125
  class: u([
122
126
  "bg-transparent border-0 outline-none focus:ring-0 px-1 py-0.5 -ml-1 transition-colors w-full truncate cursor-text min-w-0 shadow-none caret-primary",
123
- $.value
127
+ I.value
124
128
  ]),
125
129
  placeholder: "Category title...",
126
- onChange: (o) => l(t)?.saveItem(e),
127
- onKeyup: n[0] || (n[0] = w((o) => o.target.blur(), ["enter"])),
128
- onClick: n[1] || (n[1] = P(() => {
130
+ onChange: (o) => l(n)?.saveItem(e),
131
+ onKeyup: t[0] || (t[0] = w((o) => o.target.blur(), ["enter"])),
132
+ onClick: t[1] || (t[1] = Q(() => {
129
133
  }, ["stop"]))
130
- }, null, 42, Y)), [
131
- [U, e.title]
134
+ }, null, 42, Z)), [
135
+ [z, e.title]
132
136
  ])
133
137
  ])
134
138
  ]),
135
- v.value ? c("", !0) : (r(), s("div", Z, [
136
- i(g, {
139
+ v.value ? c("", !0) : (r(), d("div", ee, [
140
+ i(m, {
137
141
  variant: "ghost",
138
142
  size: "xs",
139
143
  icon: "lucide:plus",
140
144
  title: "Quick Add Subcategory",
141
145
  class: "h-7 w-7 px-0 text-muted-foreground hover:text-primary",
142
- onClick: (o) => l(t)?.startInline("add-child", e.id)
146
+ onClick: (o) => l(n)?.startInline("add-child", e.id)
143
147
  }, null, 8, ["onClick"]),
144
- i(g, {
148
+ i(m, {
145
149
  variant: "ghost",
146
150
  size: "xs",
147
151
  icon: "lucide:settings",
148
152
  title: "Advanced Details",
149
153
  class: "h-7 w-7 px-0 text-muted-foreground hover:text-primary",
150
- onClick: (o) => l(t)?.openModalForm("edit", e)
154
+ onClick: (o) => l(n)?.openModalForm("edit", e)
151
155
  }, null, 8, ["onClick"]),
152
- i(g, {
156
+ i(m, {
153
157
  variant: "ghost",
154
158
  size: "xs",
155
159
  icon: "lucide:trash-2",
156
160
  title: "Delete",
157
161
  class: "h-7 w-7 px-0 text-muted-foreground hover:text-destructive hover:bg-destructive/10",
158
- onClick: (o) => l(t)?.deleteItem(e)
162
+ onClick: (o) => l(n)?.deleteItem(e)
159
163
  }, null, 8, ["onClick"])
160
164
  ]))
161
165
  ], 2),
162
- e.children && e.children.length > 0 || l(t)?.inlineState.value.mode === "add-child" && l(t).inlineState.value.targetId === e.id ? k((r(), s("div", ee, [
163
- e.children && e.children.length > 0 ? (r(), x(E, {
166
+ e.children && e.children.length > 0 || l(n)?.inlineState.value.mode === "add-child" && l(n).inlineState.value.targetId === e.id ? k((r(), d("div", te, [
167
+ e.children && e.children.length > 0 ? (r(), f(F, {
164
168
  key: 0,
165
169
  modelValue: e.children,
166
- "onUpdate:modelValue": (o) => M(o, e),
170
+ "onUpdate:modelValue": (o) => D(o, e),
167
171
  level: V.level + 1,
168
- onChange: I
172
+ onChange: N,
173
+ onDragEnd: t[2] || (t[2] = (o) => p("dragEnd", o))
169
174
  }, null, 8, ["modelValue", "onUpdate:modelValue", "level"])) : c("", !0),
170
- l(t)?.inlineState.value.mode === "add-child" && l(t).inlineState.value.targetId === e.id ? (r(), s("div", te, [
171
- i(N, {
172
- modelValue: l(t).inlineState.value.icon,
173
- "onUpdate:modelValue": n[2] || (n[2] = (o) => l(t).inlineState.value.icon = o),
175
+ l(n)?.inlineState.value.mode === "add-child" && l(n).inlineState.value.targetId === e.id ? (r(), d("div", ne, [
176
+ i(E, {
177
+ modelValue: l(n).inlineState.value.icon,
178
+ "onUpdate:modelValue": t[3] || (t[3] = (o) => l(n).inlineState.value.icon = o),
174
179
  "btn-props": {
175
180
  variant: "ghost",
176
181
  size: "xs",
@@ -178,41 +183,41 @@ const H = { class: "flex items-center gap-px overflow-hidden flex-1" }, J = ["on
178
183
  },
179
184
  position: "bottom-start"
180
185
  }, null, 8, ["modelValue"]),
181
- k(f("input", {
182
- "onUpdate:modelValue": n[3] || (n[3] = (o) => l(t).inlineState.value.title = o),
186
+ k(y("input", {
187
+ "onUpdate:modelValue": t[4] || (t[4] = (o) => l(n).inlineState.value.title = o),
183
188
  class: "flex-1 bg-transparent border-0 outline-none focus:ring-0 px-1 py-0.5 text-sm transition-colors w-full shadow-none caret-primary text-foreground placeholder:text-muted-foreground",
184
189
  placeholder: "New subcategory title...",
185
190
  onKeyup: [
186
- n[4] || (n[4] = w((o) => l(t).saveInline(), ["enter"])),
187
- n[5] || (n[5] = w((o) => l(t).cancelInline(), ["esc"]))
191
+ t[5] || (t[5] = w((o) => l(n).saveInline(), ["enter"])),
192
+ t[6] || (t[6] = w((o) => l(n).cancelInline(), ["esc"]))
188
193
  ]
189
194
  }, null, 544), [
190
195
  [B],
191
- [U, l(t).inlineState.value.title]
196
+ [z, l(n).inlineState.value.title]
192
197
  ]),
193
- i(g, {
198
+ i(m, {
194
199
  variant: "primary",
195
200
  size: "xs",
196
201
  icon: "lucide:check",
197
202
  class: "shrink-0 h-6 w-6 px-0",
198
203
  title: "Save",
199
- onClick: n[6] || (n[6] = (o) => l(t).saveInline())
204
+ onClick: t[7] || (t[7] = (o) => l(n).saveInline())
200
205
  }),
201
- i(g, {
206
+ i(m, {
202
207
  variant: "ghost",
203
208
  size: "xs",
204
209
  icon: "lucide:x",
205
210
  class: "shrink-0 h-6 w-6 px-0",
206
211
  title: "Cancel",
207
- onClick: n[7] || (n[7] = (o) => l(t).cancelInline())
212
+ onClick: t[8] || (t[8] = (o) => l(n).cancelInline())
208
213
  })
209
214
  ])) : c("", !0)
210
215
  ], 512)), [
211
- [q, l(t)?.expandedIds.value.has(e.id)]
216
+ [G, l(n)?.expandedIds.value.has(e.id)]
212
217
  ]) : c("", !0)
213
- ]));
214
- return z.memo = _, z;
215
- }, n, 8), 128))
218
+ ], 8, ["data-id"]));
219
+ return _.memo = $, _;
220
+ }, t, 9), 128))
216
221
  ]),
217
222
  _: 1
218
223
  }, 8, ["modelValue", "disabled"]);
@@ -220,5 +225,5 @@ const H = { class: "flex items-center gap-px overflow-hidden flex-1" }, J = ["on
220
225
  }
221
226
  });
222
227
  export {
223
- de as default
228
+ ue as default
224
229
  };
@@ -0,0 +1,48 @@
1
+ import { ChartDataPoint, ChartDataset } from './types';
2
+ export interface BarChartProps {
3
+ data?: ChartDataPoint[];
4
+ datasets?: ChartDataset[];
5
+ labels?: string[];
6
+ height?: number;
7
+ orientation?: 'vertical' | 'horizontal';
8
+ barRadius?: number;
9
+ showGrid?: boolean;
10
+ showLegend?: boolean;
11
+ showTooltip?: boolean;
12
+ showValues?: boolean;
13
+ colors?: string[];
14
+ animate?: boolean;
15
+ formatValue?: (v: number) => string;
16
+ /** Show the bottom X-axis border line */
17
+ showXAxis?: boolean;
18
+ /** Show the left Y-axis border line */
19
+ showYAxis?: boolean;
20
+ /** Show X-axis tick labels */
21
+ showXLabels?: boolean;
22
+ /** Show Y-axis tick labels */
23
+ showYLabels?: boolean;
24
+ /** Opacity of gridlines (0–1) */
25
+ gridOpacity?: number;
26
+ /** Opacity of axis border lines (0–1) */
27
+ axisOpacity?: number;
28
+ }
29
+ declare const _default: import('vue').DefineComponent<BarChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<BarChartProps> & Readonly<{}>, {
30
+ animate: boolean;
31
+ height: number;
32
+ orientation: "vertical" | "horizontal";
33
+ colors: string[];
34
+ showLegend: boolean;
35
+ showTooltip: boolean;
36
+ showGrid: boolean;
37
+ showXAxis: boolean;
38
+ showYAxis: boolean;
39
+ showXLabels: boolean;
40
+ showYLabels: boolean;
41
+ gridOpacity: number;
42
+ axisOpacity: number;
43
+ barRadius: number;
44
+ showValues: boolean;
45
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
46
+ containerRef: HTMLDivElement;
47
+ }, HTMLDivElement>;
48
+ export default _default;
@@ -0,0 +1,47 @@
1
+ export type StrokeLineCap = 'round' | 'square' | 'butt';
2
+ export type ChartColor = string;
3
+ export interface CircleChartProps {
4
+ value: number;
5
+ max?: number;
6
+ size?: number;
7
+ strokeWidth?: number;
8
+ color?: ChartColor;
9
+ gradient?: boolean;
10
+ label?: string;
11
+ sublabel?: string;
12
+ showValue?: boolean;
13
+ formatValue?: (v: number, pct: number) => string;
14
+ animate?: boolean;
15
+ trackColor?: string;
16
+ lineCap?: StrokeLineCap;
17
+ }
18
+ declare function __VLS_template(): {
19
+ attrs: Partial<{}>;
20
+ slots: {
21
+ center?(_: {
22
+ value: number;
23
+ percentage: number;
24
+ displayValue: string;
25
+ }): any;
26
+ };
27
+ refs: {};
28
+ rootEl: HTMLDivElement;
29
+ };
30
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
31
+ declare const __VLS_component: import('vue').DefineComponent<CircleChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CircleChartProps> & Readonly<{}>, {
32
+ animate: boolean;
33
+ color: ChartColor;
34
+ strokeWidth: number;
35
+ size: number;
36
+ gradient: boolean;
37
+ max: number;
38
+ showValue: boolean;
39
+ lineCap: StrokeLineCap;
40
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
41
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
42
+ export default _default;
43
+ type __VLS_WithTemplateSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,55 @@
1
+ import { ChartDataPoint, ChartDataset } from './types';
2
+ export interface LineChartProps {
3
+ data?: ChartDataPoint[];
4
+ datasets?: ChartDataset[];
5
+ labels?: string[];
6
+ height?: number;
7
+ smooth?: boolean;
8
+ fill?: boolean;
9
+ showDots?: boolean;
10
+ showGrid?: boolean;
11
+ showLegend?: boolean;
12
+ showTooltip?: boolean;
13
+ colors?: string[];
14
+ animate?: boolean;
15
+ xLabel?: string;
16
+ yLabel?: string;
17
+ formatValue?: (v: number) => string;
18
+ yMin?: number;
19
+ yMax?: number;
20
+ /** Show the bottom X-axis border line */
21
+ showXAxis?: boolean;
22
+ /** Show the left Y-axis border line */
23
+ showYAxis?: boolean;
24
+ /** Show X-axis tick labels */
25
+ showXLabels?: boolean;
26
+ /** Show Y-axis tick labels */
27
+ showYLabels?: boolean;
28
+ /** Opacity of gridlines (0–1) */
29
+ gridOpacity?: number;
30
+ /** Opacity of axis border lines (0–1) */
31
+ axisOpacity?: number;
32
+ /** Stroke width of the chart lines */
33
+ lineWidth?: number;
34
+ }
35
+ declare const _default: import('vue').DefineComponent<LineChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<LineChartProps> & Readonly<{}>, {
36
+ fill: boolean;
37
+ animate: boolean;
38
+ height: number;
39
+ colors: string[];
40
+ smooth: boolean;
41
+ showLegend: boolean;
42
+ showTooltip: boolean;
43
+ showDots: boolean;
44
+ showGrid: boolean;
45
+ showXAxis: boolean;
46
+ showYAxis: boolean;
47
+ showXLabels: boolean;
48
+ showYLabels: boolean;
49
+ gridOpacity: number;
50
+ axisOpacity: number;
51
+ lineWidth: number;
52
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
53
+ containerRef: HTMLDivElement;
54
+ }, HTMLDivElement>;
55
+ export default _default;
@@ -0,0 +1,49 @@
1
+ import { ChartDataPoint } from './types';
2
+ export type PieLabelMode = 'percent' | 'value' | 'label' | 'none';
3
+ export type LegendPosition = 'right' | 'bottom';
4
+ export interface PieChartProps {
5
+ data: ChartDataPoint[];
6
+ donut?: boolean;
7
+ innerRadius?: number;
8
+ size?: number;
9
+ startAngle?: number;
10
+ showLegend?: boolean;
11
+ legendPosition?: LegendPosition;
12
+ labelMode?: PieLabelMode;
13
+ colors?: string[];
14
+ animate?: boolean;
15
+ showTooltip?: boolean;
16
+ centerLabel?: string;
17
+ centerValue?: string;
18
+ }
19
+ declare function __VLS_template(): {
20
+ attrs: Partial<{}>;
21
+ slots: {
22
+ center?(_: {
23
+ total: number;
24
+ data: ChartDataPoint[];
25
+ }): any;
26
+ };
27
+ refs: {};
28
+ rootEl: HTMLDivElement;
29
+ };
30
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
31
+ declare const __VLS_component: import('vue').DefineComponent<PieChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<PieChartProps> & Readonly<{}>, {
32
+ animate: boolean;
33
+ size: number;
34
+ colors: string[];
35
+ showLegend: boolean;
36
+ showTooltip: boolean;
37
+ donut: boolean;
38
+ innerRadius: number;
39
+ startAngle: number;
40
+ legendPosition: LegendPosition;
41
+ labelMode: PieLabelMode;
42
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
43
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
44
+ export default _default;
45
+ type __VLS_WithTemplateSlots<T, S> = T & {
46
+ new (): {
47
+ $slots: S;
48
+ };
49
+ };
@@ -0,0 +1,5 @@
1
+ export { default as LineChart } from './LineChart.vue';
2
+ export { default as BarChart } from './BarChart.vue';
3
+ export { default as PieChart } from './PieChart.vue';
4
+ export { default as CircleChart } from './CircleChart.vue';
5
+ export type { ChartDataPoint, ChartDataset, LineChartProps, BarChartProps, PieChartProps, CircleChartProps, } from './types';