vlite3 1.4.25 → 1.4.27

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 (32) hide show
  1. package/components/CategoryManager/CategoryManager.vue2.js +3 -2
  2. package/components/Chart/BarChart.vue.d.ts +1 -1
  3. package/components/Chart/ChartLegend.vue.d.ts +22 -0
  4. package/components/Chart/ChartLegend.vue.js +91 -0
  5. package/components/Chart/ChartLegend.vue2.js +4 -0
  6. package/components/Chart/GanttChart.vue.d.ts +2 -2
  7. package/components/Chart/LineChart.vue.d.ts +5 -2
  8. package/components/Chart/LineChart.vue.js +1 -1
  9. package/components/Chart/LineChart.vue2.js +40 -39
  10. package/components/Chart/PieChart.vue.d.ts +11 -4
  11. package/components/Chart/PieChart.vue.js +118 -114
  12. package/components/Chart/SegmentBarChart.vue.d.ts +1 -1
  13. package/components/Chart/TimelineChart.vue.d.ts +2 -2
  14. package/components/Chart/index.d.ts +2 -1
  15. package/components/Chart/types.d.ts +25 -0
  16. package/components/ColorPicker/ColorPicker.vue.d.ts +20 -1
  17. package/components/ColorPicker/ColorPicker.vue.js +72 -59
  18. package/components/DateRangePicker.vue.js +5 -239
  19. package/components/DateRangePicker.vue2.js +239 -2
  20. package/components/Form/FormField.vue.js +10 -10
  21. package/components/Heatmap/Heatmap.vue.d.ts +1 -1
  22. package/components/Screen/ScreenFilter.vue.js +3 -2
  23. package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
  24. package/components/Stats/StatItem.vue.d.ts +2 -0
  25. package/components/Stats/StatItem.vue.js +234 -134
  26. package/components/Stats/Stats.vue.d.ts +1 -0
  27. package/components/Stats/Stats.vue.js +45 -41
  28. package/components/Stats/components/StatTrend.vue.js +35 -32
  29. package/components/Stats/types.d.ts +32 -2
  30. package/index.js +138 -136
  31. package/package.json +2 -2
  32. package/style.css +1 -1
@@ -1,22 +1,22 @@
1
- import { defineComponent as C, ref as p, watch as d, openBlock as s, createBlock as v, unref as b, withCtx as u, createElementBlock as h, createVNode as c, createCommentVNode as m, createElementVNode as n, normalizeClass as $, normalizeStyle as B } from "vue";
2
- import O from "../Dropdown/Dropdown.vue.js";
1
+ import { defineComponent as $, ref as y, watch as r, openBlock as a, createBlock as d, unref as b, withCtx as u, createElementBlock as c, createVNode as m, createCommentVNode as f, createElementVNode as p, renderSlot as B, mergeProps as O, normalizeClass as E, normalizeStyle as P } from "vue";
2
+ import N from "../Dropdown/Dropdown.vue.js";
3
3
  import "@iconify/vue";
4
- import y from "../Input.vue.js";
4
+ import g from "../Input.vue.js";
5
5
  /* empty css */
6
6
  import "../../core/config.js";
7
7
  /* empty css */
8
8
  /* empty css */
9
- import E from "../Button.vue.js";
10
- import _ from "./ColorIro.vue.js";
9
+ import h from "../Button.vue.js";
10
+ import S from "./ColorIro.vue.js";
11
11
  /* empty css */
