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.
- package/README.md +5 -0
- package/components/AttachmentsList/AttachmentsList.vue.d.ts +1 -1
- package/components/AttachmentsList/AttachmentsList.vue.js +237 -163
- package/components/Avatar.vue.js +1 -1
- package/components/AvatarUploader/AvatarUploader.vue.js +40 -37
- package/components/Button.vue.js +30 -28
- package/components/Carousel/Carousel.vue.d.ts +2 -2
- package/components/CategoryManager/CategoryManager.vue.d.ts +10 -2
- package/components/CategoryManager/CategoryManager.vue.js +138 -119
- package/components/CategoryManager/CategoryNode.vue.d.ts +2 -0
- package/components/CategoryManager/CategoryNode.vue.js +93 -88
- package/components/Chart/BarChart.vue.d.ts +48 -0
- package/components/Chart/CircleChart.vue.d.ts +47 -0
- package/components/Chart/LineChart.vue.d.ts +55 -0
- package/components/Chart/PieChart.vue.d.ts +49 -0
- package/components/Chart/index.d.ts +5 -0
- package/components/Chart/types.d.ts +135 -0
- package/components/Chart/utils.d.ts +40 -0
- package/components/Chat/ChatBubble.vue.js +22 -22
- package/components/CheckBox.vue.js +29 -28
- package/components/ColorPicker/ColorIro.vue3.js +2 -2
- package/components/ColorPicker/ColorPicker.vue.js +2 -2
- package/components/Comment/CommentEditor.vue.d.ts +41 -0
- package/components/Comment/CommentEditor.vue.js +221 -0
- package/components/Comment/CommentEditor.vue2.js +4 -0
- package/components/Comment/CommentItem.vue.d.ts +70 -0
- package/components/Comment/CommentItem.vue.js +7 -0
- package/components/Comment/CommentItem.vue2.js +322 -0
- package/components/Comment/CommentThread.vue.d.ts +64 -0
- package/components/Comment/CommentThread.vue.js +185 -0
- package/components/Comment/CommentThread.vue2.js +4 -0
- package/components/Comment/index.d.ts +4 -0
- package/components/Comment/types.d.ts +34 -0
- package/components/ConfirmationModal.vue.js +30 -28
- package/components/CopyButton.vue.d.ts +50 -0
- package/components/CopyButton.vue.js +69 -0
- package/components/CopyButton.vue2.js +4 -0
- package/components/DataTable/DataTable.vue.d.ts +2 -4
- package/components/DataTable/DataTable.vue.js +184 -235
- package/components/DataTable/DataTableHeader.vue.d.ts +2 -0
- package/components/DataTable/DataTableHeader.vue.js +24 -23
- package/components/DataTable/DataTableRow.vue.d.ts +2 -0
- package/components/DataTable/DataTableRow.vue.js +32 -31
- package/components/DataTable/types.d.ts +2 -9
- package/components/DatePicker.vue.js +41 -35
- package/components/DateRangePicker.vue.js +18 -17
- package/components/Dropdown/Dropdown.vue.d.ts +5 -0
- package/components/Dropdown/Dropdown.vue.js +141 -137
- package/components/Dropdown/DropdownBooleanItem.vue.js +16 -15
- package/components/Dropdown/DropdownItem.vue.js +21 -20
- package/components/Dropdown/DropdownMenu.vue.js +1 -1
- package/components/Dropdown/DropdownMenu.vue2.js +13 -12
- package/components/Dropdown/DropdownTrigger.vue.d.ts +4 -0
- package/components/Dropdown/DropdownTrigger.vue.js +12 -7
- package/components/Dropdown/composables/useDropdownHydration.d.ts +2 -0
- package/components/Dropdown/composables/useDropdownSelection.d.ts +1 -0
- package/components/Dropdown/composables/useDropdownSelection.js +46 -31
- package/components/Empty/Empty.vue.js +7 -5
- package/components/Empty/index.d.ts +1 -1
- package/components/Empty/variants/Variant12.vue.d.ts +22 -0
- package/components/Empty/variants/Variant12.vue.js +35 -0
- package/components/Empty/variants/Variant12.vue2.js +4 -0
- package/components/FilePicker/FilePicker.vue.js +93 -90
- package/components/Footer/Footer.vue.d.ts +3 -0
- package/components/Footer/Variant1.vue.d.ts +20 -0
- package/components/Footer/Variant2.vue.d.ts +20 -0
- package/components/Footer/Variant3.vue.d.ts +12 -0
- package/components/Footer/index.d.ts +2 -0
- package/components/Footer/types.d.ts +73 -0
- package/components/Form/CustomFields.vue.d.ts +2 -0
- package/components/Form/CustomFields.vue.js +1 -1
- package/components/Form/CustomFields.vue2.js +125 -122
- package/components/Form/Form.vue.js +2 -2
- package/components/Form/Form.vue2.js +68 -64
- package/components/Form/FormField.vue.js +205 -149
- package/components/Form/FormFields.vue.js +2 -2
- package/components/Form/FormFields.vue2.js +28 -27
- package/components/Form/types.d.ts +2 -2
- package/components/Form/utils/form.utils.d.ts +3 -3
- package/components/Form/utils/form.utils.js +37 -37
- package/components/Input.vue.js +64 -62
- package/components/Invoice/Invoice.vue.js +9 -7
- package/components/Invoice/InvoiceTotals.vue.d.ts +14 -0
- package/components/Invoice/InvoiceTotals.vue.js +86 -0
- package/components/Invoice/InvoiceTotals.vue2.js +4 -0
- package/components/Invoice/InvoiceVariant1.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant1.vue.js +194 -207
- package/components/Invoice/InvoiceVariant2.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant2.vue.js +109 -118
- package/components/Invoice/InvoiceVariant3.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant3.vue.js +157 -167
- package/components/Invoice/InvoiceVariant4.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant4.vue.js +192 -202
- package/components/Invoice/index.d.ts +1 -0
- package/components/Invoice/types.d.ts +22 -0
- package/components/Masonry/Masonry.vue.d.ts +1 -1
- package/components/Modal.vue.js +1 -1
- package/components/Modal.vue2.js +60 -54
- package/components/MultiSelect/MultiSelect.vue.d.ts +2 -0
- package/components/MultiSelect/MultiSelect.vue.js +92 -90
- package/components/MultiSelect/composables/useMultiSelectHydration.d.ts +2 -0
- package/components/NumberInput.vue.js +2 -2
- package/components/NumberInput.vue2.js +127 -121
- package/components/PricingPlan/PricingPlan.vue.d.ts +1 -1
- package/components/RichTextEditor/RichTextLinkPopover.vue.d.ts +26 -0
- package/components/RichTextEditor/RichTextReader.vue.d.ts +7 -0
- package/components/RichTextEditor/RichTextToolbar.vue.d.ts +24 -0
- package/components/RichTextEditor/composables/useRichTextImageUpload.d.ts +14 -0
- package/components/RichTextEditor/composables/useRichTextLinks.d.ts +32 -0
- package/components/RichTextEditor/index.d.ts +2 -0
- package/components/Screen/Screen.vue.js +45 -46
- package/components/Screen/ScreenFilter.vue.js +1 -1
- package/components/SidePanel.vue.js +2 -2
- package/components/SidePanel.vue2.js +58 -52
- package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
- package/components/SidebarMenu/SidebarMenu.vue.js +192 -91
- package/components/SidebarMenu/SidebarMenu.vue3.js +5 -0
- package/components/SidebarMenu/SidebarMenuItem.vue.js +170 -157
- package/components/SidebarMenu/types.d.ts +12 -3
- package/components/{DataTable/DataTableToolbar.vue.d.ts → Splitter/Splitter.vue.d.ts} +18 -15
- package/components/Splitter/Splitter.vue.js +64 -0
- package/components/Splitter/Splitter.vue2.js +4 -0
- package/components/Splitter/index.d.ts +1 -0
- package/components/Stats/StatItem.vue.js +96 -91
- package/components/Stats/types.d.ts +1 -0
- package/components/StatusChip/status-map.js +34 -2
- package/components/Switch.vue.d.ts +6 -1
- package/components/Switch.vue.js +61 -24
- package/components/TagInput/TagInput.vue.d.ts +187 -0
- package/components/TagInput/TagInput.vue.js +113 -0
- package/components/TagInput/TagInput.vue2.js +4 -0
- package/components/TagInput/index.d.ts +1 -0
- package/components/Textarea.vue.js +19 -18
- package/components/ThumbnailSelector/ThumbnailSelector.vue.js +2 -2
- package/components/ThumbnailSelector/ThumbnailSelector.vue2.js +19 -16
- package/components/index.d.ts +4 -0
- package/core/config.d.ts +54 -0
- package/index.d.ts +4 -0
- package/index.js +300 -285
- package/package.json +1 -1
- package/style.css +657 -6
- package/types/button.d.ts +1 -1
- package/types/config.type.d.ts +2 -0
- package/types/styles.d.ts +1 -0
- package/utils/functions.js +9 -9
- package/components/DataTable/DataTableToolbar.vue.js +0 -60
- package/components/DataTable/DataTableToolbar.vue2.js +0 -4
- package/components/SidebarMenu/SidebarMenu.vue2.js +0 -4
- /package/components/ColorPicker/{ColorIro.vue2.js → ColorIro.vue.js} +0 -0
|
@@ -1,176 +1,181 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { VueDraggable as
|
|
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
|
|
5
|
-
import
|
|
6
|
-
const
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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:
|
|
26
|
-
const S = V,
|
|
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: (
|
|
29
|
-
}),
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
}),
|
|
35
|
-
|
|
36
|
-
|
|
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 (
|
|
40
|
-
const
|
|
41
|
-
return r(),
|
|
42
|
+
return (s, t) => {
|
|
43
|
+
const F = T("CategoryNode", !0);
|
|
44
|
+
return r(), f(l(H), {
|
|
42
45
|
modelValue: b.value,
|
|
43
|
-
"onUpdate:modelValue":
|
|
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
|
-
|
|
53
|
+
onEnd: M
|
|
51
54
|
}, {
|
|
52
|
-
default:
|
|
53
|
-
(r(!0),
|
|
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?.
|
|
59
|
-
l(
|
|
60
|
-
l(
|
|
61
|
-
l(
|
|
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 (
|
|
66
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
77
|
-
e.children && e.children.length > 0 ? (r(),
|
|
80
|
+
y("div", J, [
|
|
81
|
+
e.children && e.children.length > 0 ? (r(), d("button", {
|
|
78
82
|
key: 0,
|
|
79
|
-
onClick: (o) => l(
|
|
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(
|
|
87
|
-
class: u(
|
|
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,
|
|
90
|
-
|
|
91
|
-
v.value ? c("", !0) : (r(),
|
|
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(
|
|
98
|
+
class: u(h.value)
|
|
95
99
|
}, null, 8, ["class"])
|
|
96
100
|
])),
|
|
97
|
-
v.value ? e.icon ? (r(),
|
|
101
|
+
v.value ? e.icon ? (r(), f(C, {
|
|
98
102
|
key: 2,
|
|
99
103
|
icon: e.icon,
|
|
100
|
-
class: u([
|
|
101
|
-
}, null, 8, ["icon", "class"])) : c("", !0) : (r(),
|
|
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:
|
|
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(
|
|
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(),
|
|
119
|
+
v.value ? (r(), d("span", {
|
|
116
120
|
key: 4,
|
|
117
|
-
class: u(["truncate",
|
|
118
|
-
},
|
|
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
|
-
|
|
127
|
+
I.value
|
|
124
128
|
]),
|
|
125
129
|
placeholder: "Category title...",
|
|
126
|
-
onChange: (o) => l(
|
|
127
|
-
onKeyup:
|
|
128
|
-
onClick:
|
|
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,
|
|
131
|
-
[
|
|
134
|
+
}, null, 42, Z)), [
|
|
135
|
+
[z, e.title]
|
|
132
136
|
])
|
|
133
137
|
])
|
|
134
138
|
]),
|
|
135
|
-
v.value ? c("", !0) : (r(),
|
|
136
|
-
i(
|
|
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(
|
|
146
|
+
onClick: (o) => l(n)?.startInline("add-child", e.id)
|
|
143
147
|
}, null, 8, ["onClick"]),
|
|
144
|
-
i(
|
|
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(
|
|
154
|
+
onClick: (o) => l(n)?.openModalForm("edit", e)
|
|
151
155
|
}, null, 8, ["onClick"]),
|
|
152
|
-
i(
|
|
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(
|
|
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(
|
|
163
|
-
e.children && e.children.length > 0 ? (r(),
|
|
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) =>
|
|
170
|
+
"onUpdate:modelValue": (o) => D(o, e),
|
|
167
171
|
level: V.level + 1,
|
|
168
|
-
onChange:
|
|
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(
|
|
171
|
-
i(
|
|
172
|
-
modelValue: l(
|
|
173
|
-
"onUpdate:modelValue":
|
|
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(
|
|
182
|
-
"onUpdate:modelValue":
|
|
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
|
-
|
|
187
|
-
|
|
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
|
-
[
|
|
196
|
+
[z, l(n).inlineState.value.title]
|
|
192
197
|
]),
|
|
193
|
-
i(
|
|
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:
|
|
204
|
+
onClick: t[7] || (t[7] = (o) => l(n).saveInline())
|
|
200
205
|
}),
|
|
201
|
-
i(
|
|
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:
|
|
212
|
+
onClick: t[8] || (t[8] = (o) => l(n).cancelInline())
|
|
208
213
|
})
|
|
209
214
|
])) : c("", !0)
|
|
210
215
|
], 512)), [
|
|
211
|
-
[
|
|
216
|
+
[G, l(n)?.expandedIds.value.has(e.id)]
|
|
212
217
|
]) : c("", !0)
|
|
213
|
-
]));
|
|
214
|
-
return
|
|
215
|
-
},
|
|
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
|
-
|
|
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';
|