cisse-vue-ui 0.10.0 → 0.10.1
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/{ConfirmDialog.vue_vue_type_script_setup_true_lang-C5KHLMvx.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-DhPNxKgF.js} +40 -94
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-DhPNxKgF.js.map +1 -0
- package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-CLfy0-Wb.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-DwW3MT85.cjs} +37 -91
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-DwW3MT85.cjs.map +1 -0
- package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-l8lJzwoY.cjs → FilterTabs.vue_vue_type_script_setup_true_lang-CwcJkw3D.cjs} +295 -94
- package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-l8lJzwoY.cjs.map → FilterTabs.vue_vue_type_script_setup_true_lang-CwcJkw3D.cjs.map} +1 -1
- package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js → FilterTabs.vue_vue_type_script_setup_true_lang-aPs8YGWB.js} +290 -89
- package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js.map → FilterTabs.vue_vue_type_script_setup_true_lang-aPs8YGWB.js.map} +1 -1
- package/dist/{ListSkeleton.vue_vue_type_script_setup_true_lang-Bo3HqgX0.cjs → Skeleton.vue_vue_type_script_setup_true_lang-ahmyY81P.cjs} +70 -16
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-ahmyY81P.cjs.map +1 -0
- package/dist/{ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js → Skeleton.vue_vue_type_script_setup_true_lang-mcD2ZqKf.js} +70 -16
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-mcD2ZqKf.js.map +1 -0
- package/dist/components/core/StatItem.stories.d.ts +19 -0
- package/dist/components/core/StatItem.vue.d.ts +59 -5
- package/dist/components/core/Stats.stories.d.ts +21 -0
- package/dist/components/core/Stats.vue.d.ts +60 -4
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.d.ts +2 -2
- package/dist/components/core/index.js +1 -1
- package/dist/components/feedback/index.cjs +8 -8
- package/dist/components/feedback/index.js +7 -7
- package/dist/components/index.cjs +9 -9
- package/dist/components/index.js +8 -8
- package/dist/{index-CYXOfUOG.cjs → index-CKd33NtQ.cjs} +10 -10
- package/dist/{index-CYXOfUOG.cjs.map → index-CKd33NtQ.cjs.map} +1 -1
- package/dist/{index-C_N7WRnM.js → index-D-VE0o-l.js} +4 -4
- package/dist/{index-C_N7WRnM.js.map → index-D-VE0o-l.js.map} +1 -1
- package/dist/index.cjs +10 -10
- package/dist/index.js +12 -12
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-C5KHLMvx.js.map +0 -1
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CLfy0-Wb.cjs.map +0 -1
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js.map +0 -1
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-Bo3HqgX0.cjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
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
2
|
import { _ as _sfc_main$C, a as useBreakpoints } from "./index-BaWpldIJ.js";
|
|
3
|
-
import {
|
|
3
|
+
import { c as _sfc_main$B, b as _sfc_main$I, _ as _sfc_main$J, d as _sfc_main$K, a as _sfc_main$L } from "./Skeleton.vue_vue_type_script_setup_true_lang-mcD2ZqKf.js";
|
|
4
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";
|
|
5
5
|
import { a as usePagination, u as useDarkMode } from "./usePagination-BGwbICFC.js";
|
|
6
6
|
import { Icon } from "@iconify/vue";
|
|
@@ -11,11 +11,11 @@ const _hoisted_1$o = {
|
|
|
11
11
|
class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950"
|
|
12
12
|
};
|
|
13
13
|
const _hoisted_2$h = { class: "flex flex-col gap-0.5" };
|
|
14
|
-
const _hoisted_3$
|
|
14
|
+
const _hoisted_3$b = {
|
|
15
15
|
key: 1,
|
|
16
16
|
class: "text-sm font-normal text-gray-600 dark:text-gray-400"
|
|
17
17
|
};
|
|
18
|
-
const _hoisted_4$
|
|
18
|
+
const _hoisted_4$8 = { class: "flex gap-2" };
|
|
19
19
|
const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
20
20
|
__name: "CardComponent",
|
|
21
21
|
props: {
|
|
@@ -61,13 +61,13 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
61
61
|
createTextVNode(toDisplayString(__props.title), 1)
|
|
62
62
|
])
|
|
63
63
|
], 2)) : createCommentVNode("", true),
|
|
64
|
-
__props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
64
|
+
__props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("span", _hoisted_3$b, [
|
|
65
65
|
renderSlot(_ctx.$slots, "description", {}, () => [
|
|
66
66
|
createTextVNode(toDisplayString(__props.description), 1)
|
|
67
67
|
])
|
|
68
68
|
])) : createCommentVNode("", true)
|
|
69
69
|
]),
|
|
70
|
-
createElementVNode("div", _hoisted_4$
|
|
70
|
+
createElementVNode("div", _hoisted_4$8, [
|
|
71
71
|
renderSlot(_ctx.$slots, "actions")
|
|
72
72
|
])
|
|
73
73
|
], 2)) : createCommentVNode("", true),
|
|
@@ -78,8 +78,8 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
78
78
|
});
|
|
79
79
|
const _hoisted_1$n = ["role", "tabindex", "onKeydown"];
|
|
80
80
|
const _hoisted_2$g = ["src", "alt"];
|
|
81
|
-
const _hoisted_3$
|
|
82
|
-
const _hoisted_4$
|
|
81
|
+
const _hoisted_3$a = ["src", "alt"];
|
|
82
|
+
const _hoisted_4$7 = { class: "flex items-center gap-3" };
|
|
83
83
|
const _hoisted_5$4 = { class: "flex flex-col gap-0.5" };
|
|
84
84
|
const _hoisted_6$3 = ["src", "alt"];
|
|
85
85
|
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
@@ -325,7 +325,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
325
325
|
src: __props.image,
|
|
326
326
|
alt: __props.imageAlt || "",
|
|
327
327
|
class: normalizeClass(["w-full h-full object-cover", __props.imageClass])
|
|
328
|
-
}, null, 10, _hoisted_3$
|
|
328
|
+
}, null, 10, _hoisted_3$a)) : createCommentVNode("", true)
|
|
329
329
|
])
|
|
330
330
|
], 6)) : createCommentVNode("", true),
|
|
331
331
|
createElementVNode("div", {
|
|
@@ -351,7 +351,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
351
351
|
__props.imagePosition === "background" && "text-white border-white/20"
|
|
352
352
|
])
|
|
353
353
|
}, [
|
|
354
|
-
createElementVNode("div", _hoisted_4$
|
|
354
|
+
createElementVNode("div", _hoisted_4$7, [
|
|
355
355
|
__props.icon || _ctx.$slots.icon ? (openBlock(), createElementBlock("div", {
|
|
356
356
|
key: 0,
|
|
357
357
|
class: normalizeClass(computedIconClass.value)
|
|
@@ -651,7 +651,7 @@ const _hoisted_2$f = {
|
|
|
651
651
|
key: 0,
|
|
652
652
|
d: "M7 14l5-5 5 5H7z"
|
|
653
653
|
};
|
|
654
|
-
const _hoisted_3$
|
|
654
|
+
const _hoisted_3$9 = {
|
|
655
655
|
key: 1,
|
|
656
656
|
d: "M7 10l5 5 5-5H7z"
|
|
657
657
|
};
|
|
@@ -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$f)) : __props.sorted && __props.sortDirection === "desc" ? (openBlock(), createElementBlock("path", _hoisted_3$
|
|
736
|
+
__props.sorted && __props.sortDirection === "asc" ? (openBlock(), createElementBlock("path", _hoisted_2$f)) : __props.sorted && __props.sortDirection === "desc" ? (openBlock(), createElementBlock("path", _hoisted_3$9)) : (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"
|
|
@@ -1116,8 +1116,8 @@ const _hoisted_2$d = {
|
|
|
1116
1116
|
key: 1,
|
|
1117
1117
|
class: "flex flex-col items-center justify-center py-12 text-center"
|
|
1118
1118
|
};
|
|
1119
|
-
const _hoisted_3$
|
|
1120
|
-
const _hoisted_4$
|
|
1119
|
+
const _hoisted_3$8 = { class: "flex flex-col items-center gap-3" };
|
|
1120
|
+
const _hoisted_4$6 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
1121
1121
|
const _hoisted_5$3 = {
|
|
1122
1122
|
key: 3,
|
|
1123
1123
|
class: "flex flex-col items-center justify-center py-12 text-center"
|
|
@@ -1234,7 +1234,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1234
1234
|
columns: visibleProperties.value.length
|
|
1235
1235
|
}, null, 8, ["rows", "columns"])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
|
|
1236
1236
|
renderSlot(_ctx.$slots, "error", {}, () => [
|
|
1237
|
-
createElementVNode("div", _hoisted_3$
|
|
1237
|
+
createElementVNode("div", _hoisted_3$8, [
|
|
1238
1238
|
_cache[2] || (_cache[2] = createElementVNode("svg", {
|
|
1239
1239
|
class: "size-12 text-red-400",
|
|
1240
1240
|
fill: "none",
|
|
@@ -1248,7 +1248,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1248
1248
|
d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
|
1249
1249
|
})
|
|
1250
1250
|
], -1)),
|
|
1251
|
-
createElementVNode("p", _hoisted_4$
|
|
1251
|
+
createElementVNode("p", _hoisted_4$6, toDisplayString(__props.errorMessage), 1)
|
|
1252
1252
|
])
|
|
1253
1253
|
])
|
|
1254
1254
|
])) : __props.items && __props.items.length > 0 ? (openBlock(), createBlock(_sfc_main$y, {
|
|
@@ -1359,8 +1359,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
1359
1359
|
});
|
|
1360
1360
|
const _hoisted_1$f = { class: "space-y-3" };
|
|
1361
1361
|
const _hoisted_2$c = { class: "flex items-center gap-3 p-3" };
|
|
1362
|
-
const _hoisted_3$
|
|
1363
|
-
const _hoisted_4$
|
|
1362
|
+
const _hoisted_3$7 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
1363
|
+
const _hoisted_4$5 = {
|
|
1364
1364
|
key: 0,
|
|
1365
1365
|
class: "text-sm text-primary font-medium"
|
|
1366
1366
|
};
|
|
@@ -1445,8 +1445,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1445
1445
|
indeterminate: someSelected.value,
|
|
1446
1446
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("selectAll"))
|
|
1447
1447
|
}, null, 8, ["model-value", "indeterminate"]),
|
|
1448
|
-
createElementVNode("span", _hoisted_3$
|
|
1449
|
-
__props.selectedItems && __props.selectedItems.size > 0 ? (openBlock(), createElementBlock("span", _hoisted_4$
|
|
1448
|
+
createElementVNode("span", _hoisted_3$7, toDisplayString(allSelected.value ? "Tout désélectionner" : "Tout sélectionner"), 1),
|
|
1449
|
+
__props.selectedItems && __props.selectedItems.size > 0 ? (openBlock(), createElementBlock("span", _hoisted_4$5, " (" + toDisplayString(__props.selectedItems.size) + " sélectionné" + toDisplayString(__props.selectedItems.size > 1 ? "s" : "") + ") ", 1)) : createCommentVNode("", true)
|
|
1450
1450
|
])
|
|
1451
1451
|
]),
|
|
1452
1452
|
_: 1
|
|
@@ -1629,8 +1629,8 @@ const _hoisted_1$e = {
|
|
|
1629
1629
|
class: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"
|
|
1630
1630
|
};
|
|
1631
1631
|
const _hoisted_2$b = { class: "relative" };
|
|
1632
|
-
const _hoisted_3$
|
|
1633
|
-
const _hoisted_4$
|
|
1632
|
+
const _hoisted_3$6 = ["disabled", "placeholder"];
|
|
1633
|
+
const _hoisted_4$4 = ["disabled"];
|
|
1634
1634
|
const _hoisted_5$1 = {
|
|
1635
1635
|
key: 0,
|
|
1636
1636
|
class: "px-4 py-3 text-sm text-gray-500"
|
|
@@ -1770,7 +1770,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1770
1770
|
type: "text",
|
|
1771
1771
|
onFocus: openDropdown,
|
|
1772
1772
|
onKeydown: handleKeydown
|
|
1773
|
-
}, null, 40, _hoisted_3$
|
|
1773
|
+
}, null, 40, _hoisted_3$6), [
|
|
1774
1774
|
[vModelText, searchQuery.value]
|
|
1775
1775
|
]),
|
|
1776
1776
|
__props.modelValue && !__props.disabled ? (openBlock(), createElementBlock("button", {
|
|
@@ -1794,7 +1794,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1794
1794
|
class: normalizeClass([{ "rotate-180": unref(isOpen) }, "size-4 text-gray-400 transition"]),
|
|
1795
1795
|
icon: "lucide:chevron-down"
|
|
1796
1796
|
}, null, 8, ["class"])
|
|
1797
|
-
], 8, _hoisted_4$
|
|
1797
|
+
], 8, _hoisted_4$4)
|
|
1798
1798
|
], 2),
|
|
1799
1799
|
(openBlock(), createBlock(Teleport, {
|
|
1800
1800
|
to: "body",
|
|
@@ -1922,7 +1922,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
1922
1922
|
});
|
|
1923
1923
|
const _hoisted_1$d = { class: "relative inline-block" };
|
|
1924
1924
|
const _hoisted_2$a = ["src", "alt"];
|
|
1925
|
-
const _hoisted_3$
|
|
1925
|
+
const _hoisted_3$5 = { key: 1 };
|
|
1926
1926
|
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
1927
1927
|
__name: "Avatar",
|
|
1928
1928
|
props: {
|
|
@@ -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$a)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
2046
|
+
}, null, 40, _hoisted_2$a)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$5, toDisplayString(initials.value), 1)) : (openBlock(), createBlock(unref(Icon), {
|
|
2047
2047
|
key: 2,
|
|
2048
2048
|
icon: "lucide:user",
|
|
2049
2049
|
class: "size-1/2"
|
|
@@ -2535,8 +2535,8 @@ const _hoisted_1$7 = {
|
|
|
2535
2535
|
class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700"
|
|
2536
2536
|
};
|
|
2537
2537
|
const _hoisted_2$6 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
|
|
2538
|
-
const _hoisted_3$
|
|
2539
|
-
const _hoisted_4$
|
|
2538
|
+
const _hoisted_3$4 = { class: "flex-1 overflow-y-auto p-4" };
|
|
2539
|
+
const _hoisted_4$3 = {
|
|
2540
2540
|
key: 1,
|
|
2541
2541
|
class: "px-4 py-3 border-t border-gray-200 dark:border-gray-700"
|
|
2542
2542
|
};
|
|
@@ -2675,10 +2675,10 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2675
2675
|
})
|
|
2676
2676
|
])) : createCommentVNode("", true)
|
|
2677
2677
|
])) : createCommentVNode("", true),
|
|
2678
|
-
createElementVNode("div", _hoisted_3$
|
|
2678
|
+
createElementVNode("div", _hoisted_3$4, [
|
|
2679
2679
|
renderSlot(_ctx.$slots, "default")
|
|
2680
2680
|
]),
|
|
2681
|
-
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
2681
|
+
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
|
|
2682
2682
|
renderSlot(_ctx.$slots, "footer")
|
|
2683
2683
|
])) : createCommentVNode("", true)
|
|
2684
2684
|
], 2)) : createCommentVNode("", true)
|
|
@@ -2780,8 +2780,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
2780
2780
|
});
|
|
2781
2781
|
const _hoisted_1$4 = ["id", "disabled", "aria-expanded", "aria-controls"];
|
|
2782
2782
|
const _hoisted_2$4 = { class: "flex items-center gap-2 font-medium" };
|
|
2783
|
-
const _hoisted_3$
|
|
2784
|
-
const _hoisted_4$
|
|
2783
|
+
const _hoisted_3$3 = ["id", "aria-labelledby"];
|
|
2784
|
+
const _hoisted_4$2 = { 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({
|
|
2786
2786
|
__name: "AccordionItem",
|
|
2787
2787
|
props: {
|
|
@@ -2846,10 +2846,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
2846
2846
|
"aria-labelledby": headerId.value,
|
|
2847
2847
|
class: "overflow-hidden"
|
|
2848
2848
|
}, [
|
|
2849
|
-
createElementVNode("div", _hoisted_4$
|
|
2849
|
+
createElementVNode("div", _hoisted_4$2, [
|
|
2850
2850
|
renderSlot(_ctx.$slots, "default")
|
|
2851
2851
|
])
|
|
2852
|
-
], 8, _hoisted_3$
|
|
2852
|
+
], 8, _hoisted_3$3), [
|
|
2853
2853
|
[vShow, isOpen.value]
|
|
2854
2854
|
])
|
|
2855
2855
|
]),
|
|
@@ -2864,8 +2864,8 @@ const _hoisted_1$3 = {
|
|
|
2864
2864
|
class: "relative"
|
|
2865
2865
|
};
|
|
2866
2866
|
const _hoisted_2$3 = { class: "flex items-start gap-4" };
|
|
2867
|
-
const _hoisted_3$
|
|
2868
|
-
const _hoisted_4 = { class: "flex items-center justify-between gap-2" };
|
|
2867
|
+
const _hoisted_3$2 = { class: "flex-1 min-w-0 pt-0.5" };
|
|
2868
|
+
const _hoisted_4$1 = { class: "flex items-center justify-between gap-2" };
|
|
2869
2869
|
const _hoisted_5 = { class: "text-sm font-medium text-gray-900 dark:text-white" };
|
|
2870
2870
|
const _hoisted_6 = {
|
|
2871
2871
|
key: 0,
|
|
@@ -2952,8 +2952,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
2952
2952
|
class: normalizeClass(["size-4", getStatusClasses(item.status).icon])
|
|
2953
2953
|
}, null, 8, ["icon", "class"])) : createCommentVNode("", true)
|
|
2954
2954
|
], 2),
|
|
2955
|
-
createElementVNode("div", _hoisted_3$
|
|
2956
|
-
createElementVNode("div", _hoisted_4, [
|
|
2955
|
+
createElementVNode("div", _hoisted_3$2, [
|
|
2956
|
+
createElementVNode("div", _hoisted_4$1, [
|
|
2957
2957
|
createElementVNode("h3", _hoisted_5, toDisplayString(item.title), 1),
|
|
2958
2958
|
item.date ? (openBlock(), createElementBlock("time", _hoisted_6, toDisplayString(item.date), 1)) : createCommentVNode("", true)
|
|
2959
2959
|
]),
|
|
@@ -3039,9 +3039,17 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3039
3039
|
};
|
|
3040
3040
|
}
|
|
3041
3041
|
});
|
|
3042
|
-
const _hoisted_1$1 = {
|
|
3042
|
+
const _hoisted_1$1 = {
|
|
3043
|
+
key: 0,
|
|
3044
|
+
class: "mr-0.5"
|
|
3045
|
+
};
|
|
3043
3046
|
const _hoisted_2$1 = {
|
|
3044
3047
|
key: 1,
|
|
3048
|
+
class: "ml-0.5"
|
|
3049
|
+
};
|
|
3050
|
+
const _hoisted_3$1 = { key: 1 };
|
|
3051
|
+
const _hoisted_4 = {
|
|
3052
|
+
key: 2,
|
|
3045
3053
|
class: "text-gray-400"
|
|
3046
3054
|
};
|
|
3047
3055
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
@@ -3049,28 +3057,46 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3049
3057
|
props: {
|
|
3050
3058
|
label: {},
|
|
3051
3059
|
value: {},
|
|
3060
|
+
description: {},
|
|
3061
|
+
prefix: {},
|
|
3062
|
+
suffix: {},
|
|
3052
3063
|
icon: {},
|
|
3053
3064
|
iconPosition: { default: "top" },
|
|
3065
|
+
iconRounded: { default: "xl" },
|
|
3066
|
+
hideIconBg: { type: Boolean, default: false },
|
|
3054
3067
|
change: {},
|
|
3055
3068
|
changeLabel: {},
|
|
3056
3069
|
trend: {},
|
|
3057
3070
|
trendOnly: { type: Boolean, default: false },
|
|
3071
|
+
hideTrendIcon: { type: Boolean, default: false },
|
|
3072
|
+
invertTrendColors: { type: Boolean, default: false },
|
|
3058
3073
|
size: { default: "md" },
|
|
3059
3074
|
variant: { default: "default" },
|
|
3060
3075
|
color: { default: "primary" },
|
|
3061
3076
|
clickable: { type: Boolean, default: false },
|
|
3062
3077
|
centered: { type: Boolean },
|
|
3078
|
+
labelFirst: { type: Boolean, default: false },
|
|
3079
|
+
compact: { type: Boolean, default: false },
|
|
3080
|
+
loading: { type: Boolean, default: false },
|
|
3081
|
+
shadow: { default: "sm" },
|
|
3082
|
+
rounded: { default: "xl" },
|
|
3083
|
+
border: { default: "none" },
|
|
3084
|
+
accent: { default: "none" },
|
|
3063
3085
|
cardClass: {},
|
|
3086
|
+
iconWrapperClass: {},
|
|
3064
3087
|
iconClass: {},
|
|
3065
3088
|
valueClass: {},
|
|
3066
|
-
labelClass: {}
|
|
3089
|
+
labelClass: {},
|
|
3090
|
+
descriptionClass: {},
|
|
3091
|
+
trendClass: {},
|
|
3092
|
+
contentClass: {}
|
|
3067
3093
|
},
|
|
3068
3094
|
emits: ["click"],
|
|
3069
3095
|
setup(__props) {
|
|
3070
3096
|
const props = __props;
|
|
3071
3097
|
const isCentered = computed(() => {
|
|
3072
3098
|
if (props.centered !== void 0) return props.centered;
|
|
3073
|
-
return props.iconPosition === "top";
|
|
3099
|
+
return props.iconPosition === "top" || props.iconPosition === "bottom";
|
|
3074
3100
|
});
|
|
3075
3101
|
const effectiveTrend = computed(() => {
|
|
3076
3102
|
if (props.trend) return props.trend;
|
|
@@ -3081,38 +3107,73 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3081
3107
|
});
|
|
3082
3108
|
const sizeClasses = computed(() => {
|
|
3083
3109
|
const sizes = {
|
|
3110
|
+
xs: {
|
|
3111
|
+
padding: props.compact ? "none" : "sm",
|
|
3112
|
+
icon: "size-6",
|
|
3113
|
+
iconInner: "size-3",
|
|
3114
|
+
value: "text-lg font-bold",
|
|
3115
|
+
label: "text-xs",
|
|
3116
|
+
description: "text-xs",
|
|
3117
|
+
change: "text-xs",
|
|
3118
|
+
gap: "gap-0.5"
|
|
3119
|
+
},
|
|
3084
3120
|
sm: {
|
|
3085
|
-
padding: "sm",
|
|
3121
|
+
padding: props.compact ? "sm" : "sm",
|
|
3086
3122
|
icon: "size-8",
|
|
3087
3123
|
iconInner: "size-4",
|
|
3088
3124
|
value: "text-xl font-bold",
|
|
3089
3125
|
label: "text-xs",
|
|
3126
|
+
description: "text-xs",
|
|
3090
3127
|
change: "text-xs",
|
|
3091
3128
|
gap: "gap-1"
|
|
3092
3129
|
},
|
|
3093
3130
|
md: {
|
|
3094
|
-
padding: "md",
|
|
3131
|
+
padding: props.compact ? "sm" : "md",
|
|
3095
3132
|
icon: "size-10",
|
|
3096
3133
|
iconInner: "size-5",
|
|
3097
3134
|
value: "text-2xl sm:text-3xl font-bold",
|
|
3098
3135
|
label: "text-xs sm:text-sm",
|
|
3136
|
+
description: "text-xs sm:text-sm",
|
|
3099
3137
|
change: "text-xs",
|
|
3100
3138
|
gap: "gap-2"
|
|
3101
3139
|
},
|
|
3102
3140
|
lg: {
|
|
3103
|
-
padding: "lg",
|
|
3141
|
+
padding: props.compact ? "md" : "lg",
|
|
3104
3142
|
icon: "size-12",
|
|
3105
3143
|
iconInner: "size-6",
|
|
3106
3144
|
value: "text-3xl sm:text-4xl font-bold",
|
|
3107
3145
|
label: "text-sm sm:text-base",
|
|
3146
|
+
description: "text-sm",
|
|
3108
3147
|
change: "text-sm",
|
|
3109
3148
|
gap: "gap-3"
|
|
3149
|
+
},
|
|
3150
|
+
xl: {
|
|
3151
|
+
padding: props.compact ? "md" : "lg",
|
|
3152
|
+
icon: "size-14",
|
|
3153
|
+
iconInner: "size-7",
|
|
3154
|
+
value: "text-4xl sm:text-5xl font-bold",
|
|
3155
|
+
label: "text-base sm:text-lg",
|
|
3156
|
+
description: "text-sm sm:text-base",
|
|
3157
|
+
change: "text-sm",
|
|
3158
|
+
gap: "gap-4"
|
|
3110
3159
|
}
|
|
3111
3160
|
};
|
|
3112
3161
|
return sizes[props.size];
|
|
3113
3162
|
});
|
|
3163
|
+
const iconRoundedClasses = computed(() => {
|
|
3164
|
+
const map = {
|
|
3165
|
+
none: "rounded-none",
|
|
3166
|
+
sm: "rounded-sm",
|
|
3167
|
+
md: "rounded-md",
|
|
3168
|
+
lg: "rounded-lg",
|
|
3169
|
+
xl: "rounded-xl",
|
|
3170
|
+
full: "rounded-full"
|
|
3171
|
+
};
|
|
3172
|
+
return map[props.iconRounded];
|
|
3173
|
+
});
|
|
3114
3174
|
const iconBgClasses = computed(() => {
|
|
3115
|
-
if (props.
|
|
3175
|
+
if (props.hideIconBg) return "";
|
|
3176
|
+
if (props.variant === "glass" || props.variant === "solid") return "bg-white/20";
|
|
3116
3177
|
const colors = {
|
|
3117
3178
|
primary: "bg-primary-100 dark:bg-primary-900/30",
|
|
3118
3179
|
secondary: "bg-secondary-100 dark:bg-secondary-900/30",
|
|
@@ -3124,7 +3185,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3124
3185
|
return colors[props.color];
|
|
3125
3186
|
});
|
|
3126
3187
|
const iconColorClasses = computed(() => {
|
|
3127
|
-
if (props.variant === "glass") return "text-white";
|
|
3188
|
+
if (props.variant === "glass" || props.variant === "solid") return "text-white";
|
|
3128
3189
|
const colors = {
|
|
3129
3190
|
primary: "text-primary-600 dark:text-primary-400",
|
|
3130
3191
|
secondary: "text-secondary-600 dark:text-secondary-400",
|
|
@@ -3135,19 +3196,43 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3135
3196
|
};
|
|
3136
3197
|
return colors[props.color];
|
|
3137
3198
|
});
|
|
3199
|
+
const solidBgClasses = computed(() => {
|
|
3200
|
+
if (props.variant !== "solid") return "";
|
|
3201
|
+
const colors = {
|
|
3202
|
+
primary: "bg-primary-500",
|
|
3203
|
+
secondary: "bg-secondary-500",
|
|
3204
|
+
success: "bg-emerald-500",
|
|
3205
|
+
warning: "bg-amber-500",
|
|
3206
|
+
danger: "bg-red-500",
|
|
3207
|
+
info: "bg-blue-500"
|
|
3208
|
+
};
|
|
3209
|
+
return colors[props.color];
|
|
3210
|
+
});
|
|
3138
3211
|
const valueTextClasses = computed(() => {
|
|
3139
|
-
if (props.variant === "glass") return "text-white";
|
|
3212
|
+
if (props.variant === "glass" || props.variant === "solid") return "text-white";
|
|
3140
3213
|
return "text-gray-900 dark:text-white";
|
|
3141
3214
|
});
|
|
3142
3215
|
const labelTextClasses = computed(() => {
|
|
3143
3216
|
if (props.variant === "glass") return "text-white/80";
|
|
3217
|
+
if (props.variant === "solid") return "text-white/90";
|
|
3144
3218
|
return "text-gray-500 dark:text-gray-400";
|
|
3145
3219
|
});
|
|
3220
|
+
const descriptionTextClasses = computed(() => {
|
|
3221
|
+
if (props.variant === "glass") return "text-white/70";
|
|
3222
|
+
if (props.variant === "solid") return "text-white/80";
|
|
3223
|
+
return "text-gray-400 dark:text-gray-500";
|
|
3224
|
+
});
|
|
3146
3225
|
const trendColorClasses = computed(() => {
|
|
3147
3226
|
if (!effectiveTrend.value || effectiveTrend.value === "neutral") {
|
|
3148
3227
|
return "text-gray-500";
|
|
3149
3228
|
}
|
|
3150
|
-
|
|
3229
|
+
const isUp = effectiveTrend.value === "up";
|
|
3230
|
+
const greenColor = "text-emerald-500";
|
|
3231
|
+
const redColor = "text-red-500";
|
|
3232
|
+
if (props.invertTrendColors) {
|
|
3233
|
+
return isUp ? redColor : greenColor;
|
|
3234
|
+
}
|
|
3235
|
+
return isUp ? greenColor : redColor;
|
|
3151
3236
|
});
|
|
3152
3237
|
const trendIcon = computed(() => {
|
|
3153
3238
|
if (!effectiveTrend.value || effectiveTrend.value === "neutral") {
|
|
@@ -3156,100 +3241,170 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3156
3241
|
return effectiveTrend.value === "up" ? "heroicons:arrow-trending-up" : "heroicons:arrow-trending-down";
|
|
3157
3242
|
});
|
|
3158
3243
|
const cardVariant = computed(() => {
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3244
|
+
if (props.variant === "solid") return "default";
|
|
3245
|
+
return props.variant;
|
|
3246
|
+
});
|
|
3247
|
+
const effectiveShadow = computed(() => {
|
|
3248
|
+
if (props.variant === "glass") return "none";
|
|
3249
|
+
return props.shadow;
|
|
3250
|
+
});
|
|
3251
|
+
const effectiveBorder = computed(() => {
|
|
3252
|
+
if (props.variant === "outline") return "default";
|
|
3253
|
+
return props.border;
|
|
3166
3254
|
});
|
|
3167
3255
|
const layoutClasses = computed(() => {
|
|
3168
|
-
|
|
3169
|
-
|
|
3256
|
+
const centered = isCentered.value ? "items-center text-center" : "";
|
|
3257
|
+
switch (props.iconPosition) {
|
|
3258
|
+
case "top":
|
|
3259
|
+
return `flex flex-col ${centered}`;
|
|
3260
|
+
case "bottom":
|
|
3261
|
+
return `flex flex-col-reverse ${centered}`;
|
|
3262
|
+
case "left":
|
|
3263
|
+
return "flex flex-row items-center";
|
|
3264
|
+
case "right":
|
|
3265
|
+
return "flex flex-row-reverse items-center";
|
|
3266
|
+
default:
|
|
3267
|
+
return `flex flex-col ${centered}`;
|
|
3170
3268
|
}
|
|
3171
|
-
|
|
3172
|
-
|
|
3269
|
+
});
|
|
3270
|
+
const iconMarginClasses = computed(() => {
|
|
3271
|
+
switch (props.iconPosition) {
|
|
3272
|
+
case "top":
|
|
3273
|
+
return "mb-2";
|
|
3274
|
+
case "bottom":
|
|
3275
|
+
return "mt-2";
|
|
3276
|
+
case "left":
|
|
3277
|
+
return "mr-3";
|
|
3278
|
+
case "right":
|
|
3279
|
+
return "ml-3";
|
|
3280
|
+
default:
|
|
3281
|
+
return "";
|
|
3173
3282
|
}
|
|
3174
|
-
return "flex flex-row-reverse items-center";
|
|
3175
3283
|
});
|
|
3176
|
-
const
|
|
3177
|
-
|
|
3178
|
-
|
|
3284
|
+
const computedContentClasses = computed(() => {
|
|
3285
|
+
const isVertical = props.iconPosition === "top" || props.iconPosition === "bottom";
|
|
3286
|
+
if (isVertical) {
|
|
3287
|
+
return `flex flex-col ${sizeClasses.value.gap}`;
|
|
3179
3288
|
}
|
|
3180
|
-
return
|
|
3289
|
+
return `flex flex-col flex-1 min-w-0 ${sizeClasses.value.gap}`;
|
|
3181
3290
|
});
|
|
3182
3291
|
return (_ctx, _cache) => {
|
|
3183
3292
|
return openBlock(), createBlock(_sfc_main$z, {
|
|
3184
3293
|
variant: cardVariant.value,
|
|
3185
3294
|
padding: sizeClasses.value.padding,
|
|
3186
3295
|
clickable: __props.clickable,
|
|
3187
|
-
shadow:
|
|
3188
|
-
border:
|
|
3189
|
-
rounded:
|
|
3296
|
+
shadow: effectiveShadow.value,
|
|
3297
|
+
border: effectiveBorder.value,
|
|
3298
|
+
rounded: __props.rounded,
|
|
3299
|
+
accent: __props.accent,
|
|
3190
3300
|
"header-divider": false,
|
|
3191
|
-
class: normalizeClass(__props.cardClass),
|
|
3301
|
+
class: normalizeClass([__props.cardClass, solidBgClasses.value, __props.variant === "solid" && "text-white"]),
|
|
3192
3302
|
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
|
|
3193
3303
|
}, {
|
|
3194
3304
|
default: withCtx(() => [
|
|
3195
|
-
|
|
3305
|
+
__props.loading ? (openBlock(), createElementBlock("div", {
|
|
3306
|
+
key: 0,
|
|
3196
3307
|
class: normalizeClass(layoutClasses.value)
|
|
3197
3308
|
}, [
|
|
3198
|
-
__props.icon ? (openBlock(),
|
|
3309
|
+
__props.icon ? (openBlock(), createBlock(_sfc_main$L, {
|
|
3310
|
+
key: 0,
|
|
3311
|
+
class: normalizeClass([sizeClasses.value.icon, iconRoundedClasses.value, iconMarginClasses.value])
|
|
3312
|
+
}, null, 8, ["class"])) : createCommentVNode("", true),
|
|
3313
|
+
createElementVNode("div", {
|
|
3314
|
+
class: normalizeClass(computedContentClasses.value)
|
|
3315
|
+
}, [
|
|
3316
|
+
createVNode(_sfc_main$L, {
|
|
3317
|
+
class: normalizeClass(sizeClasses.value.value),
|
|
3318
|
+
width: "60%",
|
|
3319
|
+
height: "1.5em"
|
|
3320
|
+
}, null, 8, ["class"]),
|
|
3321
|
+
createVNode(_sfc_main$L, {
|
|
3322
|
+
class: normalizeClass(sizeClasses.value.label),
|
|
3323
|
+
width: "80%",
|
|
3324
|
+
height: "1em"
|
|
3325
|
+
}, null, 8, ["class"])
|
|
3326
|
+
], 2)
|
|
3327
|
+
], 2)) : (openBlock(), createElementBlock("div", {
|
|
3328
|
+
key: 1,
|
|
3329
|
+
class: normalizeClass(layoutClasses.value)
|
|
3330
|
+
}, [
|
|
3331
|
+
__props.icon || _ctx.$slots.icon ? (openBlock(), createElementBlock("div", {
|
|
3199
3332
|
key: 0,
|
|
3200
3333
|
class: normalizeClass([
|
|
3201
|
-
"
|
|
3334
|
+
"flex items-center justify-center flex-shrink-0",
|
|
3202
3335
|
sizeClasses.value.icon,
|
|
3336
|
+
iconRoundedClasses.value,
|
|
3203
3337
|
iconBgClasses.value,
|
|
3204
|
-
|
|
3205
|
-
__props.
|
|
3338
|
+
iconMarginClasses.value,
|
|
3339
|
+
__props.iconWrapperClass
|
|
3206
3340
|
])
|
|
3207
3341
|
}, [
|
|
3208
3342
|
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
3209
3343
|
createVNode(unref(Icon), {
|
|
3210
3344
|
icon: __props.icon,
|
|
3211
|
-
class: normalizeClass([sizeClasses.value.iconInner, iconColorClasses.value])
|
|
3345
|
+
class: normalizeClass([sizeClasses.value.iconInner, iconColorClasses.value, __props.iconClass])
|
|
3212
3346
|
}, null, 8, ["icon", "class"])
|
|
3213
3347
|
])
|
|
3214
3348
|
], 2)) : createCommentVNode("", true),
|
|
3215
3349
|
createElementVNode("div", {
|
|
3216
|
-
class: normalizeClass(
|
|
3350
|
+
class: normalizeClass([computedContentClasses.value, __props.contentClass])
|
|
3217
3351
|
}, [
|
|
3352
|
+
__props.labelFirst ? (openBlock(), createElementBlock("div", {
|
|
3353
|
+
key: 0,
|
|
3354
|
+
class: normalizeClass([sizeClasses.value.label, labelTextClasses.value, __props.labelClass])
|
|
3355
|
+
}, [
|
|
3356
|
+
renderSlot(_ctx.$slots, "label", {}, () => [
|
|
3357
|
+
createTextVNode(toDisplayString(__props.label), 1)
|
|
3358
|
+
])
|
|
3359
|
+
], 2)) : createCommentVNode("", true),
|
|
3218
3360
|
createElementVNode("div", {
|
|
3219
3361
|
class: normalizeClass([sizeClasses.value.value, valueTextClasses.value, __props.valueClass])
|
|
3220
3362
|
}, [
|
|
3221
3363
|
renderSlot(_ctx.$slots, "value", {}, () => [
|
|
3222
|
-
|
|
3364
|
+
__props.prefix ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(__props.prefix), 1)) : createCommentVNode("", true),
|
|
3365
|
+
createTextVNode(" " + toDisplayString(__props.value) + " ", 1),
|
|
3366
|
+
__props.suffix ? (openBlock(), createElementBlock("span", _hoisted_2$1, toDisplayString(__props.suffix), 1)) : createCommentVNode("", true)
|
|
3223
3367
|
])
|
|
3224
3368
|
], 2),
|
|
3225
|
-
|
|
3369
|
+
!__props.labelFirst ? (openBlock(), createElementBlock("div", {
|
|
3370
|
+
key: 1,
|
|
3226
3371
|
class: normalizeClass([sizeClasses.value.label, labelTextClasses.value, __props.labelClass])
|
|
3227
3372
|
}, [
|
|
3228
3373
|
renderSlot(_ctx.$slots, "label", {}, () => [
|
|
3229
3374
|
createTextVNode(toDisplayString(__props.label), 1)
|
|
3230
3375
|
])
|
|
3231
|
-
], 2),
|
|
3376
|
+
], 2)) : createCommentVNode("", true),
|
|
3377
|
+
__props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("div", {
|
|
3378
|
+
key: 2,
|
|
3379
|
+
class: normalizeClass([sizeClasses.value.description, descriptionTextClasses.value, __props.descriptionClass])
|
|
3380
|
+
}, [
|
|
3381
|
+
renderSlot(_ctx.$slots, "description", {}, () => [
|
|
3382
|
+
createTextVNode(toDisplayString(__props.description), 1)
|
|
3383
|
+
])
|
|
3384
|
+
], 2)) : createCommentVNode("", true),
|
|
3232
3385
|
__props.change !== void 0 || __props.trend ? (openBlock(), createElementBlock("div", {
|
|
3233
|
-
key:
|
|
3386
|
+
key: 3,
|
|
3234
3387
|
class: normalizeClass([
|
|
3235
3388
|
"mt-1 font-medium inline-flex items-center gap-1",
|
|
3236
3389
|
sizeClasses.value.change,
|
|
3237
|
-
trendColorClasses.value
|
|
3390
|
+
trendColorClasses.value,
|
|
3391
|
+
__props.trendClass
|
|
3238
3392
|
])
|
|
3239
3393
|
}, [
|
|
3240
|
-
|
|
3394
|
+
!__props.hideTrendIcon ? (openBlock(), createBlock(unref(Icon), {
|
|
3395
|
+
key: 0,
|
|
3241
3396
|
icon: trendIcon.value,
|
|
3242
3397
|
class: "size-3.5"
|
|
3243
|
-
}, null, 8, ["icon"]),
|
|
3244
|
-
!__props.trendOnly && __props.change !== void 0 ? (openBlock(), createElementBlock("span",
|
|
3245
|
-
__props.changeLabel ? (openBlock(), createElementBlock("span",
|
|
3398
|
+
}, null, 8, ["icon"])) : createCommentVNode("", true),
|
|
3399
|
+
!__props.trendOnly && __props.change !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(__props.change >= 0 ? "+" : "") + toDisplayString(__props.change) + "% ", 1)) : createCommentVNode("", true),
|
|
3400
|
+
__props.changeLabel ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(__props.changeLabel), 1)) : createCommentVNode("", true)
|
|
3246
3401
|
], 2)) : createCommentVNode("", true)
|
|
3247
3402
|
], 2)
|
|
3248
|
-
], 2),
|
|
3403
|
+
], 2)),
|
|
3249
3404
|
renderSlot(_ctx.$slots, "extra")
|
|
3250
3405
|
]),
|
|
3251
3406
|
_: 3
|
|
3252
|
-
}, 8, ["variant", "padding", "clickable", "shadow", "border", "class"]);
|
|
3407
|
+
}, 8, ["variant", "padding", "clickable", "shadow", "border", "rounded", "accent", "class"]);
|
|
3253
3408
|
};
|
|
3254
3409
|
}
|
|
3255
3410
|
});
|
|
@@ -3262,17 +3417,41 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
3262
3417
|
variant: { default: "default" },
|
|
3263
3418
|
size: { default: "md" },
|
|
3264
3419
|
iconPosition: { default: "top" },
|
|
3265
|
-
|
|
3420
|
+
iconRounded: { default: "xl" },
|
|
3421
|
+
hideIconBg: { type: Boolean, default: false },
|
|
3422
|
+
color: { default: "primary" },
|
|
3423
|
+
labelFirst: { type: Boolean, default: false },
|
|
3424
|
+
compact: { type: Boolean, default: false },
|
|
3425
|
+
loading: { type: Boolean, default: false },
|
|
3426
|
+
shadow: { default: "sm" },
|
|
3427
|
+
rounded: { default: "xl" },
|
|
3428
|
+
border: { default: "none" },
|
|
3429
|
+
accent: { default: "none" },
|
|
3430
|
+
clickable: { type: Boolean, default: false },
|
|
3431
|
+
centered: { type: Boolean },
|
|
3432
|
+
invertTrendColors: { type: Boolean, default: false },
|
|
3433
|
+
hideTrendIcon: { type: Boolean, default: false },
|
|
3434
|
+
gridClass: {},
|
|
3435
|
+
cardClass: {},
|
|
3436
|
+
iconWrapperClass: {},
|
|
3437
|
+
iconClass: {},
|
|
3438
|
+
valueClass: {},
|
|
3439
|
+
labelClass: {}
|
|
3266
3440
|
},
|
|
3441
|
+
emits: ["item-click"],
|
|
3267
3442
|
setup(__props) {
|
|
3268
3443
|
return (_ctx, _cache) => {
|
|
3269
3444
|
var _a, _b, _c, _d;
|
|
3270
3445
|
return openBlock(), createElementBlock("div", {
|
|
3271
3446
|
class: normalizeClass(["grid", [
|
|
3447
|
+
__props.gridClass,
|
|
3272
3448
|
// Gap classes
|
|
3449
|
+
__props.gap === "none" && "gap-0",
|
|
3450
|
+
__props.gap === "xs" && "gap-1 sm:gap-2",
|
|
3273
3451
|
__props.gap === "sm" && "gap-2 sm:gap-3",
|
|
3274
3452
|
__props.gap === "md" && "gap-3 sm:gap-4",
|
|
3275
3453
|
__props.gap === "lg" && "gap-4 sm:gap-6",
|
|
3454
|
+
__props.gap === "xl" && "gap-6 sm:gap-8",
|
|
3276
3455
|
// Column classes
|
|
3277
3456
|
__props.cols === 1 && "grid-cols-1",
|
|
3278
3457
|
__props.cols === 2 && "grid-cols-2",
|
|
@@ -3297,11 +3476,33 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
3297
3476
|
change: stat.change,
|
|
3298
3477
|
"change-label": stat.changeLabel,
|
|
3299
3478
|
trend: stat.trend,
|
|
3479
|
+
description: stat.description,
|
|
3480
|
+
prefix: stat.prefix,
|
|
3481
|
+
suffix: stat.suffix,
|
|
3300
3482
|
variant: __props.variant,
|
|
3301
3483
|
size: __props.size,
|
|
3302
3484
|
"icon-position": __props.iconPosition,
|
|
3303
|
-
|
|
3304
|
-
|
|
3485
|
+
"icon-rounded": __props.iconRounded,
|
|
3486
|
+
"hide-icon-bg": __props.hideIconBg,
|
|
3487
|
+
color: stat.color || __props.color,
|
|
3488
|
+
"label-first": __props.labelFirst,
|
|
3489
|
+
compact: __props.compact,
|
|
3490
|
+
loading: __props.loading,
|
|
3491
|
+
shadow: __props.shadow,
|
|
3492
|
+
rounded: __props.rounded,
|
|
3493
|
+
border: __props.border,
|
|
3494
|
+
accent: __props.accent,
|
|
3495
|
+
clickable: __props.clickable,
|
|
3496
|
+
centered: __props.centered,
|
|
3497
|
+
"invert-trend-colors": __props.invertTrendColors,
|
|
3498
|
+
"hide-trend-icon": __props.hideTrendIcon,
|
|
3499
|
+
"card-class": __props.cardClass,
|
|
3500
|
+
"icon-wrapper-class": __props.iconWrapperClass,
|
|
3501
|
+
"icon-class": __props.iconClass,
|
|
3502
|
+
"value-class": __props.valueClass,
|
|
3503
|
+
"label-class": __props.labelClass,
|
|
3504
|
+
onClick: ($event) => _ctx.$emit("item-click", index, stat, $event)
|
|
3505
|
+
}, null, 8, ["label", "value", "icon", "change", "change-label", "trend", "description", "prefix", "suffix", "variant", "size", "icon-position", "icon-rounded", "hide-icon-bg", "color", "label-first", "compact", "loading", "shadow", "rounded", "border", "accent", "clickable", "centered", "invert-trend-colors", "hide-trend-icon", "card-class", "icon-wrapper-class", "icon-class", "value-class", "label-class", "onClick"]);
|
|
3305
3506
|
}), 128)),
|
|
3306
3507
|
renderSlot(_ctx.$slots, "default")
|
|
3307
3508
|
], 2);
|
|
@@ -3484,4 +3685,4 @@ export {
|
|
|
3484
3685
|
_sfc_main$b as y,
|
|
3485
3686
|
_sfc_main$a as z
|
|
3486
3687
|
};
|
|
3487
|
-
//# sourceMappingURL=FilterTabs.vue_vue_type_script_setup_true_lang-
|
|
3688
|
+
//# sourceMappingURL=FilterTabs.vue_vue_type_script_setup_true_lang-aPs8YGWB.js.map
|