12
- import { useEyeDropper as I } from "@vueuse/core";
13
- const N = { class: "absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center justify-center z-20 pointer-events-none" }, j = {
12
+ import { useEyeDropper as j } from "@vueuse/core";
13
+ const D = { class: "absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center justify-center z-20 pointer-events-none" }, I = {
14
14
  key: 0,
15
15
  class: "p-1 w-max flex flex-col justify-center"
16
- }, D = {
16
+ }, U = {
17
17
  key: 0,
18
18
  class: "flex items-center gap-1.5 w-full"
19
- }, P = { class: "w-32" }, T = /* @__PURE__ */ C({
19
+ }, A = { class: "flex-1 w-0 min-w-0" }, Y = /* @__PURE__ */ $({
20
20
  __name: "ColorPicker",
21
21
  props: {
22
22
  modelValue: { default: "#000000" },
@@ -26,103 +26,116 @@ const N = { class: "absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center
26
26
  rounded: { default: "md" },
27
27
  position: { default: "bottom" },
28
28
  btnProps: {},
29
- showInput: { type: Boolean, default: !0 }
29
+ showInput: { type: Boolean, default: !0 },
30
+ trigger: { default: "input" }
30
31
  },
31
32
  emits: ["update:modelValue", "change"],
32
- setup(o, { emit: x }) {
33
- const i = o, f = x, r = p(!1), t = p(i.modelValue || "#000000"), { isSupported: V, open: g, sRGBHex: k } = I();
34
- d(k, (e) => {
33
+ setup(o, { emit: k }) {
34
+ const s = o, v = k, i = y(!1), t = y(s.modelValue || "#000000"), { isSupported: V, open: x, sRGBHex: z } = j();
35
+ r(z, (e) => {
35
36
  e && (t.value = e);
36
37
  });
37
- const z = async () => {
38
+ const w = async () => {
38
39
  try {
39
- await g();
40
+ await x();
40
41
  } catch (e) {
41
42
  console.error("Error opening eyedropper:", e);
42
43
  }
43
44
  };
44
- d(
45
- () => i.modelValue,
45
+ r(
46
+ () => s.modelValue,
46
47
  (e) => {
47
48
  e && e !== t.value && (t.value = e);
48
49
  }
49
- ), d(t, (e) => {
50
- /^#([0-9A-F]{3,8})$/i.test(e) && e !== i.modelValue && (f("update:modelValue", e), f("change", e));
50
+ ), r(t, (e) => {
51
+ /^#([0-9A-F]{3,8})$/i.test(e) && e !== s.modelValue && (v("update:modelValue", e), v("change", e));
51
52
  });
52
- const w = (e) => {
53
+ const C = (e) => {
53
54
  t.value = e;
54
55
  };
55
- return (e, l) => (s(), v(b(O), {
56
+ return (e, l) => (a(), d(b(N), {
56
57
  disabled: o.disabled,
57
58
  class: "w-full",
58
59
  position: o.position,
59
60
  offset: [0, 8],
60
61
  searchable: !1,
61
62
  "close-on-select": !1,
62
- onOnOpen: l[1] || (l[1] = (a) => r.value = !0),
63
- onOnClose: l[2] || (l[2] = (a) => r.value = !1)
63
+ onOnOpen: l[1] || (l[1] = (n) => i.value = !0),
64
+ onOnClose: l[2] || (l[2] = (n) => i.value = !1)
64
65
  }, {
65
- trigger: u(({ isOpen: a }) => [
66
- n("div", {
67
- class: $(["w-full relative cursor-pointer", [o.disabled ? "opacity-50 pointer-events-none" : ""]])
68
- }, [
69
- c(y, {
70
- "model-value": o.modelValue,
71
- readonly: "",
72
- disabled: o.disabled,
73
- size: o.size,
74
- variant: o.variant,
75
- rounded: o.rounded,
76
- class: "pointer-events-none",
77
- "input-class": "pl-9 font-mono uppercase cursor-pointer"
78
- }, null, 8, ["model-value", "disabled", "size", "variant", "rounded"]),
79
- n("div", N, [
80
- n("div", {
81
- class: "w-4 h-4 rounded-full shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)] dark:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.1)]",
82
- style: B({ backgroundColor: o.modelValue })
83
- }, null, 4)
84
- ])
85
- ], 2)
66
+ trigger: u(({ isOpen: n }) => [
67
+ B(e.$slots, "trigger", { isOpen: n }, () => [
68
+ o.trigger === "button" ? (a(), d(h, O({
69
+ key: 0,
70
+ style: { backgroundColor: o.modelValue }
71
+ }, {
72
+ rounded: "full",
73
+ size: "xs",
74
+ icon: " ",
75
+ variant: "outline",
76
+ ...o.btnProps || {}
77
+ }), null, 16, ["style"])) : (a(), c("div", {
78
+ key: 1,
79
+ class: E(["w-full relative cursor-pointer", [o.disabled ? "opacity-50 pointer-events-none" : ""]])
80
+ }, [
81
+ m(g, {
82
+ "model-value": o.modelValue,
83
+ readonly: "",
84
+ disabled: o.disabled,
85
+ size: o.size,
86
+ variant: o.variant,
87
+ rounded: o.rounded,
88
+ class: "pointer-events-none",
89
+ "input-class": "pl-9 font-mono uppercase cursor-pointer"
90
+ }, null, 8, ["model-value", "disabled", "size", "variant", "rounded"]),
91
+ p("div", D, [
92
+ p("div", {
93
+ class: "w-4 h-4 rounded-full shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)] dark:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.1)]",
94
+ style: P({ backgroundColor: o.modelValue })
95
+ }, null, 4)
96
+ ])
97
+ ], 2))
98
+ ])
86
99
  ]),
87
100
  default: u(() => [
88
- r.value ? (s(), h("div", j, [
89
- c(_, {
101
+ i.value ? (a(), c("div", I, [
102
+ m(S, {
90
103
  color: o.modelValue,
91
104
  "show-header": !1,
92
105
  size: o.size,
93
- "onUpdate:color": w
106
+ "onUpdate:color": C
94
107
  }, {
95
108
  bottom: u(() => [
96
- o.showInput ? (s(), h("div", D, [
97
- b(V) ? (s(), v(E, {
109
+ o.showInput ? (a(), c("div", U, [
110
+ b(V) ? (a(), d(h, {
98
111
  key: 0,
99
- onClick: z,
112
+ onClick: w,
100
113
  icon: "pepicons-pop:color-picker",
101
114
  variant: "outline",
102
115
  size: "sm",
103
116
  class: "px-2 shrink-0"
104
- })) : m("", !0),
105
- n("div", P, [
106
- c(y, {
117
+ })) : f("", !0),
118
+ p("div", A, [
119
+ m(g, {
107
120
  modelValue: t.value,
108
- "onUpdate:modelValue": l[0] || (l[0] = (a) => t.value = a),
121
+ "onUpdate:modelValue": l[0] || (l[0] = (n) => t.value = n),
109
122
  size: "sm",
110
123
  "show-clear-button": !1,
111
124
  placeholder: "#000000",
112
- class: "flex-1 w-full",
125
+ class: "w-full",
113
126
  "input-class": "font-mono text-xs uppercase "
114
127
  }, null, 8, ["modelValue"])
115
128
  ])
116
- ])) : m("", !0)
129
+ ])) : f("", !0)
117
130
  ]),
118
131
  _: 1
119
132
  }, 8, ["color", "size"])
120
- ])) : m("", !0)
133
+ ])) : f("", !0)
121
134
  ]),
122
- _: 1
135
+ _: 3
123
136
  }, 8, ["disabled", "position"]));
124
137
  }
125
138
  });
126
139
  export {
127
- T as default
140
+ Y as default
128
141
  };
@@ -1,241 +1,7 @@
1
- import { defineComponent as $, ref as b, watch as F, computed as u, openBlock as d, createBlock as m, unref as v, withCtx as D, createElementVNode as i, createElementBlock as w, Fragment as L, renderList as T, createCommentVNode as z, createVNode as h, normalizeClass as y, toDisplayString as x, createTextVNode as B } from "vue";
2
- import E from "./Dropdown/Dropdown.vue.js";
3
- import R from "./Icon.vue.js";
4
- import { $t as l } from "../utils/i18n.js";
5
- /* empty css */
6
- /* empty css */
7
- /* empty css */
8
- import P from "./Button.vue.js";
9
- import p from "v-datepicker-lite";
10
- import "v-datepicker-lite/style.css";
11
- const j = { class: "flex items-center justify-start gap-2 w-full" }, H = { class: "flex flex-col sm:flex-row bg-background rounded-md" }, Q = {
12
- key: 0,
13
- class: "flex flex-col gap-1 sm:pr-3 py-2 sm:border-r border-border max-h-[280px]"
14
- }, O = { class: "flex flex-col sm:flex-row items-center gap-4 py-2 p-3" }, I = { class: "border border-border rounded-md overflow-hidden bg-background" }, U = { class: "flex items-center justify-center shrink-0" }, q = { class: "border border-border rounded-md overflow-hidden bg-background" }, le = /* @__PURE__ */ $({
15
- __name: "DateRangePicker",
16
- props: {
17
- modelValue: {},
18
- placeholderStart: { default: "Start Date" },
19
- placeholderEnd: { default: "End Date" },
20
- minDate: {},
21
- maxDate: {},
22
- disabled: { type: Boolean },
23
- readonly: { type: Boolean },
24
- size: {},
25
- variant: {},
26
- showQuickRanges: { type: Boolean, default: !0 },
27
- triggerClass: {}
28
- },
29
- emits: ["update:modelValue", "change"],
30
- setup(s, { emit: M }) {
31
- const g = s, k = M, o = b(!1), c = b(0);
32
- F(o, (a) => {
33
- a && c.value++;
34
- });
35
- const n = u({
36
- get: () => {
37
- const a = g.modelValue;
38
- return a ? {
39
- startDate: a.startDate !== void 0 ? a.startDate : a.start,
40
- endDate: a.endDate !== void 0 ? a.endDate : a.end
41
- } : { startDate: null, endDate: null };
42
- },
43
- set: (a) => {
44
- k("update:modelValue", a), k("change", a);
45
- }
46
- }), Y = (a) => {
47
- n.value = { ...n.value, startDate: a };
48
- }, S = (a) => {
49
- n.value = { ...n.value, endDate: a };
50
- }, C = u(() => {
51
- if (n.value.endDate) {
52
- const a = new Date(n.value.endDate);
53
- if (!isNaN(a.getTime())) return a.toISOString();
54
- }
55
- return g.maxDate;
56
- }), N = u(() => {
57
- if (n.value.startDate) {
58
- const a = new Date(n.value.startDate);
59
- if (!isNaN(a.getTime())) return a.toISOString();
60
- }
61
- return g.minDate;
62
- }), f = (a) => {
63
- if (!a) return "";
64
- try {
65
- const e = new Date(a);
66
- return isNaN(e.getTime()) ? "" : e.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
67
- } catch {
68
- return "";
69
- }
70
- }, V = u(() => [
71
- {
72
- label: l("vlite.dateRangePicker.today") !== "vlite.dateRangePicker.today" ? l("vlite.dateRangePicker.today") : "Today",
73
- value: "today",
74
- icon: "lucide:calendar"
75
- },
76
- {
77
- label: l("vlite.dateRangePicker.yesterday") !== "vlite.dateRangePicker.yesterday" ? l("vlite.dateRangePicker.yesterday") : "Yesterday",
78
- value: "yesterday",
79
- icon: "lucide:calendar-minus"
80
- },
81
- {
82
- label: l("vlite.dateRangePicker.last7Days") !== "vlite.dateRangePicker.last7Days" ? l("vlite.dateRangePicker.last7Days") : "Last 7 Days",
83
- value: "last_7_days",
84
- icon: "lucide:calendar-days"
85
- },
86
- {
87
- label: l("vlite.dateRangePicker.last30Days") !== "vlite.dateRangePicker.last30Days" ? l("vlite.dateRangePicker.last30Days") : "Last 30 Days",
88
- value: "last_30_days",
89
- icon: "lucide:calendar-days"
90
- },
91
- {
92
- label: l("vlite.dateRangePicker.thisMonth") !== "vlite.dateRangePicker.thisMonth" ? l("vlite.dateRangePicker.thisMonth") : "This Month",
93
- value: "this_month",
94
- icon: "lucide:calendar-range"
95
- },
96
- {
97
- label: l("vlite.dateRangePicker.lastMonth") !== "vlite.dateRangePicker.lastMonth" ? l("vlite.dateRangePicker.lastMonth") : "Last Month",
98
- value: "last_month",
99
- icon: "lucide:calendar-range"
100
- },
101
- {
102
- label: l("vlite.dateRangePicker.last6Months") !== "vlite.dateRangePicker.last6Months" ? l("vlite.dateRangePicker.last6Months") : "Last 6 Months",
103
- value: "last_6_months",
104
- icon: "lucide:history"
105
- },
106
- {
107
- label: l("vlite.dateRangePicker.thisYear") !== "vlite.dateRangePicker.thisYear" ? l("vlite.dateRangePicker.thisYear") : "This Year",
108
- value: "this_year",
109
- icon: "lucide:calendar-check"
110
- },
111
- {
112
- label: l("vlite.dateRangePicker.lastYear") !== "vlite.dateRangePicker.lastYear" ? l("vlite.dateRangePicker.lastYear") : "Last Year",
113
- value: "last_year",
114
- icon: "lucide:history"
115
- }
116
- ]), _ = (a) => {
117
- const e = /* @__PURE__ */ new Date();
118
- let t = /* @__PURE__ */ new Date(), r = /* @__PURE__ */ new Date();
119
- switch (e.setHours(0, 0, 0, 0), t.setHours(0, 0, 0, 0), r.setHours(0, 0, 0, 0), a.value) {
120
- case "today":
121
- t = new Date(e), r = new Date(e);
122
- break;
123
- case "yesterday":
124
- t = new Date(e), t.setDate(t.getDate() - 1), r = new Date(t);
125
- break;
126
- case "last_7_days":
127
- t = new Date(e), t.setDate(t.getDate() - 6), r = new Date(e);
128
- break;
129
- case "last_30_days":
130
- t = new Date(e), t.setDate(t.getDate() - 29), r = new Date(e);
131
- break;
132
- case "this_month":
133
- t = new Date(e.getFullYear(), e.getMonth(), 1), r = new Date(e);
134
- break;
135
- case "last_month":
136
- t = new Date(e.getFullYear(), e.getMonth() - 1, 1), r = new Date(e.getFullYear(), e.getMonth(), 0);
137
- break;
138
- case "last_6_months":
139
- t = new Date(e.getFullYear(), e.getMonth() - 5, 1), r = new Date(e);
140
- break;
141
- case "this_year":
142
- t = new Date(e.getFullYear(), 0, 1), r = new Date(e);
143
- break;
144
- case "last_year":
145
- t = new Date(e.getFullYear() - 1, 0, 1), r = new Date(e.getFullYear() - 1, 11, 31);
146
- break;
147
- }
148
- n.value = { startDate: t, endDate: r }, c.value++, o.value = !1;
149
- };
150
- return (a, e) => (d(), m(v(E), {
151
- isOpen: o.value,
152
- "onUpdate:isOpen": e[0] || (e[0] = (t) => o.value = t),
153
- position: "bottom-start",
154
- disabled: s.disabled || s.readonly,
155
- class: "w-full sm:w-auto inline-block",
156
- maxHeight: "none"
157
- }, {
158
- trigger: D(({ isOpen: t }) => [
159
- h(P, {
160
- icon: "lucide:calendar",
161
- variant: s.variant || "outline",
162
- size: s.size || "md",
163
- disabled: s.disabled,
164
- class: y(["w-full justify-between text-left font-normal", [s.triggerClass, { "ring-1 ring-ring ring-offset-[1]": t }]]),
165
- "data-testid": a.$attrs["data-testid"] || (a.$attrs.name ? `daterange-${a.$attrs.name}` : "daterange")
166
- }, {
167
- default: D(() => [
168
- i("div", j, [
169
- i("span", {
170
- class: y({ "text-muted-foreground": !n.value.startDate })
171
- }, x(n.value.startDate ? f(n.value.startDate) : s.placeholderStart), 3),
172
- e[1] || (e[1] = B(" — ", -1)),
173
- i("span", {
174
- class: y({ "text-muted-foreground": !n.value.endDate })
175
- }, x(n.value.endDate ? f(n.value.endDate) : s.placeholderEnd), 3)
176
- ])
177
- ]),
178
- _: 1
179
- }, 8, ["variant", "size", "disabled", "class", "data-testid"])
180
- ]),
181
- menu: D(() => [
182
- i("div", H, [
183
- s.showQuickRanges ? (d(), w("div", Q, [
184
- e[2] || (e[2] = i("div", { class: "text-xs pl-2 pb-2 font-semibold text-muted-foreground uppercase tracking-wider" }, " Quick Ranges ", -1)),
185
- (d(!0), w(L, null, T(V.value, (t) => (d(), m(P, {
186
- key: t.value,
187
- text: t.label,
188
- icon: t.icon,
189
- variant: "ghost",
190
- size: "sm",
191
- class: "justify-start w-full font-normal",
192
- onClick: (r) => _(t)
193
- }, null, 8, ["text", "icon", "onClick"]))), 128))
194
- ])) : z("", !0),
195
- i("div", O, [
196
- i("div", I, [
197
- (d(), m(v(p), {
198
- key: "start-" + c.value,
199
- value: n.value.startDate,
200
- onChange: Y,
201
- mode: "date",
202
- "max-date": C.value,
203
- "min-date": s.minDate,
204
- disabled: s.disabled,
205
- class: "min-w-[270px]",
206
- readonly: s.readonly
207
- }, null, 8, ["value", "max-date", "min-date", "disabled", "readonly"]))
208
- ]),
209
- i("div", U, [
210
- h(R, {
211
- icon: "lucide:arrow-right",
212
- class: "w-5 h-5 text-muted-foreground hidden sm:block opacity-50"
213
- }),
214
- h(R, {
215
- icon: "lucide:arrow-down",
216
- class: "w-5 h-5 text-muted-foreground sm:hidden opacity-50"
217
- })
218
- ]),
219
- i("div", q, [
220
- (d(), m(v(p), {
221
- key: "end-" + c.value,
222
- value: n.value.endDate,
223
- onChange: S,
224
- mode: "date",
225
- "min-date": N.value,
226
- "max-date": s.maxDate,
227
- class: "min-w-[270px]",
228
- disabled: s.disabled,
229
- readonly: s.readonly
230
- }, null, 8, ["value", "min-date", "max-date", "disabled", "readonly"]))
231
- ])
232
- ])
233
- ])
234
- ]),
235
- _: 1
236
- }, 8, ["isOpen", "disabled"]));
237
- }
238
- });
1
+ import o from "./DateRangePicker.vue2.js";
2
+ /* empty css */
3
+ import t from "../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a8f85730"]]);
239
5
  export {
240
- le as default
6
+ f as default
241
7
  };