cisse-vue-ui 0.9.0 → 0.10.0
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/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-CzpYHtc5.js → FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js} +260 -127
- package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js.map +1 -0
- package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-COkZbeGG.cjs → FilterTabs.vue_vue_type_script_setup_true_lang-l8lJzwoY.cjs} +260 -127
- package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-l8lJzwoY.cjs.map +1 -0
- package/dist/components/core/StatItem.stories.d.ts +25 -0
- package/dist/components/core/StatItem.vue.d.ts +81 -0
- package/dist/components/core/Stats.stories.d.ts +24 -0
- package/dist/components/core/Stats.vue.d.ts +41 -0
- package/dist/components/core/index.cjs +3 -1
- package/dist/components/core/index.cjs.map +1 -1
- package/dist/components/core/index.d.ts +6 -3
- package/dist/components/core/index.js +5 -3
- package/dist/components/index.cjs +3 -1
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +5 -3
- package/dist/{index-BMSH4AOz.cjs → index-CYXOfUOG.cjs} +4 -2
- package/dist/{index-BMSH4AOz.cjs.map → index-CYXOfUOG.cjs.map} +1 -1
- package/dist/{index-0kwQORZJ.js → index-C_N7WRnM.js} +4 -2
- package/dist/{index-0kwQORZJ.js.map → index-C_N7WRnM.js.map} +1 -1
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -4
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-COkZbeGG.cjs.map +0 -1
- package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-CzpYHtc5.js.map +0 -1
- package/dist/components/core/StatsCard.stories.d.ts +0 -15
- package/dist/components/core/StatsCard.vue.d.ts +0 -44
- package/dist/components/core/StatsGrid.stories.d.ts +0 -12
- package/dist/components/core/StatsGrid.vue.d.ts +0 -16
- /package/dist/components/core/{StatsCard.test.d.ts → StatItem.test.d.ts} +0 -0
- /package/dist/components/core/{StatsGrid.test.d.ts → Stats.test.d.ts} +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { defineComponent, computed, createBlock, createElementBlock, openBlock, createCommentVNode, renderSlot, normalizeClass, createElementVNode, createTextVNode, toDisplayString, useSlots, withKeys, withModifiers, normalizeStyle, unref, useAttrs, toRefs, provide, reactive, mergeProps, normalizeProps, guardReactiveProps, inject, Fragment, withCtx, createVNode, renderList, resolveDynamicComponent, ref, createSlots, watch, withDirectives, vModelText, Teleport, Transition, nextTick, resolveComponent, vShow, onMounted, onUnmounted, mergeModels, useModel } from "vue";
|
|
2
|
-
import { Icon } from "@iconify/vue";
|
|
3
|
-
import { b as _sfc_main$B, a as _sfc_main$I, _ as _sfc_main$J, c as _sfc_main$K } from "./ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js";
|
|
4
2
|
import { _ as _sfc_main$C, a as useBreakpoints } from "./index-BaWpldIJ.js";
|
|
3
|
+
import { b as _sfc_main$B, a as _sfc_main$I, _ as _sfc_main$J, c as _sfc_main$K } from "./ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js";
|
|
5
4
|
import { e as _sfc_main$D, d as _sfc_main$E, c as _sfc_main$F, b as _sfc_main$G, a as _sfc_main$H } from "./BadgeType.vue_vue_type_script_setup_true_lang-tHRMWBb-.js";
|
|
6
5
|
import { a as usePagination, u as useDarkMode } from "./usePagination-BGwbICFC.js";
|
|
6
|
+
import { Icon } from "@iconify/vue";
|
|
7
7
|
import { u as useDropdown } from "./useDropdown-XITCE_SM.js";
|
|
8
8
|
import { u as useId } from "./useId-xeHj7rkg.js";
|
|
9
9
|
const _hoisted_1$o = {
|
|
10
10
|
key: 1,
|
|
11
11
|
class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950"
|
|
12
12
|
};
|
|
13
|
-
const _hoisted_2$
|
|
13
|
+
const _hoisted_2$h = { class: "flex flex-col gap-0.5" };
|
|
14
14
|
const _hoisted_3$a = {
|
|
15
15
|
key: 1,
|
|
16
16
|
class: "text-sm font-normal text-gray-600 dark:text-gray-400"
|
|
@@ -52,7 +52,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
52
52
|
key: 1,
|
|
53
53
|
class: normalizeClass(["flex items-center justify-between border-b px-5 py-3", dividerClasses.value])
|
|
54
54
|
}, [
|
|
55
|
-
createElementVNode("div", _hoisted_2$
|
|
55
|
+
createElementVNode("div", _hoisted_2$h, [
|
|
56
56
|
__props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", {
|
|
57
57
|
key: 0,
|
|
58
58
|
class: normalizeClass(["text-md font-semibold", titleClasses.value])
|
|
@@ -77,7 +77,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
const _hoisted_1$n = ["role", "tabindex", "onKeydown"];
|
|
80
|
-
const _hoisted_2$
|
|
80
|
+
const _hoisted_2$g = ["src", "alt"];
|
|
81
81
|
const _hoisted_3$9 = ["src", "alt"];
|
|
82
82
|
const _hoisted_4$6 = { class: "flex items-center gap-3" };
|
|
83
83
|
const _hoisted_5$4 = { class: "flex flex-col gap-0.5" };
|
|
@@ -310,7 +310,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
310
310
|
src: __props.image,
|
|
311
311
|
alt: __props.imageAlt || "",
|
|
312
312
|
class: normalizeClass(["w-full h-full object-cover", __props.imageClass])
|
|
313
|
-
}, null, 10, _hoisted_2$
|
|
313
|
+
}, null, 10, _hoisted_2$g)) : createCommentVNode("", true)
|
|
314
314
|
]),
|
|
315
315
|
_cache[0] || (_cache[0] = createElementVNode("div", { class: "absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" }, null, -1))
|
|
316
316
|
], 2)) : createCommentVNode("", true),
|
|
@@ -647,7 +647,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
647
647
|
}
|
|
648
648
|
});
|
|
649
649
|
const _hoisted_1$k = ["colspan", "rowspan", "scope", "aria-sort"];
|
|
650
|
-
const _hoisted_2$
|
|
650
|
+
const _hoisted_2$f = {
|
|
651
651
|
key: 0,
|
|
652
652
|
d: "M7 14l5-5 5 5H7z"
|
|
653
653
|
};
|
|
@@ -733,7 +733,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
733
733
|
viewBox: "0 0 24 24",
|
|
734
734
|
fill: "currentColor"
|
|
735
735
|
}, [
|
|
736
|
-
__props.sorted && __props.sortDirection === "asc" ? (openBlock(), createElementBlock("path", _hoisted_2$
|
|
736
|
+
__props.sorted && __props.sortDirection === "asc" ? (openBlock(), createElementBlock("path", _hoisted_2$f)) : __props.sorted && __props.sortDirection === "desc" ? (openBlock(), createElementBlock("path", _hoisted_3$8)) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
737
737
|
_cache[2] || (_cache[2] = createElementVNode("path", {
|
|
738
738
|
d: "M7 14l5-5 5 5H7z",
|
|
739
739
|
class: "opacity-40"
|
|
@@ -1012,7 +1012,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
1012
1012
|
}
|
|
1013
1013
|
});
|
|
1014
1014
|
const _hoisted_1$h = ["disabled", "aria-expanded"];
|
|
1015
|
-
const _hoisted_2$
|
|
1015
|
+
const _hoisted_2$e = { class: "p-4" };
|
|
1016
1016
|
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
1017
1017
|
...{
|
|
1018
1018
|
inheritAttrs: false
|
|
@@ -1098,7 +1098,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1098
1098
|
class: "!p-0"
|
|
1099
1099
|
}, {
|
|
1100
1100
|
default: withCtx(() => [
|
|
1101
|
-
createElementVNode("div", _hoisted_2$
|
|
1101
|
+
createElementVNode("div", _hoisted_2$e, [
|
|
1102
1102
|
renderSlot(_ctx.$slots, "expanded")
|
|
1103
1103
|
])
|
|
1104
1104
|
]),
|
|
@@ -1112,7 +1112,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
1112
1112
|
}
|
|
1113
1113
|
});
|
|
1114
1114
|
const _hoisted_1$g = { class: "overflow-hidden" };
|
|
1115
|
-
const _hoisted_2$
|
|
1115
|
+
const _hoisted_2$d = {
|
|
1116
1116
|
key: 1,
|
|
1117
1117
|
class: "flex flex-col items-center justify-center py-12 text-center"
|
|
1118
1118
|
};
|
|
@@ -1232,7 +1232,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1232
1232
|
key: 0,
|
|
1233
1233
|
rows: __props.loadingRows,
|
|
1234
1234
|
columns: visibleProperties.value.length
|
|
1235
|
-
}, null, 8, ["rows", "columns"])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
1235
|
+
}, null, 8, ["rows", "columns"])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
|
|
1236
1236
|
renderSlot(_ctx.$slots, "error", {}, () => [
|
|
1237
1237
|
createElementVNode("div", _hoisted_3$7, [
|
|
1238
1238
|
_cache[2] || (_cache[2] = createElementVNode("svg", {
|
|
@@ -1358,7 +1358,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1358
1358
|
}
|
|
1359
1359
|
});
|
|
1360
1360
|
const _hoisted_1$f = { class: "space-y-3" };
|
|
1361
|
-
const _hoisted_2$
|
|
1361
|
+
const _hoisted_2$c = { class: "flex items-center gap-3 p-3" };
|
|
1362
1362
|
const _hoisted_3$6 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
1363
1363
|
const _hoisted_4$4 = {
|
|
1364
1364
|
key: 0,
|
|
@@ -1439,7 +1439,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1439
1439
|
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1440
1440
|
__props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$A, { key: 0 }, {
|
|
1441
1441
|
default: withCtx(() => [
|
|
1442
|
-
createElementVNode("div", _hoisted_2$
|
|
1442
|
+
createElementVNode("div", _hoisted_2$c, [
|
|
1443
1443
|
createVNode(_sfc_main$C, {
|
|
1444
1444
|
"model-value": allSelected.value,
|
|
1445
1445
|
indeterminate: someSelected.value,
|
|
@@ -1628,7 +1628,7 @@ const _hoisted_1$e = {
|
|
|
1628
1628
|
key: 0,
|
|
1629
1629
|
class: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"
|
|
1630
1630
|
};
|
|
1631
|
-
const _hoisted_2$
|
|
1631
|
+
const _hoisted_2$b = { class: "relative" };
|
|
1632
1632
|
const _hoisted_3$5 = ["disabled", "placeholder"];
|
|
1633
1633
|
const _hoisted_4$3 = ["disabled"];
|
|
1634
1634
|
const _hoisted_5$1 = {
|
|
@@ -1745,7 +1745,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1745
1745
|
class: "autocomplete-container"
|
|
1746
1746
|
}, [
|
|
1747
1747
|
__props.label ? (openBlock(), createElementBlock("label", _hoisted_1$e, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
|
|
1748
|
-
createElementVNode("div", _hoisted_2$
|
|
1748
|
+
createElementVNode("div", _hoisted_2$b, [
|
|
1749
1749
|
createElementVNode("div", {
|
|
1750
1750
|
ref_key: "inputWrapperRef",
|
|
1751
1751
|
ref: inputWrapperRef,
|
|
@@ -1921,7 +1921,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
1921
1921
|
}
|
|
1922
1922
|
});
|
|
1923
1923
|
const _hoisted_1$d = { class: "relative inline-block" };
|
|
1924
|
-
const _hoisted_2$
|
|
1924
|
+
const _hoisted_2$a = ["src", "alt"];
|
|
1925
1925
|
const _hoisted_3$4 = { key: 1 };
|
|
1926
1926
|
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
1927
1927
|
__name: "Avatar",
|
|
@@ -2043,7 +2043,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
2043
2043
|
alt: __props.alt || __props.name,
|
|
2044
2044
|
class: "size-full object-cover",
|
|
2045
2045
|
onError: _cache[0] || (_cache[0] = ($event) => imageError.value = true)
|
|
2046
|
-
}, null, 40, _hoisted_2$
|
|
2046
|
+
}, null, 40, _hoisted_2$a)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$4, toDisplayString(initials.value), 1)) : (openBlock(), createBlock(unref(Icon), {
|
|
2047
2047
|
key: 2,
|
|
2048
2048
|
icon: "lucide:user",
|
|
2049
2049
|
class: "size-1/2"
|
|
@@ -2062,7 +2062,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
2062
2062
|
}
|
|
2063
2063
|
});
|
|
2064
2064
|
const _hoisted_1$c = ["aria-selected", "disabled", "onClick"];
|
|
2065
|
-
const _hoisted_2$
|
|
2065
|
+
const _hoisted_2$9 = { class: "mt-4" };
|
|
2066
2066
|
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
2067
2067
|
__name: "Tabs",
|
|
2068
2068
|
props: {
|
|
@@ -2131,7 +2131,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
2131
2131
|
}, toDisplayString(tab.label), 11, _hoisted_1$c);
|
|
2132
2132
|
}), 128))
|
|
2133
2133
|
], 2),
|
|
2134
|
-
createElementVNode("div", _hoisted_2$
|
|
2134
|
+
createElementVNode("div", _hoisted_2$9, [
|
|
2135
2135
|
renderSlot(_ctx.$slots, "default", { activeTab: activeTab.value })
|
|
2136
2136
|
])
|
|
2137
2137
|
]);
|
|
@@ -2355,7 +2355,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
2355
2355
|
}
|
|
2356
2356
|
});
|
|
2357
2357
|
const _hoisted_1$9 = ["aria-describedby"];
|
|
2358
|
-
const _hoisted_2$
|
|
2358
|
+
const _hoisted_2$8 = ["id"];
|
|
2359
2359
|
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
2360
2360
|
__name: "Tooltip",
|
|
2361
2361
|
props: {
|
|
@@ -2427,7 +2427,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
2427
2427
|
id: unref(tooltipId),
|
|
2428
2428
|
class: normalizeClass(positionClasses.value),
|
|
2429
2429
|
role: "tooltip"
|
|
2430
|
-
}, toDisplayString(__props.content), 11, _hoisted_2$
|
|
2430
|
+
}, toDisplayString(__props.content), 11, _hoisted_2$8)) : createCommentVNode("", true)
|
|
2431
2431
|
]),
|
|
2432
2432
|
_: 1
|
|
2433
2433
|
})
|
|
@@ -2436,7 +2436,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
2436
2436
|
}
|
|
2437
2437
|
});
|
|
2438
2438
|
const _hoisted_1$8 = ["id", "aria-expanded", "aria-controls"];
|
|
2439
|
-
const _hoisted_2$
|
|
2439
|
+
const _hoisted_2$7 = ["id", "aria-labelledby"];
|
|
2440
2440
|
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
2441
2441
|
__name: "Popover",
|
|
2442
2442
|
props: {
|
|
@@ -2521,7 +2521,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
2521
2521
|
])
|
|
2522
2522
|
}, [
|
|
2523
2523
|
renderSlot(_ctx.$slots, "default", { close: unref(close) })
|
|
2524
|
-
], 14, _hoisted_2$
|
|
2524
|
+
], 14, _hoisted_2$7)) : createCommentVNode("", true)
|
|
2525
2525
|
]),
|
|
2526
2526
|
_: 3
|
|
2527
2527
|
})
|
|
@@ -2534,7 +2534,7 @@ const _hoisted_1$7 = {
|
|
|
2534
2534
|
key: 0,
|
|
2535
2535
|
class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700"
|
|
2536
2536
|
};
|
|
2537
|
-
const _hoisted_2$
|
|
2537
|
+
const _hoisted_2$6 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
|
|
2538
2538
|
const _hoisted_3$3 = { class: "flex-1 overflow-y-auto p-4" };
|
|
2539
2539
|
const _hoisted_4$2 = {
|
|
2540
2540
|
key: 1,
|
|
@@ -2661,7 +2661,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2661
2661
|
}, [
|
|
2662
2662
|
__props.title || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
2663
2663
|
renderSlot(_ctx.$slots, "header", {}, () => [
|
|
2664
|
-
createElementVNode("h2", _hoisted_2$
|
|
2664
|
+
createElementVNode("h2", _hoisted_2$6, toDisplayString(__props.title), 1)
|
|
2665
2665
|
]),
|
|
2666
2666
|
__props.showClose ? (openBlock(), createElementBlock("button", {
|
|
2667
2667
|
key: 0,
|
|
@@ -2690,7 +2690,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2690
2690
|
}
|
|
2691
2691
|
});
|
|
2692
2692
|
const _hoisted_1$6 = { "aria-label": "Breadcrumb" };
|
|
2693
|
-
const _hoisted_2$
|
|
2693
|
+
const _hoisted_2$5 = { class: "flex items-center flex-wrap gap-1 text-sm" };
|
|
2694
2694
|
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
2695
2695
|
__name: "Breadcrumb",
|
|
2696
2696
|
props: {
|
|
@@ -2703,7 +2703,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2703
2703
|
setup(__props) {
|
|
2704
2704
|
return (_ctx, _cache) => {
|
|
2705
2705
|
return openBlock(), createElementBlock("nav", _hoisted_1$6, [
|
|
2706
|
-
createElementVNode("ol", _hoisted_2$
|
|
2706
|
+
createElementVNode("ol", _hoisted_2$5, [
|
|
2707
2707
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
2708
2708
|
return openBlock(), createElementBlock("li", {
|
|
2709
2709
|
key: index,
|
|
@@ -2779,7 +2779,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
2779
2779
|
}
|
|
2780
2780
|
});
|
|
2781
2781
|
const _hoisted_1$4 = ["id", "disabled", "aria-expanded", "aria-controls"];
|
|
2782
|
-
const _hoisted_2$
|
|
2782
|
+
const _hoisted_2$4 = { class: "flex items-center gap-2 font-medium" };
|
|
2783
2783
|
const _hoisted_3$2 = ["id", "aria-labelledby"];
|
|
2784
2784
|
const _hoisted_4$1 = { class: "px-4 py-3 bg-gray-50 dark:bg-gray-900 text-gray-700 dark:text-gray-300" };
|
|
2785
2785
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
@@ -2816,7 +2816,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
2816
2816
|
"aria-controls": panelId.value,
|
|
2817
2817
|
onClick: toggle
|
|
2818
2818
|
}, [
|
|
2819
|
-
createElementVNode("span", _hoisted_2$
|
|
2819
|
+
createElementVNode("span", _hoisted_2$4, [
|
|
2820
2820
|
__props.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
2821
2821
|
key: 0,
|
|
2822
2822
|
icon: __props.icon,
|
|
@@ -2863,7 +2863,7 @@ const _hoisted_1$3 = {
|
|
|
2863
2863
|
key: 0,
|
|
2864
2864
|
class: "relative"
|
|
2865
2865
|
};
|
|
2866
|
-
const _hoisted_2$
|
|
2866
|
+
const _hoisted_2$3 = { class: "flex items-start gap-4" };
|
|
2867
2867
|
const _hoisted_3$1 = { class: "flex-1 min-w-0 pt-0.5" };
|
|
2868
2868
|
const _hoisted_4 = { class: "flex items-center justify-between gap-2" };
|
|
2869
2869
|
const _hoisted_5 = { class: "text-sm font-medium text-gray-900 dark:text-white" };
|
|
@@ -2942,7 +2942,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
2942
2942
|
key: 0,
|
|
2943
2943
|
class: normalizeClass(["absolute left-4 top-8 w-0.5 h-full -ml-px", getStatusClasses(item.status).line])
|
|
2944
2944
|
}, null, 2)) : createCommentVNode("", true),
|
|
2945
|
-
createElementVNode("div", _hoisted_2$
|
|
2945
|
+
createElementVNode("div", _hoisted_2$3, [
|
|
2946
2946
|
createElementVNode("div", {
|
|
2947
2947
|
class: normalizeClass(["relative z-10 flex items-center justify-center size-8 rounded-full shrink-0", getStatusClasses(item.status).dot])
|
|
2948
2948
|
}, [
|
|
@@ -2995,7 +2995,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
2995
2995
|
}
|
|
2996
2996
|
});
|
|
2997
2997
|
const _hoisted_1$2 = ["aria-label"];
|
|
2998
|
-
const _hoisted_2$
|
|
2998
|
+
const _hoisted_2$2 = {
|
|
2999
2999
|
key: 0,
|
|
3000
3000
|
class: "text-sm font-medium"
|
|
3001
3001
|
};
|
|
@@ -3034,129 +3034,258 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3034
3034
|
icon: unref(isDark) ? __props.darkIcon : __props.lightIcon,
|
|
3035
3035
|
class: normalizeClass(sizeClasses[__props.size].icon)
|
|
3036
3036
|
}, null, 8, ["icon", "class"]),
|
|
3037
|
-
__props.showLabel ? (openBlock(), createElementBlock("span", _hoisted_2$
|
|
3037
|
+
__props.showLabel ? (openBlock(), createElementBlock("span", _hoisted_2$2, toDisplayString(unref(isDark) ? "Dark" : "Light"), 1)) : createCommentVNode("", true)
|
|
3038
3038
|
], 10, _hoisted_1$2);
|
|
3039
3039
|
};
|
|
3040
3040
|
}
|
|
3041
3041
|
});
|
|
3042
|
-
const _hoisted_1$1 = {
|
|
3043
|
-
|
|
3042
|
+
const _hoisted_1$1 = { key: 0 };
|
|
3043
|
+
const _hoisted_2$1 = {
|
|
3044
|
+
key: 1,
|
|
3044
3045
|
class: "text-gray-400"
|
|
3045
3046
|
};
|
|
3046
3047
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
3047
|
-
__name: "
|
|
3048
|
+
__name: "StatItem",
|
|
3048
3049
|
props: {
|
|
3049
3050
|
label: {},
|
|
3050
3051
|
value: {},
|
|
3051
3052
|
icon: {},
|
|
3053
|
+
iconPosition: { default: "top" },
|
|
3052
3054
|
change: {},
|
|
3053
3055
|
changeLabel: {},
|
|
3056
|
+
trend: {},
|
|
3057
|
+
trendOnly: { type: Boolean, default: false },
|
|
3058
|
+
size: { default: "md" },
|
|
3054
3059
|
variant: { default: "default" },
|
|
3055
|
-
color: { default: "primary" }
|
|
3060
|
+
color: { default: "primary" },
|
|
3061
|
+
clickable: { type: Boolean, default: false },
|
|
3062
|
+
centered: { type: Boolean },
|
|
3063
|
+
cardClass: {},
|
|
3064
|
+
iconClass: {},
|
|
3065
|
+
valueClass: {},
|
|
3066
|
+
labelClass: {}
|
|
3056
3067
|
},
|
|
3068
|
+
emits: ["click"],
|
|
3057
3069
|
setup(__props) {
|
|
3070
|
+
const props = __props;
|
|
3071
|
+
const isCentered = computed(() => {
|
|
3072
|
+
if (props.centered !== void 0) return props.centered;
|
|
3073
|
+
return props.iconPosition === "top";
|
|
3074
|
+
});
|
|
3075
|
+
const effectiveTrend = computed(() => {
|
|
3076
|
+
if (props.trend) return props.trend;
|
|
3077
|
+
if (props.change === void 0) return void 0;
|
|
3078
|
+
if (props.change > 0) return "up";
|
|
3079
|
+
if (props.change < 0) return "down";
|
|
3080
|
+
return "neutral";
|
|
3081
|
+
});
|
|
3082
|
+
const sizeClasses = computed(() => {
|
|
3083
|
+
const sizes = {
|
|
3084
|
+
sm: {
|
|
3085
|
+
padding: "sm",
|
|
3086
|
+
icon: "size-8",
|
|
3087
|
+
iconInner: "size-4",
|
|
3088
|
+
value: "text-xl font-bold",
|
|
3089
|
+
label: "text-xs",
|
|
3090
|
+
change: "text-xs",
|
|
3091
|
+
gap: "gap-1"
|
|
3092
|
+
},
|
|
3093
|
+
md: {
|
|
3094
|
+
padding: "md",
|
|
3095
|
+
icon: "size-10",
|
|
3096
|
+
iconInner: "size-5",
|
|
3097
|
+
value: "text-2xl sm:text-3xl font-bold",
|
|
3098
|
+
label: "text-xs sm:text-sm",
|
|
3099
|
+
change: "text-xs",
|
|
3100
|
+
gap: "gap-2"
|
|
3101
|
+
},
|
|
3102
|
+
lg: {
|
|
3103
|
+
padding: "lg",
|
|
3104
|
+
icon: "size-12",
|
|
3105
|
+
iconInner: "size-6",
|
|
3106
|
+
value: "text-3xl sm:text-4xl font-bold",
|
|
3107
|
+
label: "text-sm sm:text-base",
|
|
3108
|
+
change: "text-sm",
|
|
3109
|
+
gap: "gap-3"
|
|
3110
|
+
}
|
|
3111
|
+
};
|
|
3112
|
+
return sizes[props.size];
|
|
3113
|
+
});
|
|
3114
|
+
const iconBgClasses = computed(() => {
|
|
3115
|
+
if (props.variant === "glass") return "bg-white/20";
|
|
3116
|
+
const colors = {
|
|
3117
|
+
primary: "bg-primary-100 dark:bg-primary-900/30",
|
|
3118
|
+
secondary: "bg-secondary-100 dark:bg-secondary-900/30",
|
|
3119
|
+
success: "bg-emerald-100 dark:bg-emerald-900/30",
|
|
3120
|
+
warning: "bg-amber-100 dark:bg-amber-900/30",
|
|
3121
|
+
danger: "bg-red-100 dark:bg-red-900/30",
|
|
3122
|
+
info: "bg-blue-100 dark:bg-blue-900/30"
|
|
3123
|
+
};
|
|
3124
|
+
return colors[props.color];
|
|
3125
|
+
});
|
|
3126
|
+
const iconColorClasses = computed(() => {
|
|
3127
|
+
if (props.variant === "glass") return "text-white";
|
|
3128
|
+
const colors = {
|
|
3129
|
+
primary: "text-primary-600 dark:text-primary-400",
|
|
3130
|
+
secondary: "text-secondary-600 dark:text-secondary-400",
|
|
3131
|
+
success: "text-emerald-600 dark:text-emerald-400",
|
|
3132
|
+
warning: "text-amber-600 dark:text-amber-400",
|
|
3133
|
+
danger: "text-red-600 dark:text-red-400",
|
|
3134
|
+
info: "text-blue-600 dark:text-blue-400"
|
|
3135
|
+
};
|
|
3136
|
+
return colors[props.color];
|
|
3137
|
+
});
|
|
3138
|
+
const valueTextClasses = computed(() => {
|
|
3139
|
+
if (props.variant === "glass") return "text-white";
|
|
3140
|
+
return "text-gray-900 dark:text-white";
|
|
3141
|
+
});
|
|
3142
|
+
const labelTextClasses = computed(() => {
|
|
3143
|
+
if (props.variant === "glass") return "text-white/80";
|
|
3144
|
+
return "text-gray-500 dark:text-gray-400";
|
|
3145
|
+
});
|
|
3146
|
+
const trendColorClasses = computed(() => {
|
|
3147
|
+
if (!effectiveTrend.value || effectiveTrend.value === "neutral") {
|
|
3148
|
+
return "text-gray-500";
|
|
3149
|
+
}
|
|
3150
|
+
return effectiveTrend.value === "up" ? "text-emerald-500" : "text-red-500";
|
|
3151
|
+
});
|
|
3152
|
+
const trendIcon = computed(() => {
|
|
3153
|
+
if (!effectiveTrend.value || effectiveTrend.value === "neutral") {
|
|
3154
|
+
return "heroicons:minus";
|
|
3155
|
+
}
|
|
3156
|
+
return effectiveTrend.value === "up" ? "heroicons:arrow-trending-up" : "heroicons:arrow-trending-down";
|
|
3157
|
+
});
|
|
3158
|
+
const cardVariant = computed(() => {
|
|
3159
|
+
const map = {
|
|
3160
|
+
default: "default",
|
|
3161
|
+
glass: "glass",
|
|
3162
|
+
outline: "outline",
|
|
3163
|
+
flat: "flat"
|
|
3164
|
+
};
|
|
3165
|
+
return map[props.variant];
|
|
3166
|
+
});
|
|
3167
|
+
const layoutClasses = computed(() => {
|
|
3168
|
+
if (props.iconPosition === "top") {
|
|
3169
|
+
return isCentered.value ? "flex flex-col items-center text-center" : "flex flex-col";
|
|
3170
|
+
}
|
|
3171
|
+
if (props.iconPosition === "left") {
|
|
3172
|
+
return "flex flex-row items-center";
|
|
3173
|
+
}
|
|
3174
|
+
return "flex flex-row-reverse items-center";
|
|
3175
|
+
});
|
|
3176
|
+
const contentClasses = computed(() => {
|
|
3177
|
+
if (props.iconPosition === "top") {
|
|
3178
|
+
return "flex flex-col " + sizeClasses.value.gap;
|
|
3179
|
+
}
|
|
3180
|
+
return "flex flex-col flex-1 min-w-0 " + (props.iconPosition === "left" ? "ml-3" : "mr-3");
|
|
3181
|
+
});
|
|
3058
3182
|
return (_ctx, _cache) => {
|
|
3059
|
-
return openBlock(),
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
}, [
|
|
3130
|
-
createVNode(unref(Icon), {
|
|
3131
|
-
icon: __props.change >= 0 ? "heroicons:arrow-trending-up" : "heroicons:arrow-trending-down",
|
|
3132
|
-
class: "size-3.5"
|
|
3133
|
-
}, null, 8, ["icon"]),
|
|
3134
|
-
createElementVNode("span", null, toDisplayString(__props.change >= 0 ? "+" : "") + toDisplayString(__props.change) + "%", 1),
|
|
3135
|
-
__props.changeLabel ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(__props.changeLabel), 1)) : createCommentVNode("", true)
|
|
3136
|
-
], 2)) : createCommentVNode("", true)
|
|
3137
|
-
], 2);
|
|
3183
|
+
return openBlock(), createBlock(_sfc_main$z, {
|
|
3184
|
+
variant: cardVariant.value,
|
|
3185
|
+
padding: sizeClasses.value.padding,
|
|
3186
|
+
clickable: __props.clickable,
|
|
3187
|
+
shadow: __props.variant === "glass" ? "none" : "sm",
|
|
3188
|
+
border: __props.variant === "outline" ? "default" : "none",
|
|
3189
|
+
rounded: "xl",
|
|
3190
|
+
"header-divider": false,
|
|
3191
|
+
class: normalizeClass(__props.cardClass),
|
|
3192
|
+
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
|
|
3193
|
+
}, {
|
|
3194
|
+
default: withCtx(() => [
|
|
3195
|
+
createElementVNode("div", {
|
|
3196
|
+
class: normalizeClass(layoutClasses.value)
|
|
3197
|
+
}, [
|
|
3198
|
+
__props.icon ? (openBlock(), createElementBlock("div", {
|
|
3199
|
+
key: 0,
|
|
3200
|
+
class: normalizeClass([
|
|
3201
|
+
"rounded-xl flex items-center justify-center flex-shrink-0",
|
|
3202
|
+
sizeClasses.value.icon,
|
|
3203
|
+
iconBgClasses.value,
|
|
3204
|
+
__props.iconPosition === "top" && "mb-2",
|
|
3205
|
+
__props.iconClass
|
|
3206
|
+
])
|
|
3207
|
+
}, [
|
|
3208
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
3209
|
+
createVNode(unref(Icon), {
|
|
3210
|
+
icon: __props.icon,
|
|
3211
|
+
class: normalizeClass([sizeClasses.value.iconInner, iconColorClasses.value])
|
|
3212
|
+
}, null, 8, ["icon", "class"])
|
|
3213
|
+
])
|
|
3214
|
+
], 2)) : createCommentVNode("", true),
|
|
3215
|
+
createElementVNode("div", {
|
|
3216
|
+
class: normalizeClass(contentClasses.value)
|
|
3217
|
+
}, [
|
|
3218
|
+
createElementVNode("div", {
|
|
3219
|
+
class: normalizeClass([sizeClasses.value.value, valueTextClasses.value, __props.valueClass])
|
|
3220
|
+
}, [
|
|
3221
|
+
renderSlot(_ctx.$slots, "value", {}, () => [
|
|
3222
|
+
createTextVNode(toDisplayString(__props.value), 1)
|
|
3223
|
+
])
|
|
3224
|
+
], 2),
|
|
3225
|
+
createElementVNode("div", {
|
|
3226
|
+
class: normalizeClass([sizeClasses.value.label, labelTextClasses.value, __props.labelClass])
|
|
3227
|
+
}, [
|
|
3228
|
+
renderSlot(_ctx.$slots, "label", {}, () => [
|
|
3229
|
+
createTextVNode(toDisplayString(__props.label), 1)
|
|
3230
|
+
])
|
|
3231
|
+
], 2),
|
|
3232
|
+
__props.change !== void 0 || __props.trend ? (openBlock(), createElementBlock("div", {
|
|
3233
|
+
key: 0,
|
|
3234
|
+
class: normalizeClass([
|
|
3235
|
+
"mt-1 font-medium inline-flex items-center gap-1",
|
|
3236
|
+
sizeClasses.value.change,
|
|
3237
|
+
trendColorClasses.value
|
|
3238
|
+
])
|
|
3239
|
+
}, [
|
|
3240
|
+
createVNode(unref(Icon), {
|
|
3241
|
+
icon: trendIcon.value,
|
|
3242
|
+
class: "size-3.5"
|
|
3243
|
+
}, null, 8, ["icon"]),
|
|
3244
|
+
!__props.trendOnly && __props.change !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(__props.change >= 0 ? "+" : "") + toDisplayString(__props.change) + "% ", 1)) : createCommentVNode("", true),
|
|
3245
|
+
__props.changeLabel ? (openBlock(), createElementBlock("span", _hoisted_2$1, toDisplayString(__props.changeLabel), 1)) : createCommentVNode("", true)
|
|
3246
|
+
], 2)) : createCommentVNode("", true)
|
|
3247
|
+
], 2)
|
|
3248
|
+
], 2),
|
|
3249
|
+
renderSlot(_ctx.$slots, "extra")
|
|
3250
|
+
]),
|
|
3251
|
+
_: 3
|
|
3252
|
+
}, 8, ["variant", "padding", "clickable", "shadow", "border", "class"]);
|
|
3138
3253
|
};
|
|
3139
3254
|
}
|
|
3140
3255
|
});
|
|
3141
3256
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
3142
|
-
__name: "
|
|
3257
|
+
__name: "Stats",
|
|
3143
3258
|
props: {
|
|
3144
3259
|
stats: {},
|
|
3145
3260
|
cols: {},
|
|
3261
|
+
gap: { default: "md" },
|
|
3146
3262
|
variant: { default: "default" },
|
|
3263
|
+
size: { default: "md" },
|
|
3264
|
+
iconPosition: { default: "top" },
|
|
3147
3265
|
color: { default: "primary" }
|
|
3148
3266
|
},
|
|
3149
3267
|
setup(__props) {
|
|
3150
3268
|
return (_ctx, _cache) => {
|
|
3269
|
+
var _a, _b, _c, _d;
|
|
3151
3270
|
return openBlock(), createElementBlock("div", {
|
|
3152
|
-
class: normalizeClass(["grid
|
|
3271
|
+
class: normalizeClass(["grid", [
|
|
3272
|
+
// Gap classes
|
|
3273
|
+
__props.gap === "sm" && "gap-2 sm:gap-3",
|
|
3274
|
+
__props.gap === "md" && "gap-3 sm:gap-4",
|
|
3275
|
+
__props.gap === "lg" && "gap-4 sm:gap-6",
|
|
3276
|
+
// Column classes
|
|
3277
|
+
__props.cols === 1 && "grid-cols-1",
|
|
3153
3278
|
__props.cols === 2 && "grid-cols-2",
|
|
3154
3279
|
__props.cols === 3 && "grid-cols-3",
|
|
3155
3280
|
__props.cols === 4 && "grid-cols-2 sm:grid-cols-4",
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
!__props.cols && __props.stats.length
|
|
3281
|
+
__props.cols === 5 && "grid-cols-2 sm:grid-cols-3 lg:grid-cols-5",
|
|
3282
|
+
__props.cols === 6 && "grid-cols-2 sm:grid-cols-3 lg:grid-cols-6",
|
|
3283
|
+
// Auto columns based on stats length
|
|
3284
|
+
!__props.cols && ((_a = __props.stats) == null ? void 0 : _a.length) === 1 && "grid-cols-1",
|
|
3285
|
+
!__props.cols && ((_b = __props.stats) == null ? void 0 : _b.length) === 2 && "grid-cols-2",
|
|
3286
|
+
!__props.cols && ((_c = __props.stats) == null ? void 0 : _c.length) === 3 && "grid-cols-3",
|
|
3287
|
+
!__props.cols && ((_d = __props.stats) == null ? void 0 : _d.length) === 4 && "grid-cols-2 sm:grid-cols-4",
|
|
3288
|
+
!__props.cols && __props.stats && __props.stats.length > 4 && "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4"
|
|
3160
3289
|
]])
|
|
3161
3290
|
}, [
|
|
3162
3291
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.stats, (stat, index) => {
|
|
@@ -3167,10 +3296,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
3167
3296
|
icon: stat.icon,
|
|
3168
3297
|
change: stat.change,
|
|
3169
3298
|
"change-label": stat.changeLabel,
|
|
3299
|
+
trend: stat.trend,
|
|
3170
3300
|
variant: __props.variant,
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3301
|
+
size: __props.size,
|
|
3302
|
+
"icon-position": __props.iconPosition,
|
|
3303
|
+
color: stat.color || __props.color
|
|
3304
|
+
}, null, 8, ["label", "value", "icon", "change", "change-label", "trend", "variant", "size", "icon-position", "color"]);
|
|
3305
|
+
}), 128)),
|
|
3306
|
+
renderSlot(_ctx.$slots, "default")
|
|
3174
3307
|
], 2);
|
|
3175
3308
|
};
|
|
3176
3309
|
}
|
|
@@ -3351,4 +3484,4 @@ export {
|
|
|
3351
3484
|
_sfc_main$b as y,
|
|
3352
3485
|
_sfc_main$a as z
|
|
3353
3486
|
};
|
|
3354
|
-
//# sourceMappingURL=FilterTabs.vue_vue_type_script_setup_true_lang-
|
|
3487
|
+
//# sourceMappingURL=FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js.map
|