cisse-vue-ui 0.10.0 → 0.11.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/{CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js → CheckboxGroup.vue_vue_type_script_setup_true_lang-CZ4Sox5V.js} +409 -169
- package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-CZ4Sox5V.js.map +1 -0
- package/dist/{CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs → CheckboxGroup.vue_vue_type_script_setup_true_lang-DGGefZ7m.cjs} +406 -166
- package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-DGGefZ7m.cjs.map +1 -0
- 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 → DataList.vue_vue_type_script_setup_true_lang-MshUshzx.cjs} +744 -287
- package/dist/DataList.vue_vue_type_script_setup_true_lang-MshUshzx.cjs.map +1 -0
- package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js → DataList.vue_vue_type_script_setup_true_lang-e5XO82_b.js} +756 -299
- package/dist/DataList.vue_vue_type_script_setup_true_lang-e5XO82_b.js.map +1 -0
- 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/Divider.stories.d.ts +13 -0
- package/dist/components/core/Divider.test.d.ts +1 -0
- package/dist/components/core/Divider.vue.d.ts +24 -0
- package/dist/components/core/Drawer.vue.d.ts +2 -0
- package/dist/components/core/Menu.stories.d.ts +11 -0
- package/dist/components/core/Menu.test.d.ts +1 -0
- package/dist/components/core/Menu.vue.d.ts +30 -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/datalist/DataList.stories.d.ts +12 -0
- package/dist/components/core/datalist/DataList.test.d.ts +1 -0
- package/dist/components/core/datalist/DataList.vue.d.ts +39 -0
- package/dist/components/core/datalist/DataListItem.vue.d.ts +33 -0
- package/dist/components/core/datalist/DataListLabel.vue.d.ts +26 -0
- package/dist/components/core/datalist/DataListValue.vue.d.ts +26 -0
- package/dist/components/core/datalist/index.d.ts +5 -0
- package/dist/components/core/index.cjs +49 -42
- package/dist/components/core/index.cjs.map +1 -1
- package/dist/components/core/index.d.ts +9 -2
- package/dist/components/core/index.js +27 -20
- package/dist/components/feedback/index.cjs +8 -8
- package/dist/components/feedback/index.js +7 -7
- package/dist/components/form/Form.stories.d.ts +11 -0
- package/dist/components/form/Form.test.d.ts +1 -0
- package/dist/components/form/Form.vue.d.ts +55 -0
- package/dist/components/form/FormSection.vue.d.ts +1 -1
- package/dist/components/form/InputGroup.stories.d.ts +12 -0
- package/dist/components/form/InputGroup.test.d.ts +1 -0
- package/dist/components/form/InputGroup.vue.d.ts +32 -0
- package/dist/components/form/Option.vue.d.ts +27 -0
- package/dist/components/form/Select.stories.d.ts +13 -0
- package/dist/components/form/Select.test.d.ts +1 -0
- package/dist/components/form/Select.vue.d.ts +53 -0
- package/dist/components/form/index.cjs +33 -29
- package/dist/components/form/index.cjs.map +1 -1
- package/dist/components/form/index.d.ts +7 -0
- package/dist/components/form/index.js +33 -29
- package/dist/components/index.cjs +90 -79
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +68 -57
- package/dist/index-CO3nD8zb.js +127 -0
- package/dist/{index-C_N7WRnM.js.map → index-CO3nD8zb.js.map} +1 -1
- package/dist/index-DK_UojhF.cjs +126 -0
- package/dist/{index-CYXOfUOG.cjs.map → index-DK_UojhF.cjs.map} +1 -1
- package/dist/index.cjs +91 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +72 -61
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs.map +0 -1
- package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js.map +0 -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/FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js.map +0 -1
- package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-l8lJzwoY.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
- package/dist/index-CYXOfUOG.cjs +0 -115
- package/dist/index-C_N7WRnM.js +0 -116
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue = require("vue");
|
|
3
3
|
const index = require("./index-D1x3TH9k.cjs");
|
|
4
|
-
const
|
|
4
|
+
const Skeleton_vue_vue_type_script_setup_true_lang = require("./Skeleton.vue_vue_type_script_setup_true_lang-ahmyY81P.cjs");
|
|
5
5
|
const BadgeType_vue_vue_type_script_setup_true_lang = require("./BadgeType.vue_vue_type_script_setup_true_lang-zs0NXN4g.cjs");
|
|
6
6
|
const usePagination = require("./usePagination-gvvh1zqA.cjs");
|
|
7
7
|
const vue$1 = require("@iconify/vue");
|
|
8
8
|
const useDropdown = require("./useDropdown-HI7ABBLe.cjs");
|
|
9
9
|
const useId = require("./useId-nxrBaIC9.cjs");
|
|
10
|
-
const _hoisted_1$
|
|
10
|
+
const _hoisted_1$p = {
|
|
11
11
|
key: 1,
|
|
12
12
|
class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950"
|
|
13
13
|
};
|
|
14
|
-
const _hoisted_2$
|
|
15
|
-
const _hoisted_3$
|
|
14
|
+
const _hoisted_2$i = { class: "flex flex-col gap-0.5" };
|
|
15
|
+
const _hoisted_3$c = {
|
|
16
16
|
key: 1,
|
|
17
17
|
class: "text-sm font-normal text-gray-600 dark:text-gray-400"
|
|
18
18
|
};
|
|
19
|
-
const _hoisted_4$
|
|
20
|
-
const _sfc_main$
|
|
19
|
+
const _hoisted_4$8 = { class: "flex gap-2" };
|
|
20
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
21
21
|
__name: "CardComponent",
|
|
22
22
|
props: {
|
|
23
23
|
title: {},
|
|
@@ -38,12 +38,12 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
38
|
() => props.dividerClass || "border-gray-200 dark:border-gray-700"
|
|
39
39
|
);
|
|
40
40
|
return (_ctx, _cache) => {
|
|
41
|
-
return __props.loading ? (vue.openBlock(), vue.createBlock(
|
|
41
|
+
return __props.loading ? (vue.openBlock(), vue.createBlock(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
42
42
|
key: 0,
|
|
43
43
|
lines: __props.loadingLines,
|
|
44
44
|
"show-avatar": __props.loadingAvatar,
|
|
45
45
|
"show-actions": __props.loadingActions
|
|
46
|
-
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
46
|
+
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
|
|
47
47
|
_ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
48
48
|
key: 0,
|
|
49
49
|
class: vue.normalizeClass(["border-b", dividerClasses.value])
|
|
@@ -53,7 +53,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
53
53
|
key: 1,
|
|
54
54
|
class: vue.normalizeClass(["flex items-center justify-between border-b px-5 py-3", dividerClasses.value])
|
|
55
55
|
}, [
|
|
56
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
56
|
+
vue.createElementVNode("div", _hoisted_2$i, [
|
|
57
57
|
__props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
58
58
|
key: 0,
|
|
59
59
|
class: vue.normalizeClass(["text-md font-semibold", titleClasses.value])
|
|
@@ -62,13 +62,13 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
62
62
|
vue.createTextVNode(vue.toDisplayString(__props.title), 1)
|
|
63
63
|
])
|
|
64
64
|
], 2)) : vue.createCommentVNode("", true),
|
|
65
|
-
__props.description || _ctx.$slots.description ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
65
|
+
__props.description || _ctx.$slots.description ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$c, [
|
|
66
66
|
vue.renderSlot(_ctx.$slots, "description", {}, () => [
|
|
67
67
|
vue.createTextVNode(vue.toDisplayString(__props.description), 1)
|
|
68
68
|
])
|
|
69
69
|
])) : vue.createCommentVNode("", true)
|
|
70
70
|
]),
|
|
71
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
71
|
+
vue.createElementVNode("div", _hoisted_4$8, [
|
|
72
72
|
vue.renderSlot(_ctx.$slots, "actions")
|
|
73
73
|
])
|
|
74
74
|
], 2)) : vue.createCommentVNode("", true),
|
|
@@ -77,13 +77,13 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
|
-
const _hoisted_1$
|
|
81
|
-
const _hoisted_2$
|
|
82
|
-
const _hoisted_3$
|
|
83
|
-
const _hoisted_4$
|
|
84
|
-
const _hoisted_5$
|
|
80
|
+
const _hoisted_1$o = ["role", "tabindex", "onKeydown"];
|
|
81
|
+
const _hoisted_2$h = ["src", "alt"];
|
|
82
|
+
const _hoisted_3$b = ["src", "alt"];
|
|
83
|
+
const _hoisted_4$7 = { class: "flex items-center gap-3" };
|
|
84
|
+
const _hoisted_5$5 = { class: "flex flex-col gap-0.5" };
|
|
85
85
|
const _hoisted_6$3 = ["src", "alt"];
|
|
86
|
-
const _sfc_main$
|
|
86
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
87
87
|
__name: "CardWrapper",
|
|
88
88
|
props: {
|
|
89
89
|
title: {},
|
|
@@ -273,7 +273,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
273
273
|
}
|
|
274
274
|
};
|
|
275
275
|
return (_ctx, _cache) => {
|
|
276
|
-
return __props.loading ? (vue.openBlock(), vue.createBlock(
|
|
276
|
+
return __props.loading ? (vue.openBlock(), vue.createBlock(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main$3, {
|
|
277
277
|
key: 0,
|
|
278
278
|
lines: __props.loadingLines,
|
|
279
279
|
"show-avatar": __props.loadingAvatar,
|
|
@@ -311,7 +311,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
311
311
|
src: __props.image,
|
|
312
312
|
alt: __props.imageAlt || "",
|
|
313
313
|
class: vue.normalizeClass(["w-full h-full object-cover", __props.imageClass])
|
|
314
|
-
}, null, 10, _hoisted_2$
|
|
314
|
+
}, null, 10, _hoisted_2$h)) : vue.createCommentVNode("", true)
|
|
315
315
|
]),
|
|
316
316
|
_cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" }, null, -1))
|
|
317
317
|
], 2)) : vue.createCommentVNode("", true),
|
|
@@ -326,7 +326,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
326
326
|
src: __props.image,
|
|
327
327
|
alt: __props.imageAlt || "",
|
|
328
328
|
class: vue.normalizeClass(["w-full h-full object-cover", __props.imageClass])
|
|
329
|
-
}, null, 10, _hoisted_3$
|
|
329
|
+
}, null, 10, _hoisted_3$b)) : vue.createCommentVNode("", true)
|
|
330
330
|
])
|
|
331
331
|
], 6)) : vue.createCommentVNode("", true),
|
|
332
332
|
vue.createElementVNode("div", {
|
|
@@ -352,7 +352,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
352
352
|
__props.imagePosition === "background" && "text-white border-white/20"
|
|
353
353
|
])
|
|
354
354
|
}, [
|
|
355
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
355
|
+
vue.createElementVNode("div", _hoisted_4$7, [
|
|
356
356
|
__props.icon || _ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
357
357
|
key: 0,
|
|
358
358
|
class: vue.normalizeClass(computedIconClass.value)
|
|
@@ -365,7 +365,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
365
365
|
}, null, 8, ["icon", "class"])) : vue.createCommentVNode("", true)
|
|
366
366
|
])
|
|
367
367
|
], 2)) : vue.createCommentVNode("", true),
|
|
368
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
368
|
+
vue.createElementVNode("div", _hoisted_5$5, [
|
|
369
369
|
__props.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
370
370
|
key: 0,
|
|
371
371
|
class: vue.normalizeClass([
|
|
@@ -429,13 +429,13 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
429
429
|
}, null, 10, _hoisted_6$3)) : vue.createCommentVNode("", true)
|
|
430
430
|
])
|
|
431
431
|
], 6)) : vue.createCommentVNode("", true)
|
|
432
|
-
], 42, _hoisted_1$
|
|
432
|
+
], 42, _hoisted_1$o));
|
|
433
433
|
};
|
|
434
434
|
}
|
|
435
435
|
});
|
|
436
|
-
const _hoisted_1$
|
|
436
|
+
const _hoisted_1$n = { class: "overflow-x-auto" };
|
|
437
437
|
const TableContextKey = Symbol("TableContext");
|
|
438
|
-
const _sfc_main$
|
|
438
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
439
439
|
...{
|
|
440
440
|
inheritAttrs: false
|
|
441
441
|
},
|
|
@@ -470,7 +470,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
470
470
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
471
471
|
class: vue.normalizeClass(wrapperClasses.value)
|
|
472
472
|
}, [
|
|
473
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
473
|
+
vue.createElementVNode("div", _hoisted_1$n, [
|
|
474
474
|
vue.createElementVNode("table", vue.mergeProps(vue.unref(attrs), { class: tableClasses.value }), [
|
|
475
475
|
vue.renderSlot(_ctx.$slots, "default")
|
|
476
476
|
], 16)
|
|
@@ -479,7 +479,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
479
479
|
};
|
|
480
480
|
}
|
|
481
481
|
});
|
|
482
|
-
const _sfc_main$
|
|
482
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
483
483
|
...{
|
|
484
484
|
inheritAttrs: false
|
|
485
485
|
},
|
|
@@ -502,7 +502,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
502
502
|
};
|
|
503
503
|
}
|
|
504
504
|
});
|
|
505
|
-
const _sfc_main$
|
|
505
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
506
506
|
...{
|
|
507
507
|
inheritAttrs: false
|
|
508
508
|
},
|
|
@@ -516,8 +516,8 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
516
516
|
};
|
|
517
517
|
}
|
|
518
518
|
});
|
|
519
|
-
const _hoisted_1$
|
|
520
|
-
const _sfc_main$
|
|
519
|
+
const _hoisted_1$m = ["span"];
|
|
520
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
521
521
|
...{
|
|
522
522
|
inheritAttrs: false
|
|
523
523
|
},
|
|
@@ -536,11 +536,11 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
536
536
|
return vue.openBlock(), vue.createElementBlock("col", vue.mergeProps(vue.unref(attrs), {
|
|
537
537
|
span: __props.span,
|
|
538
538
|
style: colStyles.value
|
|
539
|
-
}), null, 16, _hoisted_1$
|
|
539
|
+
}), null, 16, _hoisted_1$m);
|
|
540
540
|
};
|
|
541
541
|
}
|
|
542
542
|
});
|
|
543
|
-
const _sfc_main$
|
|
543
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
544
544
|
...{
|
|
545
545
|
inheritAttrs: false
|
|
546
546
|
},
|
|
@@ -562,7 +562,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
562
562
|
};
|
|
563
563
|
}
|
|
564
564
|
});
|
|
565
|
-
const _sfc_main$
|
|
565
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
566
566
|
...{
|
|
567
567
|
inheritAttrs: false
|
|
568
568
|
},
|
|
@@ -581,7 +581,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
581
581
|
};
|
|
582
582
|
}
|
|
583
583
|
});
|
|
584
|
-
const _sfc_main$
|
|
584
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
585
585
|
...{
|
|
586
586
|
inheritAttrs: false
|
|
587
587
|
},
|
|
@@ -602,7 +602,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
602
602
|
};
|
|
603
603
|
}
|
|
604
604
|
});
|
|
605
|
-
const _sfc_main$
|
|
605
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
606
606
|
...{
|
|
607
607
|
inheritAttrs: false
|
|
608
608
|
},
|
|
@@ -647,16 +647,16 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
647
647
|
};
|
|
648
648
|
}
|
|
649
649
|
});
|
|
650
|
-
const _hoisted_1$
|
|
651
|
-
const _hoisted_2$
|
|
650
|
+
const _hoisted_1$l = ["colspan", "rowspan", "scope", "aria-sort"];
|
|
651
|
+
const _hoisted_2$g = {
|
|
652
652
|
key: 0,
|
|
653
653
|
d: "M7 14l5-5 5 5H7z"
|
|
654
654
|
};
|
|
655
|
-
const _hoisted_3$
|
|
655
|
+
const _hoisted_3$a = {
|
|
656
656
|
key: 1,
|
|
657
657
|
d: "M7 10l5 5 5-5H7z"
|
|
658
658
|
};
|
|
659
|
-
const _sfc_main$
|
|
659
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
660
660
|
...{
|
|
661
661
|
inheritAttrs: false
|
|
662
662
|
},
|
|
@@ -734,7 +734,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
734
734
|
viewBox: "0 0 24 24",
|
|
735
735
|
fill: "currentColor"
|
|
736
736
|
}, [
|
|
737
|
-
__props.sorted && __props.sortDirection === "asc" ? (vue.openBlock(), vue.createElementBlock("path", _hoisted_2$
|
|
737
|
+
__props.sorted && __props.sortDirection === "asc" ? (vue.openBlock(), vue.createElementBlock("path", _hoisted_2$g)) : __props.sorted && __props.sortDirection === "desc" ? (vue.openBlock(), vue.createElementBlock("path", _hoisted_3$a)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
738
738
|
_cache[2] || (_cache[2] = vue.createElementVNode("path", {
|
|
739
739
|
d: "M7 14l5-5 5 5H7z",
|
|
740
740
|
class: "opacity-40"
|
|
@@ -760,12 +760,12 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
760
760
|
onMousedown: _cache[0] || (_cache[0] = vue.withModifiers(($event) => emit("resizeStart", $event), ["stop"])),
|
|
761
761
|
onTouchstart: _cache[1] || (_cache[1] = vue.withModifiers(($event) => emit("resizeStart", $event), ["stop"]))
|
|
762
762
|
}, null, 34)) : vue.createCommentVNode("", true)
|
|
763
|
-
], 16, _hoisted_1$
|
|
763
|
+
], 16, _hoisted_1$l);
|
|
764
764
|
};
|
|
765
765
|
}
|
|
766
766
|
});
|
|
767
|
-
const _hoisted_1$
|
|
768
|
-
const _sfc_main$
|
|
767
|
+
const _hoisted_1$k = ["colspan", "rowspan"];
|
|
768
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
769
769
|
...{
|
|
770
770
|
inheritAttrs: false
|
|
771
771
|
},
|
|
@@ -814,11 +814,11 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
814
814
|
rowspan: __props.rowspan
|
|
815
815
|
}), [
|
|
816
816
|
vue.renderSlot(_ctx.$slots, "default")
|
|
817
|
-
], 16, _hoisted_1$
|
|
817
|
+
], 16, _hoisted_1$k);
|
|
818
818
|
};
|
|
819
819
|
}
|
|
820
820
|
});
|
|
821
|
-
const _sfc_main$
|
|
821
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
822
822
|
__name: "TableHeader",
|
|
823
823
|
props: {
|
|
824
824
|
columns: {},
|
|
@@ -840,9 +840,9 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
840
840
|
emit("sort", property.name, newDirection);
|
|
841
841
|
};
|
|
842
842
|
return (_ctx, _cache) => {
|
|
843
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
843
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$x, null, {
|
|
844
844
|
default: vue.withCtx(() => [
|
|
845
|
-
__props.selectable ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
845
|
+
__props.selectable ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
846
846
|
key: 0,
|
|
847
847
|
width: "48px"
|
|
848
848
|
}, {
|
|
@@ -857,7 +857,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
857
857
|
_: 1
|
|
858
858
|
})) : vue.createCommentVNode("", true),
|
|
859
859
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.columns, (column) => {
|
|
860
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
860
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
861
861
|
key: column.name,
|
|
862
862
|
sortable: column.sortable,
|
|
863
863
|
sorted: __props.sortBy === column.name,
|
|
@@ -876,7 +876,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
876
876
|
_: 2
|
|
877
877
|
}, 1032, ["sortable", "sorted", "sort-direction", "align", "width", "min-width", "max-width", "onSort"]);
|
|
878
878
|
}), 128)),
|
|
879
|
-
__props.showActions ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
879
|
+
__props.showActions ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
880
880
|
key: 1,
|
|
881
881
|
align: "right",
|
|
882
882
|
width: "100px"
|
|
@@ -887,8 +887,8 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
887
887
|
};
|
|
888
888
|
}
|
|
889
889
|
});
|
|
890
|
-
const _hoisted_1$
|
|
891
|
-
const _sfc_main$
|
|
890
|
+
const _hoisted_1$j = { class: "flex items-center justify-end gap-2" };
|
|
891
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
892
892
|
__name: "TableRow",
|
|
893
893
|
props: {
|
|
894
894
|
item: {},
|
|
@@ -928,14 +928,14 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
928
928
|
return item[property.name];
|
|
929
929
|
};
|
|
930
930
|
return (_ctx, _cache) => {
|
|
931
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
931
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$x, {
|
|
932
932
|
selected: __props.selected,
|
|
933
933
|
clickable: __props.clickable,
|
|
934
934
|
even: __props.even,
|
|
935
935
|
onClick: _cache[1] || (_cache[1] = (e) => emit("click", e))
|
|
936
936
|
}, {
|
|
937
937
|
default: vue.withCtx(() => [
|
|
938
|
-
__props.selectable ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
938
|
+
__props.selectable ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
939
939
|
key: 0,
|
|
940
940
|
width: "48px"
|
|
941
941
|
}, {
|
|
@@ -949,7 +949,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
949
949
|
_: 1
|
|
950
950
|
})) : vue.createCommentVNode("", true),
|
|
951
951
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.columns, (column) => {
|
|
952
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
952
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
953
953
|
key: column.name,
|
|
954
954
|
align: column.align,
|
|
955
955
|
main: column.main,
|
|
@@ -971,12 +971,12 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
971
971
|
_: 2
|
|
972
972
|
}, 1032, ["align", "main", "class-name", "truncate", "width"]);
|
|
973
973
|
}), 128)),
|
|
974
|
-
__props.showActions ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
974
|
+
__props.showActions ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
975
975
|
key: 1,
|
|
976
976
|
align: "right"
|
|
977
977
|
}, {
|
|
978
978
|
default: vue.withCtx(() => [
|
|
979
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
979
|
+
vue.createElementVNode("div", _hoisted_1$j, [
|
|
980
980
|
vue.renderSlot(_ctx.$slots, "actions", { item: __props.item })
|
|
981
981
|
])
|
|
982
982
|
]),
|
|
@@ -988,16 +988,16 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
988
988
|
};
|
|
989
989
|
}
|
|
990
990
|
});
|
|
991
|
-
const _sfc_main$
|
|
991
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
992
992
|
__name: "TableFooter",
|
|
993
993
|
props: {
|
|
994
994
|
colSpan: {}
|
|
995
995
|
},
|
|
996
996
|
setup(__props) {
|
|
997
997
|
return (_ctx, _cache) => {
|
|
998
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
998
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$x, null, {
|
|
999
999
|
default: vue.withCtx(() => [
|
|
1000
|
-
vue.createVNode(_sfc_main$
|
|
1000
|
+
vue.createVNode(_sfc_main$v, {
|
|
1001
1001
|
colspan: __props.colSpan,
|
|
1002
1002
|
class: "text-center"
|
|
1003
1003
|
}, {
|
|
@@ -1012,9 +1012,9 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
1012
1012
|
};
|
|
1013
1013
|
}
|
|
1014
1014
|
});
|
|
1015
|
-
const _hoisted_1$
|
|
1016
|
-
const _hoisted_2$
|
|
1017
|
-
const _sfc_main$
|
|
1015
|
+
const _hoisted_1$i = ["disabled", "aria-expanded"];
|
|
1016
|
+
const _hoisted_2$f = { class: "p-4" };
|
|
1017
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
1018
1018
|
...{
|
|
1019
1019
|
inheritAttrs: false
|
|
1020
1020
|
},
|
|
@@ -1054,14 +1054,14 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
1054
1054
|
__expose({ toggle, isExpanded });
|
|
1055
1055
|
return (_ctx, _cache) => {
|
|
1056
1056
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
1057
|
-
vue.createVNode(_sfc_main$
|
|
1057
|
+
vue.createVNode(_sfc_main$x, vue.mergeProps(vue.unref(attrs), {
|
|
1058
1058
|
selected: __props.selected,
|
|
1059
1059
|
disabled: __props.disabled,
|
|
1060
1060
|
clickable: "",
|
|
1061
1061
|
onClick: handleRowClick
|
|
1062
1062
|
}), {
|
|
1063
1063
|
default: vue.withCtx(() => [
|
|
1064
|
-
vue.createVNode(_sfc_main$
|
|
1064
|
+
vue.createVNode(_sfc_main$v, {
|
|
1065
1065
|
width: "40px",
|
|
1066
1066
|
class: "!p-2"
|
|
1067
1067
|
}, {
|
|
@@ -1081,7 +1081,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
1081
1081
|
}, [..._cache[0] || (_cache[0] = [
|
|
1082
1082
|
vue.createElementVNode("path", { d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z" }, null, -1)
|
|
1083
1083
|
])], 2))
|
|
1084
|
-
], 8, _hoisted_1$
|
|
1084
|
+
], 8, _hoisted_1$i)
|
|
1085
1085
|
]),
|
|
1086
1086
|
_: 1
|
|
1087
1087
|
}),
|
|
@@ -1089,17 +1089,17 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
1089
1089
|
]),
|
|
1090
1090
|
_: 3
|
|
1091
1091
|
}, 16, ["selected", "disabled"]),
|
|
1092
|
-
isExpanded.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1092
|
+
isExpanded.value ? (vue.openBlock(), vue.createBlock(_sfc_main$x, {
|
|
1093
1093
|
key: 0,
|
|
1094
1094
|
class: "bg-gray-50 dark:bg-gray-800/50"
|
|
1095
1095
|
}, {
|
|
1096
1096
|
default: vue.withCtx(() => [
|
|
1097
|
-
vue.createVNode(_sfc_main$
|
|
1097
|
+
vue.createVNode(_sfc_main$v, {
|
|
1098
1098
|
colspan: __props.colspan + 1,
|
|
1099
1099
|
class: "!p-0"
|
|
1100
1100
|
}, {
|
|
1101
1101
|
default: vue.withCtx(() => [
|
|
1102
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1102
|
+
vue.createElementVNode("div", _hoisted_2$f, [
|
|
1103
1103
|
vue.renderSlot(_ctx.$slots, "expanded")
|
|
1104
1104
|
])
|
|
1105
1105
|
]),
|
|
@@ -1112,18 +1112,18 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
1112
1112
|
};
|
|
1113
1113
|
}
|
|
1114
1114
|
});
|
|
1115
|
-
const _hoisted_1$
|
|
1116
|
-
const _hoisted_2$
|
|
1115
|
+
const _hoisted_1$h = { class: "overflow-hidden" };
|
|
1116
|
+
const _hoisted_2$e = {
|
|
1117
1117
|
key: 1,
|
|
1118
1118
|
class: "flex flex-col items-center justify-center py-12 text-center"
|
|
1119
1119
|
};
|
|
1120
|
-
const _hoisted_3$
|
|
1121
|
-
const _hoisted_4$
|
|
1122
|
-
const _hoisted_5$
|
|
1120
|
+
const _hoisted_3$9 = { class: "flex flex-col items-center gap-3" };
|
|
1121
|
+
const _hoisted_4$6 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
1122
|
+
const _hoisted_5$4 = {
|
|
1123
1123
|
key: 3,
|
|
1124
1124
|
class: "flex flex-col items-center justify-center py-12 text-center"
|
|
1125
1125
|
};
|
|
1126
|
-
const _sfc_main$
|
|
1126
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
1127
1127
|
__name: "DataTable",
|
|
1128
1128
|
props: {
|
|
1129
1129
|
properties: {},
|
|
@@ -1228,14 +1228,14 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1228
1228
|
};
|
|
1229
1229
|
const hasActionSlot = vue.computed(() => !!slots.action);
|
|
1230
1230
|
return (_ctx, _cache) => {
|
|
1231
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1232
|
-
__props.loading ? (vue.openBlock(), vue.createBlock(
|
|
1231
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
|
|
1232
|
+
__props.loading ? (vue.openBlock(), vue.createBlock(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main$2, {
|
|
1233
1233
|
key: 0,
|
|
1234
1234
|
rows: __props.loadingRows,
|
|
1235
1235
|
columns: visibleProperties.value.length
|
|
1236
|
-
}, null, 8, ["rows", "columns"])) : __props.error ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
1236
|
+
}, null, 8, ["rows", "columns"])) : __props.error ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$e, [
|
|
1237
1237
|
vue.renderSlot(_ctx.$slots, "error", {}, () => [
|
|
1238
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
1238
|
+
vue.createElementVNode("div", _hoisted_3$9, [
|
|
1239
1239
|
_cache[2] || (_cache[2] = vue.createElementVNode("svg", {
|
|
1240
1240
|
class: "size-12 text-red-400",
|
|
1241
1241
|
fill: "none",
|
|
@@ -1249,10 +1249,10 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1249
1249
|
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"
|
|
1250
1250
|
})
|
|
1251
1251
|
], -1)),
|
|
1252
|
-
vue.createElementVNode("p", _hoisted_4$
|
|
1252
|
+
vue.createElementVNode("p", _hoisted_4$6, vue.toDisplayString(__props.errorMessage), 1)
|
|
1253
1253
|
])
|
|
1254
1254
|
])
|
|
1255
|
-
])) : __props.items && __props.items.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1255
|
+
])) : __props.items && __props.items.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
1256
1256
|
key: 2,
|
|
1257
1257
|
striped: __props.striped,
|
|
1258
1258
|
bordered: __props.bordered,
|
|
@@ -1261,9 +1261,9 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1261
1261
|
"sticky-header": __props.stickyHeader
|
|
1262
1262
|
}, {
|
|
1263
1263
|
default: vue.withCtx(() => [
|
|
1264
|
-
vue.createVNode(_sfc_main$
|
|
1264
|
+
vue.createVNode(_sfc_main$A, null, {
|
|
1265
1265
|
default: vue.withCtx(() => [
|
|
1266
|
-
vue.createVNode(_sfc_main$
|
|
1266
|
+
vue.createVNode(_sfc_main$u, {
|
|
1267
1267
|
columns: visibleProperties.value,
|
|
1268
1268
|
selectable: __props.selectable,
|
|
1269
1269
|
"all-selected": allSelected.value,
|
|
@@ -1287,10 +1287,10 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1287
1287
|
]),
|
|
1288
1288
|
_: 3
|
|
1289
1289
|
}),
|
|
1290
|
-
vue.createVNode(_sfc_main$
|
|
1290
|
+
vue.createVNode(_sfc_main$z, null, {
|
|
1291
1291
|
default: vue.withCtx(() => [
|
|
1292
1292
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayItems.value, (item, index2) => {
|
|
1293
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1293
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
1294
1294
|
key: getKey(item),
|
|
1295
1295
|
item,
|
|
1296
1296
|
columns: visibleProperties.value,
|
|
@@ -1323,7 +1323,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1323
1323
|
})
|
|
1324
1324
|
]),
|
|
1325
1325
|
_: 3
|
|
1326
|
-
}, 8, ["striped", "bordered", "hover", "compact", "sticky-header"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
1326
|
+
}, 8, ["striped", "bordered", "hover", "compact", "sticky-header"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$4, [
|
|
1327
1327
|
vue.renderSlot(_ctx.$slots, "empty", {}, () => [
|
|
1328
1328
|
_cache[3] || (_cache[3] = vue.createElementVNode("div", { class: "flex flex-col items-center gap-3" }, [
|
|
1329
1329
|
vue.createElementVNode("svg", {
|
|
@@ -1343,7 +1343,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1343
1343
|
], -1))
|
|
1344
1344
|
])
|
|
1345
1345
|
])),
|
|
1346
|
-
__props.paginated && __props.items && __props.items.length > 0 && !__props.loading && !__props.error ? (vue.openBlock(), vue.createBlock(
|
|
1346
|
+
__props.paginated && __props.items && __props.items.length > 0 && !__props.loading && !__props.error ? (vue.openBlock(), vue.createBlock(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main, {
|
|
1347
1347
|
key: 4,
|
|
1348
1348
|
"current-page": effectivePage.value,
|
|
1349
1349
|
"total-pages": effectiveTotalPages.value,
|
|
@@ -1358,14 +1358,14 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1358
1358
|
};
|
|
1359
1359
|
}
|
|
1360
1360
|
});
|
|
1361
|
-
const _hoisted_1$
|
|
1362
|
-
const _hoisted_2$
|
|
1363
|
-
const _hoisted_3$
|
|
1364
|
-
const _hoisted_4$
|
|
1361
|
+
const _hoisted_1$g = { class: "space-y-3" };
|
|
1362
|
+
const _hoisted_2$d = { class: "flex items-center gap-3 p-3" };
|
|
1363
|
+
const _hoisted_3$8 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
1364
|
+
const _hoisted_4$5 = {
|
|
1365
1365
|
key: 0,
|
|
1366
1366
|
class: "text-sm text-primary font-medium"
|
|
1367
1367
|
};
|
|
1368
|
-
const _hoisted_5$
|
|
1368
|
+
const _hoisted_5$3 = { class: "p-4 flex items-center gap-4" };
|
|
1369
1369
|
const _hoisted_6$2 = {
|
|
1370
1370
|
key: 0,
|
|
1371
1371
|
class: "shrink-0"
|
|
@@ -1377,7 +1377,7 @@ const _hoisted_7$2 = {
|
|
|
1377
1377
|
const _hoisted_8$2 = { class: "flex-1 min-w-0 overflow-hidden" };
|
|
1378
1378
|
const _hoisted_9$2 = { class: "shrink-0" };
|
|
1379
1379
|
const _hoisted_10$1 = { key: 1 };
|
|
1380
|
-
const _sfc_main$
|
|
1380
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
1381
1381
|
__name: "MobileList",
|
|
1382
1382
|
props: {
|
|
1383
1383
|
items: {},
|
|
@@ -1426,10 +1426,10 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
1426
1426
|
};
|
|
1427
1427
|
const hasEmptySlot = vue.computed(() => !!slots.empty);
|
|
1428
1428
|
return (_ctx, _cache) => {
|
|
1429
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1430
|
-
__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1429
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
|
|
1430
|
+
__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$G, { key: 0 }, {
|
|
1431
1431
|
default: vue.withCtx(() => [
|
|
1432
|
-
vue.createVNode(
|
|
1432
|
+
vue.createVNode(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main$4, {
|
|
1433
1433
|
items: __props.loadingItems,
|
|
1434
1434
|
"show-avatar": "",
|
|
1435
1435
|
"show-secondary": "",
|
|
@@ -1438,29 +1438,29 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
1438
1438
|
]),
|
|
1439
1439
|
_: 1
|
|
1440
1440
|
})) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
1441
|
-
__props.selectable && selectableItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1441
|
+
__props.selectable && selectableItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$G, { key: 0 }, {
|
|
1442
1442
|
default: vue.withCtx(() => [
|
|
1443
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1443
|
+
vue.createElementVNode("div", _hoisted_2$d, [
|
|
1444
1444
|
vue.createVNode(index._sfc_main, {
|
|
1445
1445
|
"model-value": allSelected.value,
|
|
1446
1446
|
indeterminate: someSelected.value,
|
|
1447
1447
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("selectAll"))
|
|
1448
1448
|
}, null, 8, ["model-value", "indeterminate"]),
|
|
1449
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
1450
|
-
__props.selectedItems && __props.selectedItems.size > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
1449
|
+
vue.createElementVNode("span", _hoisted_3$8, vue.toDisplayString(allSelected.value ? "Tout désélectionner" : "Tout sélectionner"), 1),
|
|
1450
|
+
__props.selectedItems && __props.selectedItems.size > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$5, " (" + vue.toDisplayString(__props.selectedItems.size) + " sélectionné" + vue.toDisplayString(__props.selectedItems.size > 1 ? "s" : "") + ") ", 1)) : vue.createCommentVNode("", true)
|
|
1451
1451
|
])
|
|
1452
1452
|
]),
|
|
1453
1453
|
_: 1
|
|
1454
1454
|
})) : vue.createCommentVNode("", true),
|
|
1455
1455
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item) => {
|
|
1456
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1456
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$G, {
|
|
1457
1457
|
key: getKey(item),
|
|
1458
1458
|
class: vue.normalizeClass(["hover:shadow-lg transition-all duration-200", {
|
|
1459
1459
|
"ring-2 ring-primary": isSelected(item)
|
|
1460
1460
|
}])
|
|
1461
1461
|
}, {
|
|
1462
1462
|
default: vue.withCtx(() => [
|
|
1463
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
1463
|
+
vue.createElementVNode("div", _hoisted_5$3, [
|
|
1464
1464
|
__props.selectable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [
|
|
1465
1465
|
isSelectable(item) ? (vue.openBlock(), vue.createBlock(index._sfc_main, {
|
|
1466
1466
|
key: 0,
|
|
@@ -1488,7 +1488,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
1488
1488
|
};
|
|
1489
1489
|
}
|
|
1490
1490
|
});
|
|
1491
|
-
const _sfc_main$
|
|
1491
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
1492
1492
|
__name: "ResponsiveList",
|
|
1493
1493
|
props: {
|
|
1494
1494
|
items: {},
|
|
@@ -1547,7 +1547,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
1547
1547
|
const isDesktop = vue.computed(() => breakpoints.greaterOrEqual(props.breakpoint).value);
|
|
1548
1548
|
return (_ctx, _cache) => {
|
|
1549
1549
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
1550
|
-
!isDesktop.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1550
|
+
!isDesktop.value ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
|
|
1551
1551
|
key: 0,
|
|
1552
1552
|
items: __props.items,
|
|
1553
1553
|
"key-field": __props.keyField,
|
|
@@ -1574,9 +1574,9 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
1574
1574
|
vue.renderSlot(_ctx.$slots, "empty")
|
|
1575
1575
|
]),
|
|
1576
1576
|
_: 3
|
|
1577
|
-
}, 8, ["items", "key-field", "selectable", "selected-items", "selectable-filter", "loading", "loading-items"])) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1577
|
+
}, 8, ["items", "key-field", "selectable", "selected-items", "selectable-filter", "loading", "loading-items"])) : (vue.openBlock(), vue.createBlock(_sfc_main$G, { key: 1 }, {
|
|
1578
1578
|
default: vue.withCtx(() => [
|
|
1579
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
1579
|
+
vue.createVNode(vue.unref(_sfc_main$q), {
|
|
1580
1580
|
items: __props.items,
|
|
1581
1581
|
properties: tableProperties.value,
|
|
1582
1582
|
"key-field": __props.keyField,
|
|
@@ -1625,14 +1625,14 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
1625
1625
|
};
|
|
1626
1626
|
}
|
|
1627
1627
|
});
|
|
1628
|
-
const _hoisted_1$
|
|
1628
|
+
const _hoisted_1$f = {
|
|
1629
1629
|
key: 0,
|
|
1630
1630
|
class: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"
|
|
1631
1631
|
};
|
|
1632
|
-
const _hoisted_2$
|
|
1633
|
-
const _hoisted_3$
|
|
1634
|
-
const _hoisted_4$
|
|
1635
|
-
const _hoisted_5$
|
|
1632
|
+
const _hoisted_2$c = { class: "relative" };
|
|
1633
|
+
const _hoisted_3$7 = ["disabled", "placeholder"];
|
|
1634
|
+
const _hoisted_4$4 = ["disabled"];
|
|
1635
|
+
const _hoisted_5$2 = {
|
|
1636
1636
|
key: 0,
|
|
1637
1637
|
class: "px-4 py-3 text-sm text-gray-500"
|
|
1638
1638
|
};
|
|
@@ -1643,7 +1643,7 @@ const _hoisted_9$1 = {
|
|
|
1643
1643
|
key: 1,
|
|
1644
1644
|
class: "mt-1 text-sm text-red-600"
|
|
1645
1645
|
};
|
|
1646
|
-
const _sfc_main$
|
|
1646
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
1647
1647
|
__name: "AutocompleteComponent",
|
|
1648
1648
|
props: {
|
|
1649
1649
|
modelValue: {},
|
|
@@ -1745,8 +1745,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
1745
1745
|
ref: containerRef,
|
|
1746
1746
|
class: "autocomplete-container"
|
|
1747
1747
|
}, [
|
|
1748
|
-
__props.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_1$
|
|
1749
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1748
|
+
__props.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_1$f, vue.toDisplayString(__props.label), 1)) : vue.createCommentVNode("", true),
|
|
1749
|
+
vue.createElementVNode("div", _hoisted_2$c, [
|
|
1750
1750
|
vue.createElementVNode("div", {
|
|
1751
1751
|
ref_key: "inputWrapperRef",
|
|
1752
1752
|
ref: inputWrapperRef,
|
|
@@ -1771,7 +1771,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
1771
1771
|
type: "text",
|
|
1772
1772
|
onFocus: openDropdown,
|
|
1773
1773
|
onKeydown: handleKeydown
|
|
1774
|
-
}, null, 40, _hoisted_3$
|
|
1774
|
+
}, null, 40, _hoisted_3$7), [
|
|
1775
1775
|
[vue.vModelText, searchQuery.value]
|
|
1776
1776
|
]),
|
|
1777
1777
|
__props.modelValue && !__props.disabled ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
@@ -1795,7 +1795,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
1795
1795
|
class: vue.normalizeClass([{ "rotate-180": vue.unref(isOpen) }, "size-4 text-gray-400 transition"]),
|
|
1796
1796
|
icon: "lucide:chevron-down"
|
|
1797
1797
|
}, null, 8, ["class"])
|
|
1798
|
-
], 8, _hoisted_4$
|
|
1798
|
+
], 8, _hoisted_4$4)
|
|
1799
1799
|
], 2),
|
|
1800
1800
|
(vue.openBlock(), vue.createBlock(vue.Teleport, {
|
|
1801
1801
|
to: "body",
|
|
@@ -1820,7 +1820,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
1820
1820
|
!__props.teleport && "absolute mt-2 w-full"
|
|
1821
1821
|
])
|
|
1822
1822
|
}, [
|
|
1823
|
-
filteredOptions.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
1823
|
+
filteredOptions.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$2, vue.toDisplayString(__props.noResultsText || "No results found"), 1)) : vue.createCommentVNode("", true),
|
|
1824
1824
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredOptions.value, (option, index2) => {
|
|
1825
1825
|
return vue.openBlock(), vue.createElementBlock("button", {
|
|
1826
1826
|
key: option.value,
|
|
@@ -1852,7 +1852,36 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
1852
1852
|
};
|
|
1853
1853
|
}
|
|
1854
1854
|
});
|
|
1855
|
-
const _sfc_main$
|
|
1855
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
1856
|
+
__name: "Menu",
|
|
1857
|
+
props: {
|
|
1858
|
+
variant: { default: "default" },
|
|
1859
|
+
gap: { default: "sm" },
|
|
1860
|
+
collapsed: { type: Boolean, default: false }
|
|
1861
|
+
},
|
|
1862
|
+
setup(__props) {
|
|
1863
|
+
const props = __props;
|
|
1864
|
+
vue.provide("menuCollapsed", vue.computed(() => props.collapsed));
|
|
1865
|
+
const gapClasses = {
|
|
1866
|
+
none: "gap-0",
|
|
1867
|
+
sm: "gap-1",
|
|
1868
|
+
md: "gap-2",
|
|
1869
|
+
lg: "gap-4"
|
|
1870
|
+
};
|
|
1871
|
+
return (_ctx, _cache) => {
|
|
1872
|
+
return vue.openBlock(), vue.createElementBlock("nav", {
|
|
1873
|
+
class: vue.normalizeClass([
|
|
1874
|
+
"flex flex-col",
|
|
1875
|
+
gapClasses[__props.gap]
|
|
1876
|
+
]),
|
|
1877
|
+
role: "navigation"
|
|
1878
|
+
}, [
|
|
1879
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
1880
|
+
], 2);
|
|
1881
|
+
};
|
|
1882
|
+
}
|
|
1883
|
+
});
|
|
1884
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
1856
1885
|
__name: "TableAction",
|
|
1857
1886
|
props: {
|
|
1858
1887
|
link: {},
|
|
@@ -1921,10 +1950,10 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
1921
1950
|
};
|
|
1922
1951
|
}
|
|
1923
1952
|
});
|
|
1924
|
-
const _hoisted_1$
|
|
1925
|
-
const _hoisted_2$
|
|
1926
|
-
const _hoisted_3$
|
|
1927
|
-
const _sfc_main$
|
|
1953
|
+
const _hoisted_1$e = { class: "relative inline-block" };
|
|
1954
|
+
const _hoisted_2$b = ["src", "alt"];
|
|
1955
|
+
const _hoisted_3$6 = { key: 1 };
|
|
1956
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
1928
1957
|
__name: "Avatar",
|
|
1929
1958
|
props: {
|
|
1930
1959
|
src: {},
|
|
@@ -2029,7 +2058,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
2029
2058
|
});
|
|
2030
2059
|
const showImage = vue.computed(() => props.src && !imageError.value);
|
|
2031
2060
|
return (_ctx, _cache) => {
|
|
2032
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2061
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
|
|
2033
2062
|
vue.createElementVNode("div", {
|
|
2034
2063
|
class: vue.normalizeClass([
|
|
2035
2064
|
"flex items-center justify-center overflow-hidden font-medium",
|
|
@@ -2044,7 +2073,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
2044
2073
|
alt: __props.alt || __props.name,
|
|
2045
2074
|
class: "size-full object-cover",
|
|
2046
2075
|
onError: _cache[0] || (_cache[0] = ($event) => imageError.value = true)
|
|
2047
|
-
}, null, 40, _hoisted_2$
|
|
2076
|
+
}, null, 40, _hoisted_2$b)) : initials.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$6, vue.toDisplayString(initials.value), 1)) : (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
|
|
2048
2077
|
key: 2,
|
|
2049
2078
|
icon: "lucide:user",
|
|
2050
2079
|
class: "size-1/2"
|
|
@@ -2062,9 +2091,9 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
2062
2091
|
};
|
|
2063
2092
|
}
|
|
2064
2093
|
});
|
|
2065
|
-
const _hoisted_1$
|
|
2066
|
-
const _hoisted_2$
|
|
2067
|
-
const _sfc_main$
|
|
2094
|
+
const _hoisted_1$d = ["aria-selected", "disabled", "onClick"];
|
|
2095
|
+
const _hoisted_2$a = { class: "mt-4" };
|
|
2096
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
2068
2097
|
__name: "Tabs",
|
|
2069
2098
|
props: {
|
|
2070
2099
|
tabs: {},
|
|
@@ -2129,18 +2158,18 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
2129
2158
|
activeTab.value === tab.key ? variantClasses[__props.variant].active : variantClasses[__props.variant].inactive
|
|
2130
2159
|
]),
|
|
2131
2160
|
onClick: ($event) => selectTab(tab)
|
|
2132
|
-
}, vue.toDisplayString(tab.label), 11, _hoisted_1$
|
|
2161
|
+
}, vue.toDisplayString(tab.label), 11, _hoisted_1$d);
|
|
2133
2162
|
}), 128))
|
|
2134
2163
|
], 2),
|
|
2135
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
2164
|
+
vue.createElementVNode("div", _hoisted_2$a, [
|
|
2136
2165
|
vue.renderSlot(_ctx.$slots, "default", { activeTab: activeTab.value })
|
|
2137
2166
|
])
|
|
2138
2167
|
]);
|
|
2139
2168
|
};
|
|
2140
2169
|
}
|
|
2141
2170
|
});
|
|
2142
|
-
const _hoisted_1$
|
|
2143
|
-
const _sfc_main$
|
|
2171
|
+
const _hoisted_1$c = { role: "tabpanel" };
|
|
2172
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
2144
2173
|
__name: "TabPanel",
|
|
2145
2174
|
props: {
|
|
2146
2175
|
value: {}
|
|
@@ -2150,7 +2179,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
2150
2179
|
const activeTab = vue.inject("activeTab");
|
|
2151
2180
|
const isActive = vue.computed(() => (activeTab == null ? void 0 : activeTab.value) === props.value);
|
|
2152
2181
|
return (_ctx, _cache) => {
|
|
2153
|
-
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2182
|
+
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
|
|
2154
2183
|
vue.renderSlot(_ctx.$slots, "default")
|
|
2155
2184
|
], 512)), [
|
|
2156
2185
|
[vue.vShow, isActive.value]
|
|
@@ -2158,11 +2187,11 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
2158
2187
|
};
|
|
2159
2188
|
}
|
|
2160
2189
|
});
|
|
2161
|
-
const _hoisted_1$
|
|
2190
|
+
const _hoisted_1$b = {
|
|
2162
2191
|
key: 2,
|
|
2163
2192
|
class: "text-sm font-semibold"
|
|
2164
2193
|
};
|
|
2165
|
-
const _sfc_main$
|
|
2194
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
2166
2195
|
__name: "Stepper",
|
|
2167
2196
|
props: {
|
|
2168
2197
|
steps: {},
|
|
@@ -2231,7 +2260,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
2231
2260
|
key: 1,
|
|
2232
2261
|
icon: step.icon,
|
|
2233
2262
|
class: "size-6"
|
|
2234
|
-
}, null, 8, ["icon"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$
|
|
2263
|
+
}, null, 8, ["icon"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$b, vue.toDisplayString(index2 + 1), 1))
|
|
2235
2264
|
], 2),
|
|
2236
2265
|
vue.createElementVNode("div", {
|
|
2237
2266
|
class: vue.normalizeClass([
|
|
@@ -2259,7 +2288,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
2259
2288
|
};
|
|
2260
2289
|
}
|
|
2261
2290
|
});
|
|
2262
|
-
const _sfc_main$
|
|
2291
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
2263
2292
|
__name: "CollapsibleCard",
|
|
2264
2293
|
props: {
|
|
2265
2294
|
title: {},
|
|
@@ -2277,7 +2306,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
2277
2306
|
};
|
|
2278
2307
|
const hasCustomHeader = () => !!slots.header;
|
|
2279
2308
|
return (_ctx, _cache) => {
|
|
2280
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2309
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$G, null, vue.createSlots({
|
|
2281
2310
|
default: vue.withCtx(() => [
|
|
2282
2311
|
vue.createVNode(vue.Transition, {
|
|
2283
2312
|
"enter-active-class": "transition-all duration-200 ease-out",
|
|
@@ -2355,9 +2384,9 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
2355
2384
|
};
|
|
2356
2385
|
}
|
|
2357
2386
|
});
|
|
2358
|
-
const _hoisted_1$
|
|
2359
|
-
const _hoisted_2$
|
|
2360
|
-
const _sfc_main$
|
|
2387
|
+
const _hoisted_1$a = ["aria-describedby"];
|
|
2388
|
+
const _hoisted_2$9 = ["id"];
|
|
2389
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
2361
2390
|
__name: "Tooltip",
|
|
2362
2391
|
props: {
|
|
2363
2392
|
content: {},
|
|
@@ -2428,17 +2457,17 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
2428
2457
|
id: vue.unref(tooltipId),
|
|
2429
2458
|
class: vue.normalizeClass(positionClasses.value),
|
|
2430
2459
|
role: "tooltip"
|
|
2431
|
-
}, vue.toDisplayString(__props.content), 11, _hoisted_2$
|
|
2460
|
+
}, vue.toDisplayString(__props.content), 11, _hoisted_2$9)) : vue.createCommentVNode("", true)
|
|
2432
2461
|
]),
|
|
2433
2462
|
_: 1
|
|
2434
2463
|
})
|
|
2435
|
-
], 40, _hoisted_1$
|
|
2464
|
+
], 40, _hoisted_1$a);
|
|
2436
2465
|
};
|
|
2437
2466
|
}
|
|
2438
2467
|
});
|
|
2439
|
-
const _hoisted_1$
|
|
2440
|
-
const _hoisted_2$
|
|
2441
|
-
const _sfc_main$
|
|
2468
|
+
const _hoisted_1$9 = ["id", "aria-expanded", "aria-controls"];
|
|
2469
|
+
const _hoisted_2$8 = ["id", "aria-labelledby"];
|
|
2470
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
2442
2471
|
__name: "Popover",
|
|
2443
2472
|
props: {
|
|
2444
2473
|
position: { default: "bottom" },
|
|
@@ -2494,7 +2523,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2494
2523
|
onClick: handleTrigger
|
|
2495
2524
|
}, [
|
|
2496
2525
|
vue.renderSlot(_ctx.$slots, "trigger")
|
|
2497
|
-
], 8, _hoisted_1$
|
|
2526
|
+
], 8, _hoisted_1$9),
|
|
2498
2527
|
(vue.openBlock(), vue.createBlock(vue.Teleport, {
|
|
2499
2528
|
to: "body",
|
|
2500
2529
|
disabled: !__props.teleport
|
|
@@ -2522,7 +2551,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2522
2551
|
])
|
|
2523
2552
|
}, [
|
|
2524
2553
|
vue.renderSlot(_ctx.$slots, "default", { close: vue.unref(close) })
|
|
2525
|
-
], 14, _hoisted_2$
|
|
2554
|
+
], 14, _hoisted_2$8)) : vue.createCommentVNode("", true)
|
|
2526
2555
|
]),
|
|
2527
2556
|
_: 3
|
|
2528
2557
|
})
|
|
@@ -2531,23 +2560,28 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2531
2560
|
};
|
|
2532
2561
|
}
|
|
2533
2562
|
});
|
|
2534
|
-
const _hoisted_1$
|
|
2563
|
+
const _hoisted_1$8 = {
|
|
2535
2564
|
key: 0,
|
|
2536
2565
|
class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700"
|
|
2537
2566
|
};
|
|
2538
|
-
const _hoisted_2$
|
|
2539
|
-
const _hoisted_3$
|
|
2540
|
-
|
|
2567
|
+
const _hoisted_2$7 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
|
|
2568
|
+
const _hoisted_3$5 = {
|
|
2569
|
+
key: 0,
|
|
2570
|
+
class: "mt-1 text-sm text-gray-500 dark:text-gray-400"
|
|
2571
|
+
};
|
|
2572
|
+
const _hoisted_4$3 = { class: "flex-1 overflow-y-auto p-4" };
|
|
2573
|
+
const _hoisted_5$1 = {
|
|
2541
2574
|
key: 1,
|
|
2542
2575
|
class: "px-4 py-3 border-t border-gray-200 dark:border-gray-700"
|
|
2543
2576
|
};
|
|
2544
|
-
const _sfc_main$
|
|
2577
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
2545
2578
|
__name: "Drawer",
|
|
2546
2579
|
props: {
|
|
2547
2580
|
modelValue: { type: Boolean },
|
|
2548
2581
|
position: { default: "right" },
|
|
2549
2582
|
size: { default: "md" },
|
|
2550
2583
|
title: {},
|
|
2584
|
+
description: {},
|
|
2551
2585
|
showClose: { type: Boolean, default: true },
|
|
2552
2586
|
closeOnOverlay: { type: Boolean, default: true },
|
|
2553
2587
|
closeOnEscape: { type: Boolean, default: true },
|
|
@@ -2660,9 +2694,12 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2660
2694
|
role: "dialog",
|
|
2661
2695
|
"aria-modal": "true"
|
|
2662
2696
|
}, [
|
|
2663
|
-
__props.title || __props.showClose || _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2697
|
+
__props.title || __props.showClose || _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
|
|
2664
2698
|
vue.renderSlot(_ctx.$slots, "header", {}, () => [
|
|
2665
|
-
vue.createElementVNode("
|
|
2699
|
+
vue.createElementVNode("div", null, [
|
|
2700
|
+
vue.createElementVNode("h2", _hoisted_2$7, vue.toDisplayString(__props.title), 1),
|
|
2701
|
+
__props.description ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$5, vue.toDisplayString(__props.description), 1)) : vue.createCommentVNode("", true)
|
|
2702
|
+
])
|
|
2666
2703
|
]),
|
|
2667
2704
|
__props.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
2668
2705
|
key: 0,
|
|
@@ -2676,10 +2713,10 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2676
2713
|
})
|
|
2677
2714
|
])) : vue.createCommentVNode("", true)
|
|
2678
2715
|
])) : vue.createCommentVNode("", true),
|
|
2679
|
-
vue.createElementVNode("div",
|
|
2716
|
+
vue.createElementVNode("div", _hoisted_4$3, [
|
|
2680
2717
|
vue.renderSlot(_ctx.$slots, "default")
|
|
2681
2718
|
]),
|
|
2682
|
-
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div",
|
|
2719
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
|
|
2683
2720
|
vue.renderSlot(_ctx.$slots, "footer")
|
|
2684
2721
|
])) : vue.createCommentVNode("", true)
|
|
2685
2722
|
], 2)) : vue.createCommentVNode("", true)
|
|
@@ -2690,9 +2727,9 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2690
2727
|
};
|
|
2691
2728
|
}
|
|
2692
2729
|
});
|
|
2693
|
-
const _hoisted_1$
|
|
2694
|
-
const _hoisted_2$
|
|
2695
|
-
const _sfc_main$
|
|
2730
|
+
const _hoisted_1$7 = { "aria-label": "Breadcrumb" };
|
|
2731
|
+
const _hoisted_2$6 = { class: "flex items-center flex-wrap gap-1 text-sm" };
|
|
2732
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
2696
2733
|
__name: "Breadcrumb",
|
|
2697
2734
|
props: {
|
|
2698
2735
|
items: {},
|
|
@@ -2703,8 +2740,8 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2703
2740
|
emits: ["click"],
|
|
2704
2741
|
setup(__props) {
|
|
2705
2742
|
return (_ctx, _cache) => {
|
|
2706
|
-
return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$
|
|
2707
|
-
vue.createElementVNode("ol", _hoisted_2$
|
|
2743
|
+
return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$7, [
|
|
2744
|
+
vue.createElementVNode("ol", _hoisted_2$6, [
|
|
2708
2745
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item, index2) => {
|
|
2709
2746
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
2710
2747
|
key: index2,
|
|
@@ -2746,8 +2783,8 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2746
2783
|
};
|
|
2747
2784
|
}
|
|
2748
2785
|
});
|
|
2749
|
-
const _hoisted_1$
|
|
2750
|
-
const _sfc_main$
|
|
2786
|
+
const _hoisted_1$6 = { class: "divide-y divide-gray-200 dark:divide-gray-700 border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden" };
|
|
2787
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
2751
2788
|
__name: "Accordion",
|
|
2752
2789
|
props: {
|
|
2753
2790
|
mode: { default: "single" },
|
|
@@ -2773,17 +2810,17 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2773
2810
|
isOpen
|
|
2774
2811
|
});
|
|
2775
2812
|
return (_ctx, _cache) => {
|
|
2776
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2813
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
|
|
2777
2814
|
vue.renderSlot(_ctx.$slots, "default")
|
|
2778
2815
|
]);
|
|
2779
2816
|
};
|
|
2780
2817
|
}
|
|
2781
2818
|
});
|
|
2782
|
-
const _hoisted_1$
|
|
2783
|
-
const _hoisted_2$
|
|
2784
|
-
const _hoisted_3$
|
|
2785
|
-
const _hoisted_4$
|
|
2786
|
-
const _sfc_main$
|
|
2819
|
+
const _hoisted_1$5 = ["id", "disabled", "aria-expanded", "aria-controls"];
|
|
2820
|
+
const _hoisted_2$5 = { class: "flex items-center gap-2 font-medium" };
|
|
2821
|
+
const _hoisted_3$4 = ["id", "aria-labelledby"];
|
|
2822
|
+
const _hoisted_4$2 = { class: "px-4 py-3 bg-gray-50 dark:bg-gray-900 text-gray-700 dark:text-gray-300" };
|
|
2823
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
2787
2824
|
__name: "AccordionItem",
|
|
2788
2825
|
props: {
|
|
2789
2826
|
itemKey: {},
|
|
@@ -2817,7 +2854,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2817
2854
|
"aria-controls": panelId.value,
|
|
2818
2855
|
onClick: toggle
|
|
2819
2856
|
}, [
|
|
2820
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
2857
|
+
vue.createElementVNode("span", _hoisted_2$5, [
|
|
2821
2858
|
__props.icon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
|
|
2822
2859
|
key: 0,
|
|
2823
2860
|
icon: __props.icon,
|
|
@@ -2831,7 +2868,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2831
2868
|
class: vue.normalizeClass(["size-5 transition-transform duration-200", { "rotate-180": isOpen.value }]),
|
|
2832
2869
|
"aria-hidden": "true"
|
|
2833
2870
|
}, null, 8, ["class"])
|
|
2834
|
-
], 10, _hoisted_1$
|
|
2871
|
+
], 10, _hoisted_1$5),
|
|
2835
2872
|
vue.createVNode(vue.Transition, {
|
|
2836
2873
|
"enter-active-class": "transition-all duration-200 ease-out",
|
|
2837
2874
|
"enter-from-class": "opacity-0 max-h-0",
|
|
@@ -2847,10 +2884,10 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2847
2884
|
"aria-labelledby": headerId.value,
|
|
2848
2885
|
class: "overflow-hidden"
|
|
2849
2886
|
}, [
|
|
2850
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
2887
|
+
vue.createElementVNode("div", _hoisted_4$2, [
|
|
2851
2888
|
vue.renderSlot(_ctx.$slots, "default")
|
|
2852
2889
|
])
|
|
2853
|
-
], 8, _hoisted_3$
|
|
2890
|
+
], 8, _hoisted_3$4), [
|
|
2854
2891
|
[vue.vShow, isOpen.value]
|
|
2855
2892
|
])
|
|
2856
2893
|
]),
|
|
@@ -2860,13 +2897,13 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2860
2897
|
};
|
|
2861
2898
|
}
|
|
2862
2899
|
});
|
|
2863
|
-
const _hoisted_1$
|
|
2900
|
+
const _hoisted_1$4 = {
|
|
2864
2901
|
key: 0,
|
|
2865
2902
|
class: "relative"
|
|
2866
2903
|
};
|
|
2867
|
-
const _hoisted_2$
|
|
2868
|
-
const _hoisted_3$
|
|
2869
|
-
const _hoisted_4 = { class: "flex items-center justify-between gap-2" };
|
|
2904
|
+
const _hoisted_2$4 = { class: "flex items-start gap-4" };
|
|
2905
|
+
const _hoisted_3$3 = { class: "flex-1 min-w-0 pt-0.5" };
|
|
2906
|
+
const _hoisted_4$1 = { class: "flex items-center justify-between gap-2" };
|
|
2870
2907
|
const _hoisted_5 = { class: "text-sm font-medium text-gray-900 dark:text-white" };
|
|
2871
2908
|
const _hoisted_6 = {
|
|
2872
2909
|
key: 0,
|
|
@@ -2887,7 +2924,7 @@ const _hoisted_12 = {
|
|
|
2887
2924
|
key: 0,
|
|
2888
2925
|
class: "text-xs text-gray-500 dark:text-gray-400"
|
|
2889
2926
|
};
|
|
2890
|
-
const _sfc_main$
|
|
2927
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
2891
2928
|
__name: "Timeline",
|
|
2892
2929
|
props: {
|
|
2893
2930
|
items: {},
|
|
@@ -2933,7 +2970,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2933
2970
|
}
|
|
2934
2971
|
};
|
|
2935
2972
|
return (_ctx, _cache) => {
|
|
2936
|
-
return __props.orientation === "vertical" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2973
|
+
return __props.orientation === "vertical" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
|
|
2937
2974
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item, index2) => {
|
|
2938
2975
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
2939
2976
|
key: item.key,
|
|
@@ -2943,7 +2980,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2943
2980
|
key: 0,
|
|
2944
2981
|
class: vue.normalizeClass(["absolute left-4 top-8 w-0.5 h-full -ml-px", getStatusClasses(item.status).line])
|
|
2945
2982
|
}, null, 2)) : vue.createCommentVNode("", true),
|
|
2946
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
2983
|
+
vue.createElementVNode("div", _hoisted_2$4, [
|
|
2947
2984
|
vue.createElementVNode("div", {
|
|
2948
2985
|
class: vue.normalizeClass(["relative z-10 flex items-center justify-center size-8 rounded-full shrink-0", getStatusClasses(item.status).dot])
|
|
2949
2986
|
}, [
|
|
@@ -2953,8 +2990,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2953
2990
|
class: vue.normalizeClass(["size-4", getStatusClasses(item.status).icon])
|
|
2954
2991
|
}, null, 8, ["icon", "class"])) : vue.createCommentVNode("", true)
|
|
2955
2992
|
], 2),
|
|
2956
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
2957
|
-
vue.createElementVNode("div", _hoisted_4, [
|
|
2993
|
+
vue.createElementVNode("div", _hoisted_3$3, [
|
|
2994
|
+
vue.createElementVNode("div", _hoisted_4$1, [
|
|
2958
2995
|
vue.createElementVNode("h3", _hoisted_5, vue.toDisplayString(item.title), 1),
|
|
2959
2996
|
item.date ? (vue.openBlock(), vue.createElementBlock("time", _hoisted_6, vue.toDisplayString(item.date), 1)) : vue.createCommentVNode("", true)
|
|
2960
2997
|
]),
|
|
@@ -2995,12 +3032,12 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2995
3032
|
};
|
|
2996
3033
|
}
|
|
2997
3034
|
});
|
|
2998
|
-
const _hoisted_1$
|
|
2999
|
-
const _hoisted_2$
|
|
3035
|
+
const _hoisted_1$3 = ["aria-label"];
|
|
3036
|
+
const _hoisted_2$3 = {
|
|
3000
3037
|
key: 0,
|
|
3001
3038
|
class: "text-sm font-medium"
|
|
3002
3039
|
};
|
|
3003
|
-
const _sfc_main$
|
|
3040
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
3004
3041
|
__name: "DarkModeToggle",
|
|
3005
3042
|
props: {
|
|
3006
3043
|
size: { default: "md" },
|
|
@@ -3035,43 +3072,69 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3035
3072
|
icon: vue.unref(isDark) ? __props.darkIcon : __props.lightIcon,
|
|
3036
3073
|
class: vue.normalizeClass(sizeClasses[__props.size].icon)
|
|
3037
3074
|
}, null, 8, ["icon", "class"]),
|
|
3038
|
-
__props.showLabel ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
3039
|
-
], 10, _hoisted_1$
|
|
3075
|
+
__props.showLabel ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$3, vue.toDisplayString(vue.unref(isDark) ? "Dark" : "Light"), 1)) : vue.createCommentVNode("", true)
|
|
3076
|
+
], 10, _hoisted_1$3);
|
|
3040
3077
|
};
|
|
3041
3078
|
}
|
|
3042
3079
|
});
|
|
3043
|
-
const _hoisted_1$
|
|
3044
|
-
|
|
3080
|
+
const _hoisted_1$2 = {
|
|
3081
|
+
key: 0,
|
|
3082
|
+
class: "mr-0.5"
|
|
3083
|
+
};
|
|
3084
|
+
const _hoisted_2$2 = {
|
|
3045
3085
|
key: 1,
|
|
3086
|
+
class: "ml-0.5"
|
|
3087
|
+
};
|
|
3088
|
+
const _hoisted_3$2 = { key: 1 };
|
|
3089
|
+
const _hoisted_4 = {
|
|
3090
|
+
key: 2,
|
|
3046
3091
|
class: "text-gray-400"
|
|
3047
3092
|
};
|
|
3048
|
-
const _sfc_main$
|
|
3093
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
3049
3094
|
__name: "StatItem",
|
|
3050
3095
|
props: {
|
|
3051
3096
|
label: {},
|
|
3052
3097
|
value: {},
|
|
3098
|
+
description: {},
|
|
3099
|
+
prefix: {},
|
|
3100
|
+
suffix: {},
|
|
3053
3101
|
icon: {},
|
|
3054
3102
|
iconPosition: { default: "top" },
|
|
3103
|
+
iconRounded: { default: "xl" },
|
|
3104
|
+
hideIconBg: { type: Boolean, default: false },
|
|
3055
3105
|
change: {},
|
|
3056
3106
|
changeLabel: {},
|
|
3057
3107
|
trend: {},
|
|
3058
3108
|
trendOnly: { type: Boolean, default: false },
|
|
3109
|
+
hideTrendIcon: { type: Boolean, default: false },
|
|
3110
|
+
invertTrendColors: { type: Boolean, default: false },
|
|
3059
3111
|
size: { default: "md" },
|
|
3060
3112
|
variant: { default: "default" },
|
|
3061
3113
|
color: { default: "primary" },
|
|
3062
3114
|
clickable: { type: Boolean, default: false },
|
|
3063
3115
|
centered: { type: Boolean },
|
|
3116
|
+
labelFirst: { type: Boolean, default: false },
|
|
3117
|
+
compact: { type: Boolean, default: false },
|
|
3118
|
+
loading: { type: Boolean, default: false },
|
|
3119
|
+
shadow: { default: "sm" },
|
|
3120
|
+
rounded: { default: "xl" },
|
|
3121
|
+
border: { default: "none" },
|
|
3122
|
+
accent: { default: "none" },
|
|
3064
3123
|
cardClass: {},
|
|
3124
|
+
iconWrapperClass: {},
|
|
3065
3125
|
iconClass: {},
|
|
3066
3126
|
valueClass: {},
|
|
3067
|
-
labelClass: {}
|
|
3127
|
+
labelClass: {},
|
|
3128
|
+
descriptionClass: {},
|
|
3129
|
+
trendClass: {},
|
|
3130
|
+
contentClass: {}
|
|
3068
3131
|
},
|
|
3069
3132
|
emits: ["click"],
|
|
3070
3133
|
setup(__props) {
|
|
3071
3134
|
const props = __props;
|
|
3072
3135
|
const isCentered = vue.computed(() => {
|
|
3073
3136
|
if (props.centered !== void 0) return props.centered;
|
|
3074
|
-
return props.iconPosition === "top";
|
|
3137
|
+
return props.iconPosition === "top" || props.iconPosition === "bottom";
|
|
3075
3138
|
});
|
|
3076
3139
|
const effectiveTrend = vue.computed(() => {
|
|
3077
3140
|
if (props.trend) return props.trend;
|
|
@@ -3082,38 +3145,73 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3082
3145
|
});
|
|
3083
3146
|
const sizeClasses = vue.computed(() => {
|
|
3084
3147
|
const sizes = {
|
|
3148
|
+
xs: {
|
|
3149
|
+
padding: props.compact ? "none" : "sm",
|
|
3150
|
+
icon: "size-6",
|
|
3151
|
+
iconInner: "size-3",
|
|
3152
|
+
value: "text-lg font-bold",
|
|
3153
|
+
label: "text-xs",
|
|
3154
|
+
description: "text-xs",
|
|
3155
|
+
change: "text-xs",
|
|
3156
|
+
gap: "gap-0.5"
|
|
3157
|
+
},
|
|
3085
3158
|
sm: {
|
|
3086
|
-
padding: "sm",
|
|
3159
|
+
padding: props.compact ? "sm" : "sm",
|
|
3087
3160
|
icon: "size-8",
|
|
3088
3161
|
iconInner: "size-4",
|
|
3089
3162
|
value: "text-xl font-bold",
|
|
3090
3163
|
label: "text-xs",
|
|
3164
|
+
description: "text-xs",
|
|
3091
3165
|
change: "text-xs",
|
|
3092
3166
|
gap: "gap-1"
|
|
3093
3167
|
},
|
|
3094
3168
|
md: {
|
|
3095
|
-
padding: "md",
|
|
3169
|
+
padding: props.compact ? "sm" : "md",
|
|
3096
3170
|
icon: "size-10",
|
|
3097
3171
|
iconInner: "size-5",
|
|
3098
3172
|
value: "text-2xl sm:text-3xl font-bold",
|
|
3099
3173
|
label: "text-xs sm:text-sm",
|
|
3174
|
+
description: "text-xs sm:text-sm",
|
|
3100
3175
|
change: "text-xs",
|
|
3101
3176
|
gap: "gap-2"
|
|
3102
3177
|
},
|
|
3103
3178
|
lg: {
|
|
3104
|
-
padding: "lg",
|
|
3179
|
+
padding: props.compact ? "md" : "lg",
|
|
3105
3180
|
icon: "size-12",
|
|
3106
3181
|
iconInner: "size-6",
|
|
3107
3182
|
value: "text-3xl sm:text-4xl font-bold",
|
|
3108
3183
|
label: "text-sm sm:text-base",
|
|
3184
|
+
description: "text-sm",
|
|
3109
3185
|
change: "text-sm",
|
|
3110
3186
|
gap: "gap-3"
|
|
3187
|
+
},
|
|
3188
|
+
xl: {
|
|
3189
|
+
padding: props.compact ? "md" : "lg",
|
|
3190
|
+
icon: "size-14",
|
|
3191
|
+
iconInner: "size-7",
|
|
3192
|
+
value: "text-4xl sm:text-5xl font-bold",
|
|
3193
|
+
label: "text-base sm:text-lg",
|
|
3194
|
+
description: "text-sm sm:text-base",
|
|
3195
|
+
change: "text-sm",
|
|
3196
|
+
gap: "gap-4"
|
|
3111
3197
|
}
|
|
3112
3198
|
};
|
|
3113
3199
|
return sizes[props.size];
|
|
3114
3200
|
});
|
|
3201
|
+
const iconRoundedClasses = vue.computed(() => {
|
|
3202
|
+
const map = {
|
|
3203
|
+
none: "rounded-none",
|
|
3204
|
+
sm: "rounded-sm",
|
|
3205
|
+
md: "rounded-md",
|
|
3206
|
+
lg: "rounded-lg",
|
|
3207
|
+
xl: "rounded-xl",
|
|
3208
|
+
full: "rounded-full"
|
|
3209
|
+
};
|
|
3210
|
+
return map[props.iconRounded];
|
|
3211
|
+
});
|
|
3115
3212
|
const iconBgClasses = vue.computed(() => {
|
|
3116
|
-
if (props.
|
|
3213
|
+
if (props.hideIconBg) return "";
|
|
3214
|
+
if (props.variant === "glass" || props.variant === "solid") return "bg-white/20";
|
|
3117
3215
|
const colors = {
|
|
3118
3216
|
primary: "bg-primary-100 dark:bg-primary-900/30",
|
|
3119
3217
|
secondary: "bg-secondary-100 dark:bg-secondary-900/30",
|
|
@@ -3125,7 +3223,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3125
3223
|
return colors[props.color];
|
|
3126
3224
|
});
|
|
3127
3225
|
const iconColorClasses = vue.computed(() => {
|
|
3128
|
-
if (props.variant === "glass") return "text-white";
|
|
3226
|
+
if (props.variant === "glass" || props.variant === "solid") return "text-white";
|
|
3129
3227
|
const colors = {
|
|
3130
3228
|
primary: "text-primary-600 dark:text-primary-400",
|
|
3131
3229
|
secondary: "text-secondary-600 dark:text-secondary-400",
|
|
@@ -3136,19 +3234,43 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3136
3234
|
};
|
|
3137
3235
|
return colors[props.color];
|
|
3138
3236
|
});
|
|
3237
|
+
const solidBgClasses = vue.computed(() => {
|
|
3238
|
+
if (props.variant !== "solid") return "";
|
|
3239
|
+
const colors = {
|
|
3240
|
+
primary: "bg-primary-500",
|
|
3241
|
+
secondary: "bg-secondary-500",
|
|
3242
|
+
success: "bg-emerald-500",
|
|
3243
|
+
warning: "bg-amber-500",
|
|
3244
|
+
danger: "bg-red-500",
|
|
3245
|
+
info: "bg-blue-500"
|
|
3246
|
+
};
|
|
3247
|
+
return colors[props.color];
|
|
3248
|
+
});
|
|
3139
3249
|
const valueTextClasses = vue.computed(() => {
|
|
3140
|
-
if (props.variant === "glass") return "text-white";
|
|
3250
|
+
if (props.variant === "glass" || props.variant === "solid") return "text-white";
|
|
3141
3251
|
return "text-gray-900 dark:text-white";
|
|
3142
3252
|
});
|
|
3143
3253
|
const labelTextClasses = vue.computed(() => {
|
|
3144
3254
|
if (props.variant === "glass") return "text-white/80";
|
|
3255
|
+
if (props.variant === "solid") return "text-white/90";
|
|
3145
3256
|
return "text-gray-500 dark:text-gray-400";
|
|
3146
3257
|
});
|
|
3258
|
+
const descriptionTextClasses = vue.computed(() => {
|
|
3259
|
+
if (props.variant === "glass") return "text-white/70";
|
|
3260
|
+
if (props.variant === "solid") return "text-white/80";
|
|
3261
|
+
return "text-gray-400 dark:text-gray-500";
|
|
3262
|
+
});
|
|
3147
3263
|
const trendColorClasses = vue.computed(() => {
|
|
3148
3264
|
if (!effectiveTrend.value || effectiveTrend.value === "neutral") {
|
|
3149
3265
|
return "text-gray-500";
|
|
3150
3266
|
}
|
|
3151
|
-
|
|
3267
|
+
const isUp = effectiveTrend.value === "up";
|
|
3268
|
+
const greenColor = "text-emerald-500";
|
|
3269
|
+
const redColor = "text-red-500";
|
|
3270
|
+
if (props.invertTrendColors) {
|
|
3271
|
+
return isUp ? redColor : greenColor;
|
|
3272
|
+
}
|
|
3273
|
+
return isUp ? greenColor : redColor;
|
|
3152
3274
|
});
|
|
3153
3275
|
const trendIcon = vue.computed(() => {
|
|
3154
3276
|
if (!effectiveTrend.value || effectiveTrend.value === "neutral") {
|
|
@@ -3157,104 +3279,174 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3157
3279
|
return effectiveTrend.value === "up" ? "heroicons:arrow-trending-up" : "heroicons:arrow-trending-down";
|
|
3158
3280
|
});
|
|
3159
3281
|
const cardVariant = vue.computed(() => {
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3282
|
+
if (props.variant === "solid") return "default";
|
|
3283
|
+
return props.variant;
|
|
3284
|
+
});
|
|
3285
|
+
const effectiveShadow = vue.computed(() => {
|
|
3286
|
+
if (props.variant === "glass") return "none";
|
|
3287
|
+
return props.shadow;
|
|
3288
|
+
});
|
|
3289
|
+
const effectiveBorder = vue.computed(() => {
|
|
3290
|
+
if (props.variant === "outline") return "default";
|
|
3291
|
+
return props.border;
|
|
3167
3292
|
});
|
|
3168
3293
|
const layoutClasses = vue.computed(() => {
|
|
3169
|
-
|
|
3170
|
-
|
|
3294
|
+
const centered = isCentered.value ? "items-center text-center" : "";
|
|
3295
|
+
switch (props.iconPosition) {
|
|
3296
|
+
case "top":
|
|
3297
|
+
return `flex flex-col ${centered}`;
|
|
3298
|
+
case "bottom":
|
|
3299
|
+
return `flex flex-col-reverse ${centered}`;
|
|
3300
|
+
case "left":
|
|
3301
|
+
return "flex flex-row items-center";
|
|
3302
|
+
case "right":
|
|
3303
|
+
return "flex flex-row-reverse items-center";
|
|
3304
|
+
default:
|
|
3305
|
+
return `flex flex-col ${centered}`;
|
|
3171
3306
|
}
|
|
3172
|
-
|
|
3173
|
-
|
|
3307
|
+
});
|
|
3308
|
+
const iconMarginClasses = vue.computed(() => {
|
|
3309
|
+
switch (props.iconPosition) {
|
|
3310
|
+
case "top":
|
|
3311
|
+
return "mb-2";
|
|
3312
|
+
case "bottom":
|
|
3313
|
+
return "mt-2";
|
|
3314
|
+
case "left":
|
|
3315
|
+
return "mr-3";
|
|
3316
|
+
case "right":
|
|
3317
|
+
return "ml-3";
|
|
3318
|
+
default:
|
|
3319
|
+
return "";
|
|
3174
3320
|
}
|
|
3175
|
-
return "flex flex-row-reverse items-center";
|
|
3176
3321
|
});
|
|
3177
|
-
const
|
|
3178
|
-
|
|
3179
|
-
|
|
3322
|
+
const computedContentClasses = vue.computed(() => {
|
|
3323
|
+
const isVertical = props.iconPosition === "top" || props.iconPosition === "bottom";
|
|
3324
|
+
if (isVertical) {
|
|
3325
|
+
return `flex flex-col ${sizeClasses.value.gap}`;
|
|
3180
3326
|
}
|
|
3181
|
-
return
|
|
3327
|
+
return `flex flex-col flex-1 min-w-0 ${sizeClasses.value.gap}`;
|
|
3182
3328
|
});
|
|
3183
3329
|
return (_ctx, _cache) => {
|
|
3184
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3330
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
3185
3331
|
variant: cardVariant.value,
|
|
3186
3332
|
padding: sizeClasses.value.padding,
|
|
3187
3333
|
clickable: __props.clickable,
|
|
3188
|
-
shadow:
|
|
3189
|
-
border:
|
|
3190
|
-
rounded:
|
|
3334
|
+
shadow: effectiveShadow.value,
|
|
3335
|
+
border: effectiveBorder.value,
|
|
3336
|
+
rounded: __props.rounded,
|
|
3337
|
+
accent: __props.accent,
|
|
3191
3338
|
"header-divider": false,
|
|
3192
|
-
class: vue.normalizeClass(__props.cardClass),
|
|
3339
|
+
class: vue.normalizeClass([__props.cardClass, solidBgClasses.value, __props.variant === "solid" && "text-white"]),
|
|
3193
3340
|
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
|
|
3194
3341
|
}, {
|
|
3195
3342
|
default: vue.withCtx(() => [
|
|
3196
|
-
vue.
|
|
3343
|
+
__props.loading ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3344
|
+
key: 0,
|
|
3197
3345
|
class: vue.normalizeClass(layoutClasses.value)
|
|
3198
3346
|
}, [
|
|
3199
|
-
__props.icon ? (vue.openBlock(), vue.
|
|
3347
|
+
__props.icon ? (vue.openBlock(), vue.createBlock(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main$1, {
|
|
3348
|
+
key: 0,
|
|
3349
|
+
class: vue.normalizeClass([sizeClasses.value.icon, iconRoundedClasses.value, iconMarginClasses.value])
|
|
3350
|
+
}, null, 8, ["class"])) : vue.createCommentVNode("", true),
|
|
3351
|
+
vue.createElementVNode("div", {
|
|
3352
|
+
class: vue.normalizeClass(computedContentClasses.value)
|
|
3353
|
+
}, [
|
|
3354
|
+
vue.createVNode(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main$1, {
|
|
3355
|
+
class: vue.normalizeClass(sizeClasses.value.value),
|
|
3356
|
+
width: "60%",
|
|
3357
|
+
height: "1.5em"
|
|
3358
|
+
}, null, 8, ["class"]),
|
|
3359
|
+
vue.createVNode(Skeleton_vue_vue_type_script_setup_true_lang._sfc_main$1, {
|
|
3360
|
+
class: vue.normalizeClass(sizeClasses.value.label),
|
|
3361
|
+
width: "80%",
|
|
3362
|
+
height: "1em"
|
|
3363
|
+
}, null, 8, ["class"])
|
|
3364
|
+
], 2)
|
|
3365
|
+
], 2)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
3366
|
+
key: 1,
|
|
3367
|
+
class: vue.normalizeClass(layoutClasses.value)
|
|
3368
|
+
}, [
|
|
3369
|
+
__props.icon || _ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3200
3370
|
key: 0,
|
|
3201
3371
|
class: vue.normalizeClass([
|
|
3202
|
-
"
|
|
3372
|
+
"flex items-center justify-center flex-shrink-0",
|
|
3203
3373
|
sizeClasses.value.icon,
|
|
3374
|
+
iconRoundedClasses.value,
|
|
3204
3375
|
iconBgClasses.value,
|
|
3205
|
-
|
|
3206
|
-
__props.
|
|
3376
|
+
iconMarginClasses.value,
|
|
3377
|
+
__props.iconWrapperClass
|
|
3207
3378
|
])
|
|
3208
3379
|
}, [
|
|
3209
3380
|
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
3210
3381
|
vue.createVNode(vue.unref(vue$1.Icon), {
|
|
3211
3382
|
icon: __props.icon,
|
|
3212
|
-
class: vue.normalizeClass([sizeClasses.value.iconInner, iconColorClasses.value])
|
|
3383
|
+
class: vue.normalizeClass([sizeClasses.value.iconInner, iconColorClasses.value, __props.iconClass])
|
|
3213
3384
|
}, null, 8, ["icon", "class"])
|
|
3214
3385
|
])
|
|
3215
3386
|
], 2)) : vue.createCommentVNode("", true),
|
|
3216
3387
|
vue.createElementVNode("div", {
|
|
3217
|
-
class: vue.normalizeClass(
|
|
3388
|
+
class: vue.normalizeClass([computedContentClasses.value, __props.contentClass])
|
|
3218
3389
|
}, [
|
|
3390
|
+
__props.labelFirst ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3391
|
+
key: 0,
|
|
3392
|
+
class: vue.normalizeClass([sizeClasses.value.label, labelTextClasses.value, __props.labelClass])
|
|
3393
|
+
}, [
|
|
3394
|
+
vue.renderSlot(_ctx.$slots, "label", {}, () => [
|
|
3395
|
+
vue.createTextVNode(vue.toDisplayString(__props.label), 1)
|
|
3396
|
+
])
|
|
3397
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
3219
3398
|
vue.createElementVNode("div", {
|
|
3220
3399
|
class: vue.normalizeClass([sizeClasses.value.value, valueTextClasses.value, __props.valueClass])
|
|
3221
3400
|
}, [
|
|
3222
3401
|
vue.renderSlot(_ctx.$slots, "value", {}, () => [
|
|
3223
|
-
vue.
|
|
3402
|
+
__props.prefix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$2, vue.toDisplayString(__props.prefix), 1)) : vue.createCommentVNode("", true),
|
|
3403
|
+
vue.createTextVNode(" " + vue.toDisplayString(__props.value) + " ", 1),
|
|
3404
|
+
__props.suffix ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$2, vue.toDisplayString(__props.suffix), 1)) : vue.createCommentVNode("", true)
|
|
3224
3405
|
])
|
|
3225
3406
|
], 2),
|
|
3226
|
-
vue.
|
|
3407
|
+
!__props.labelFirst ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3408
|
+
key: 1,
|
|
3227
3409
|
class: vue.normalizeClass([sizeClasses.value.label, labelTextClasses.value, __props.labelClass])
|
|
3228
3410
|
}, [
|
|
3229
3411
|
vue.renderSlot(_ctx.$slots, "label", {}, () => [
|
|
3230
3412
|
vue.createTextVNode(vue.toDisplayString(__props.label), 1)
|
|
3231
3413
|
])
|
|
3232
|
-
], 2),
|
|
3414
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
3415
|
+
__props.description || _ctx.$slots.description ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3416
|
+
key: 2,
|
|
3417
|
+
class: vue.normalizeClass([sizeClasses.value.description, descriptionTextClasses.value, __props.descriptionClass])
|
|
3418
|
+
}, [
|
|
3419
|
+
vue.renderSlot(_ctx.$slots, "description", {}, () => [
|
|
3420
|
+
vue.createTextVNode(vue.toDisplayString(__props.description), 1)
|
|
3421
|
+
])
|
|
3422
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
3233
3423
|
__props.change !== void 0 || __props.trend ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3234
|
-
key:
|
|
3424
|
+
key: 3,
|
|
3235
3425
|
class: vue.normalizeClass([
|
|
3236
3426
|
"mt-1 font-medium inline-flex items-center gap-1",
|
|
3237
3427
|
sizeClasses.value.change,
|
|
3238
|
-
trendColorClasses.value
|
|
3428
|
+
trendColorClasses.value,
|
|
3429
|
+
__props.trendClass
|
|
3239
3430
|
])
|
|
3240
3431
|
}, [
|
|
3241
|
-
vue.
|
|
3432
|
+
!__props.hideTrendIcon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
|
|
3433
|
+
key: 0,
|
|
3242
3434
|
icon: trendIcon.value,
|
|
3243
3435
|
class: "size-3.5"
|
|
3244
|
-
}, null, 8, ["icon"]),
|
|
3245
|
-
!__props.trendOnly && __props.change !== void 0 ? (vue.openBlock(), vue.createElementBlock("span",
|
|
3246
|
-
__props.changeLabel ? (vue.openBlock(), vue.createElementBlock("span",
|
|
3436
|
+
}, null, 8, ["icon"])) : vue.createCommentVNode("", true),
|
|
3437
|
+
!__props.trendOnly && __props.change !== void 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$2, vue.toDisplayString(__props.change >= 0 ? "+" : "") + vue.toDisplayString(__props.change) + "% ", 1)) : vue.createCommentVNode("", true),
|
|
3438
|
+
__props.changeLabel ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, vue.toDisplayString(__props.changeLabel), 1)) : vue.createCommentVNode("", true)
|
|
3247
3439
|
], 2)) : vue.createCommentVNode("", true)
|
|
3248
3440
|
], 2)
|
|
3249
|
-
], 2),
|
|
3441
|
+
], 2)),
|
|
3250
3442
|
vue.renderSlot(_ctx.$slots, "extra")
|
|
3251
3443
|
]),
|
|
3252
3444
|
_: 3
|
|
3253
|
-
}, 8, ["variant", "padding", "clickable", "shadow", "border", "class"]);
|
|
3445
|
+
}, 8, ["variant", "padding", "clickable", "shadow", "border", "rounded", "accent", "class"]);
|
|
3254
3446
|
};
|
|
3255
3447
|
}
|
|
3256
3448
|
});
|
|
3257
|
-
const _sfc_main$
|
|
3449
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
3258
3450
|
__name: "Stats",
|
|
3259
3451
|
props: {
|
|
3260
3452
|
stats: {},
|
|
@@ -3263,17 +3455,41 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3263
3455
|
variant: { default: "default" },
|
|
3264
3456
|
size: { default: "md" },
|
|
3265
3457
|
iconPosition: { default: "top" },
|
|
3266
|
-
|
|
3458
|
+
iconRounded: { default: "xl" },
|
|
3459
|
+
hideIconBg: { type: Boolean, default: false },
|
|
3460
|
+
color: { default: "primary" },
|
|
3461
|
+
labelFirst: { type: Boolean, default: false },
|
|
3462
|
+
compact: { type: Boolean, default: false },
|
|
3463
|
+
loading: { type: Boolean, default: false },
|
|
3464
|
+
shadow: { default: "sm" },
|
|
3465
|
+
rounded: { default: "xl" },
|
|
3466
|
+
border: { default: "none" },
|
|
3467
|
+
accent: { default: "none" },
|
|
3468
|
+
clickable: { type: Boolean, default: false },
|
|
3469
|
+
centered: { type: Boolean },
|
|
3470
|
+
invertTrendColors: { type: Boolean, default: false },
|
|
3471
|
+
hideTrendIcon: { type: Boolean, default: false },
|
|
3472
|
+
gridClass: {},
|
|
3473
|
+
cardClass: {},
|
|
3474
|
+
iconWrapperClass: {},
|
|
3475
|
+
iconClass: {},
|
|
3476
|
+
valueClass: {},
|
|
3477
|
+
labelClass: {}
|
|
3267
3478
|
},
|
|
3479
|
+
emits: ["item-click"],
|
|
3268
3480
|
setup(__props) {
|
|
3269
3481
|
return (_ctx, _cache) => {
|
|
3270
3482
|
var _a, _b, _c, _d;
|
|
3271
3483
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
3272
3484
|
class: vue.normalizeClass(["grid", [
|
|
3485
|
+
__props.gridClass,
|
|
3273
3486
|
// Gap classes
|
|
3487
|
+
__props.gap === "none" && "gap-0",
|
|
3488
|
+
__props.gap === "xs" && "gap-1 sm:gap-2",
|
|
3274
3489
|
__props.gap === "sm" && "gap-2 sm:gap-3",
|
|
3275
3490
|
__props.gap === "md" && "gap-3 sm:gap-4",
|
|
3276
3491
|
__props.gap === "lg" && "gap-4 sm:gap-6",
|
|
3492
|
+
__props.gap === "xl" && "gap-6 sm:gap-8",
|
|
3277
3493
|
// Column classes
|
|
3278
3494
|
__props.cols === 1 && "grid-cols-1",
|
|
3279
3495
|
__props.cols === 2 && "grid-cols-2",
|
|
@@ -3290,7 +3506,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3290
3506
|
]])
|
|
3291
3507
|
}, [
|
|
3292
3508
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.stats, (stat, index2) => {
|
|
3293
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3509
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$7, {
|
|
3294
3510
|
key: index2,
|
|
3295
3511
|
label: stat.label,
|
|
3296
3512
|
value: stat.value,
|
|
@@ -3298,21 +3514,43 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3298
3514
|
change: stat.change,
|
|
3299
3515
|
"change-label": stat.changeLabel,
|
|
3300
3516
|
trend: stat.trend,
|
|
3517
|
+
description: stat.description,
|
|
3518
|
+
prefix: stat.prefix,
|
|
3519
|
+
suffix: stat.suffix,
|
|
3301
3520
|
variant: __props.variant,
|
|
3302
3521
|
size: __props.size,
|
|
3303
3522
|
"icon-position": __props.iconPosition,
|
|
3304
|
-
|
|
3305
|
-
|
|
3523
|
+
"icon-rounded": __props.iconRounded,
|
|
3524
|
+
"hide-icon-bg": __props.hideIconBg,
|
|
3525
|
+
color: stat.color || __props.color,
|
|
3526
|
+
"label-first": __props.labelFirst,
|
|
3527
|
+
compact: __props.compact,
|
|
3528
|
+
loading: __props.loading,
|
|
3529
|
+
shadow: __props.shadow,
|
|
3530
|
+
rounded: __props.rounded,
|
|
3531
|
+
border: __props.border,
|
|
3532
|
+
accent: __props.accent,
|
|
3533
|
+
clickable: __props.clickable,
|
|
3534
|
+
centered: __props.centered,
|
|
3535
|
+
"invert-trend-colors": __props.invertTrendColors,
|
|
3536
|
+
"hide-trend-icon": __props.hideTrendIcon,
|
|
3537
|
+
"card-class": __props.cardClass,
|
|
3538
|
+
"icon-wrapper-class": __props.iconWrapperClass,
|
|
3539
|
+
"icon-class": __props.iconClass,
|
|
3540
|
+
"value-class": __props.valueClass,
|
|
3541
|
+
"label-class": __props.labelClass,
|
|
3542
|
+
onClick: ($event) => _ctx.$emit("item-click", index2, stat, $event)
|
|
3543
|
+
}, 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"]);
|
|
3306
3544
|
}), 128)),
|
|
3307
3545
|
vue.renderSlot(_ctx.$slots, "default")
|
|
3308
3546
|
], 2);
|
|
3309
3547
|
};
|
|
3310
3548
|
}
|
|
3311
3549
|
});
|
|
3312
|
-
const _hoisted_1 = ["disabled", "onClick"];
|
|
3313
|
-
const _hoisted_2 = ["disabled", "onClick"];
|
|
3314
|
-
const _hoisted_3 = ["disabled", "onClick"];
|
|
3315
|
-
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
3550
|
+
const _hoisted_1$1 = ["disabled", "onClick"];
|
|
3551
|
+
const _hoisted_2$1 = ["disabled", "onClick"];
|
|
3552
|
+
const _hoisted_3$1 = ["disabled", "onClick"];
|
|
3553
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
3316
3554
|
__name: "FilterTabs",
|
|
3317
3555
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
3318
3556
|
options: {},
|
|
@@ -3363,7 +3601,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
3363
3601
|
modelValue.value === option.key ? "bg-white/20 text-white" : "bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400"
|
|
3364
3602
|
])
|
|
3365
3603
|
}, vue.toDisplayString(option.count), 3)) : vue.createCommentVNode("", true)
|
|
3366
|
-
], 10, _hoisted_1);
|
|
3604
|
+
], 10, _hoisted_1$1);
|
|
3367
3605
|
}), 128))
|
|
3368
3606
|
], 2)) : __props.variant === "underline" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3369
3607
|
key: 1,
|
|
@@ -3401,7 +3639,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
3401
3639
|
modelValue.value === option.key ? "bg-primary-100 dark:bg-primary-900/30 text-primary-600 dark:text-primary-400" : "bg-gray-100 dark:bg-slate-700 text-gray-500"
|
|
3402
3640
|
])
|
|
3403
3641
|
}, vue.toDisplayString(option.count), 3)) : vue.createCommentVNode("", true)
|
|
3404
|
-
], 10, _hoisted_2);
|
|
3642
|
+
], 10, _hoisted_2$1);
|
|
3405
3643
|
}), 128))
|
|
3406
3644
|
], 2)) : __props.variant === "boxed" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3407
3645
|
key: 2,
|
|
@@ -3439,48 +3677,267 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
3439
3677
|
modelValue.value === option.key ? "bg-gray-100 dark:bg-slate-600 text-gray-600 dark:text-gray-300" : "bg-gray-200 dark:bg-slate-700 text-gray-500 dark:text-gray-400"
|
|
3440
3678
|
])
|
|
3441
3679
|
}, vue.toDisplayString(option.count), 3)) : vue.createCommentVNode("", true)
|
|
3442
|
-
], 10, _hoisted_3);
|
|
3680
|
+
], 10, _hoisted_3$1);
|
|
3443
3681
|
}), 128))
|
|
3444
3682
|
], 2)) : vue.createCommentVNode("", true);
|
|
3445
3683
|
};
|
|
3446
3684
|
}
|
|
3447
3685
|
});
|
|
3686
|
+
const _hoisted_1 = ["aria-orientation"];
|
|
3687
|
+
const _hoisted_2 = ["aria-orientation"];
|
|
3688
|
+
const _hoisted_3 = { class: "text-xs font-medium text-gray-500 dark:text-gray-400 whitespace-nowrap" };
|
|
3689
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
3690
|
+
__name: "Divider",
|
|
3691
|
+
props: {
|
|
3692
|
+
orientation: { default: "horizontal" },
|
|
3693
|
+
variant: { default: "solid" },
|
|
3694
|
+
size: { default: "md" },
|
|
3695
|
+
class: {},
|
|
3696
|
+
label: {},
|
|
3697
|
+
color: { default: "default" }
|
|
3698
|
+
},
|
|
3699
|
+
setup(__props) {
|
|
3700
|
+
const props = __props;
|
|
3701
|
+
const sizeClasses = {
|
|
3702
|
+
horizontal: {
|
|
3703
|
+
sm: "h-px",
|
|
3704
|
+
md: "h-0.5",
|
|
3705
|
+
lg: "h-1"
|
|
3706
|
+
},
|
|
3707
|
+
vertical: {
|
|
3708
|
+
sm: "w-px",
|
|
3709
|
+
md: "w-0.5",
|
|
3710
|
+
lg: "w-1"
|
|
3711
|
+
}
|
|
3712
|
+
};
|
|
3713
|
+
const variantClasses = {
|
|
3714
|
+
solid: "",
|
|
3715
|
+
dashed: "border-dashed",
|
|
3716
|
+
dotted: "border-dotted"
|
|
3717
|
+
};
|
|
3718
|
+
const colorClasses = {
|
|
3719
|
+
default: "bg-gray-200 dark:bg-gray-700",
|
|
3720
|
+
primary: "bg-primary-200 dark:bg-primary-800",
|
|
3721
|
+
muted: "bg-gray-100 dark:bg-gray-800"
|
|
3722
|
+
};
|
|
3723
|
+
return (_ctx, _cache) => {
|
|
3724
|
+
return !__props.label ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3725
|
+
key: 0,
|
|
3726
|
+
class: vue.normalizeClass([
|
|
3727
|
+
colorClasses[__props.color],
|
|
3728
|
+
__props.orientation === "vertical" ? ["h-full mx-2", sizeClasses.vertical[__props.size]] : ["w-full my-2", sizeClasses.horizontal[__props.size]],
|
|
3729
|
+
__props.variant !== "solid" && `border-0 border-t ${variantClasses[__props.variant]}`,
|
|
3730
|
+
props.class
|
|
3731
|
+
]),
|
|
3732
|
+
role: "separator",
|
|
3733
|
+
"aria-orientation": __props.orientation
|
|
3734
|
+
}, null, 10, _hoisted_1)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
3735
|
+
key: 1,
|
|
3736
|
+
class: vue.normalizeClass([
|
|
3737
|
+
"flex items-center gap-3",
|
|
3738
|
+
__props.orientation === "vertical" ? "flex-col h-full mx-2" : "w-full my-2",
|
|
3739
|
+
props.class
|
|
3740
|
+
]),
|
|
3741
|
+
role: "separator",
|
|
3742
|
+
"aria-orientation": __props.orientation
|
|
3743
|
+
}, [
|
|
3744
|
+
vue.createElementVNode("div", {
|
|
3745
|
+
class: vue.normalizeClass([
|
|
3746
|
+
colorClasses[__props.color],
|
|
3747
|
+
__props.orientation === "vertical" ? ["flex-1", sizeClasses.vertical[__props.size]] : ["flex-1", sizeClasses.horizontal[__props.size]]
|
|
3748
|
+
])
|
|
3749
|
+
}, null, 2),
|
|
3750
|
+
vue.createElementVNode("span", _hoisted_3, vue.toDisplayString(__props.label), 1),
|
|
3751
|
+
vue.createElementVNode("div", {
|
|
3752
|
+
class: vue.normalizeClass([
|
|
3753
|
+
colorClasses[__props.color],
|
|
3754
|
+
__props.orientation === "vertical" ? ["flex-1", sizeClasses.vertical[__props.size]] : ["flex-1", sizeClasses.horizontal[__props.size]]
|
|
3755
|
+
])
|
|
3756
|
+
}, null, 2)
|
|
3757
|
+
], 10, _hoisted_2));
|
|
3758
|
+
};
|
|
3759
|
+
}
|
|
3760
|
+
});
|
|
3761
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
3762
|
+
__name: "DataListLabel",
|
|
3763
|
+
props: {
|
|
3764
|
+
size: { default: "md" },
|
|
3765
|
+
class: {}
|
|
3766
|
+
},
|
|
3767
|
+
setup(__props) {
|
|
3768
|
+
const props = __props;
|
|
3769
|
+
const sizeClasses = {
|
|
3770
|
+
sm: "text-xs",
|
|
3771
|
+
md: "text-sm",
|
|
3772
|
+
lg: "text-base"
|
|
3773
|
+
};
|
|
3774
|
+
return (_ctx, _cache) => {
|
|
3775
|
+
return vue.openBlock(), vue.createElementBlock("dt", {
|
|
3776
|
+
class: vue.normalizeClass([
|
|
3777
|
+
"font-medium text-gray-900 dark:text-gray-100",
|
|
3778
|
+
sizeClasses[__props.size],
|
|
3779
|
+
props.class
|
|
3780
|
+
])
|
|
3781
|
+
}, [
|
|
3782
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
3783
|
+
], 2);
|
|
3784
|
+
};
|
|
3785
|
+
}
|
|
3786
|
+
});
|
|
3787
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
3788
|
+
__name: "DataListValue",
|
|
3789
|
+
props: {
|
|
3790
|
+
size: { default: "md" },
|
|
3791
|
+
class: {}
|
|
3792
|
+
},
|
|
3793
|
+
setup(__props) {
|
|
3794
|
+
const props = __props;
|
|
3795
|
+
const sizeClasses = {
|
|
3796
|
+
sm: "text-xs",
|
|
3797
|
+
md: "text-sm",
|
|
3798
|
+
lg: "text-base"
|
|
3799
|
+
};
|
|
3800
|
+
return (_ctx, _cache) => {
|
|
3801
|
+
return vue.openBlock(), vue.createElementBlock("dd", {
|
|
3802
|
+
class: vue.normalizeClass([
|
|
3803
|
+
"mt-1 text-gray-700 dark:text-gray-300 col-span-2 sm:mt-0",
|
|
3804
|
+
sizeClasses[__props.size],
|
|
3805
|
+
props.class
|
|
3806
|
+
])
|
|
3807
|
+
}, [
|
|
3808
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
3809
|
+
], 2);
|
|
3810
|
+
};
|
|
3811
|
+
}
|
|
3812
|
+
});
|
|
3813
|
+
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
3814
|
+
__name: "DataListItem",
|
|
3815
|
+
props: {
|
|
3816
|
+
label: {},
|
|
3817
|
+
value: {},
|
|
3818
|
+
size: { default: "md" },
|
|
3819
|
+
striped: { type: Boolean, default: false },
|
|
3820
|
+
class: {}
|
|
3821
|
+
},
|
|
3822
|
+
setup(__props) {
|
|
3823
|
+
const props = __props;
|
|
3824
|
+
const sizeClasses = {
|
|
3825
|
+
sm: "px-3 py-3 sm:gap-3",
|
|
3826
|
+
md: "px-4 py-4 sm:gap-4",
|
|
3827
|
+
lg: "px-6 py-6 sm:gap-6"
|
|
3828
|
+
};
|
|
3829
|
+
return (_ctx, _cache) => {
|
|
3830
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
3831
|
+
class: vue.normalizeClass([
|
|
3832
|
+
"sm:grid sm:grid-cols-3",
|
|
3833
|
+
sizeClasses[__props.size],
|
|
3834
|
+
__props.striped && "even:bg-gray-50 dark:even:bg-gray-900",
|
|
3835
|
+
props.class
|
|
3836
|
+
])
|
|
3837
|
+
}, [
|
|
3838
|
+
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
3839
|
+
__props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
|
|
3840
|
+
key: 0,
|
|
3841
|
+
size: __props.size
|
|
3842
|
+
}, {
|
|
3843
|
+
default: vue.withCtx(() => [
|
|
3844
|
+
vue.createTextVNode(vue.toDisplayString(__props.label), 1)
|
|
3845
|
+
]),
|
|
3846
|
+
_: 1
|
|
3847
|
+
}, 8, ["size"])) : vue.createCommentVNode("", true),
|
|
3848
|
+
__props.value ? (vue.openBlock(), vue.createBlock(_sfc_main$2, {
|
|
3849
|
+
key: 1,
|
|
3850
|
+
size: __props.size
|
|
3851
|
+
}, {
|
|
3852
|
+
default: vue.withCtx(() => [
|
|
3853
|
+
vue.createTextVNode(vue.toDisplayString(__props.value), 1)
|
|
3854
|
+
]),
|
|
3855
|
+
_: 1
|
|
3856
|
+
}, 8, ["size"])) : vue.createCommentVNode("", true)
|
|
3857
|
+
])
|
|
3858
|
+
], 2);
|
|
3859
|
+
};
|
|
3860
|
+
}
|
|
3861
|
+
});
|
|
3862
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
3863
|
+
__name: "DataList",
|
|
3864
|
+
props: {
|
|
3865
|
+
items: { default: () => [] },
|
|
3866
|
+
size: { default: "md" },
|
|
3867
|
+
variant: { default: "default" },
|
|
3868
|
+
class: {}
|
|
3869
|
+
},
|
|
3870
|
+
setup(__props) {
|
|
3871
|
+
const props = __props;
|
|
3872
|
+
const variantClasses = {
|
|
3873
|
+
default: "divide-y divide-gray-100 dark:divide-gray-800",
|
|
3874
|
+
striped: "",
|
|
3875
|
+
bordered: "divide-y divide-gray-200 dark:divide-gray-700 border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden"
|
|
3876
|
+
};
|
|
3877
|
+
return (_ctx, _cache) => {
|
|
3878
|
+
return vue.openBlock(), vue.createElementBlock("dl", {
|
|
3879
|
+
class: vue.normalizeClass([
|
|
3880
|
+
variantClasses[__props.variant],
|
|
3881
|
+
props.class
|
|
3882
|
+
])
|
|
3883
|
+
}, [
|
|
3884
|
+
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
3885
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item, index2) => {
|
|
3886
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1, {
|
|
3887
|
+
key: index2,
|
|
3888
|
+
label: item.label,
|
|
3889
|
+
value: item.value,
|
|
3890
|
+
size: __props.size,
|
|
3891
|
+
striped: __props.variant === "striped"
|
|
3892
|
+
}, null, 8, ["label", "value", "size", "striped"]);
|
|
3893
|
+
}), 128))
|
|
3894
|
+
])
|
|
3895
|
+
], 2);
|
|
3896
|
+
};
|
|
3897
|
+
}
|
|
3898
|
+
});
|
|
3448
3899
|
exports.TableContextKey = TableContextKey;
|
|
3449
|
-
exports._sfc_main = _sfc_main$
|
|
3450
|
-
exports._sfc_main$1 = _sfc_main$
|
|
3451
|
-
exports._sfc_main$10 = _sfc_main$
|
|
3452
|
-
exports._sfc_main$11 = _sfc_main$
|
|
3453
|
-
exports._sfc_main$12 = _sfc_main$
|
|
3454
|
-
exports._sfc_main$13 = _sfc_main$
|
|
3455
|
-
exports._sfc_main$14 = _sfc_main$
|
|
3456
|
-
exports._sfc_main$15 = _sfc_main$
|
|
3457
|
-
exports._sfc_main$16 = _sfc_main$
|
|
3458
|
-
exports._sfc_main$17 = _sfc_main$
|
|
3459
|
-
exports._sfc_main$18 = _sfc_main$
|
|
3460
|
-
exports._sfc_main$19 = _sfc_main$
|
|
3461
|
-
exports._sfc_main$2 = _sfc_main$
|
|
3462
|
-
exports._sfc_main$20 = _sfc_main$
|
|
3463
|
-
exports._sfc_main$21 = _sfc_main$
|
|
3464
|
-
exports._sfc_main$22 = _sfc_main$
|
|
3465
|
-
exports._sfc_main$23 = _sfc_main$
|
|
3466
|
-
exports._sfc_main$24 = _sfc_main$
|
|
3467
|
-
exports._sfc_main$25 = _sfc_main$
|
|
3468
|
-
exports._sfc_main$26 = _sfc_main$
|
|
3469
|
-
exports._sfc_main$27 = _sfc_main$
|
|
3470
|
-
exports._sfc_main$28 = _sfc_main$
|
|
3471
|
-
exports._sfc_main$29 = _sfc_main$
|
|
3472
|
-
exports._sfc_main$3 = _sfc_main$
|
|
3473
|
-
exports._sfc_main$30 = _sfc_main$
|
|
3474
|
-
exports._sfc_main$31 = _sfc_main$
|
|
3475
|
-
exports._sfc_main$32 = _sfc_main$
|
|
3476
|
-
exports._sfc_main$33 = _sfc_main$
|
|
3477
|
-
exports._sfc_main$34 = _sfc_main$
|
|
3478
|
-
exports._sfc_main$35 = _sfc_main$
|
|
3479
|
-
exports._sfc_main$36 = _sfc_main;
|
|
3480
|
-
exports._sfc_main$
|
|
3481
|
-
exports._sfc_main$
|
|
3482
|
-
exports._sfc_main$
|
|
3483
|
-
exports._sfc_main$
|
|
3484
|
-
exports._sfc_main$
|
|
3485
|
-
exports._sfc_main$
|
|
3486
|
-
|
|
3900
|
+
exports._sfc_main = _sfc_main$G;
|
|
3901
|
+
exports._sfc_main$1 = _sfc_main$F;
|
|
3902
|
+
exports._sfc_main$10 = _sfc_main$w;
|
|
3903
|
+
exports._sfc_main$11 = _sfc_main$v;
|
|
3904
|
+
exports._sfc_main$12 = _sfc_main$u;
|
|
3905
|
+
exports._sfc_main$13 = _sfc_main$t;
|
|
3906
|
+
exports._sfc_main$14 = _sfc_main$s;
|
|
3907
|
+
exports._sfc_main$15 = _sfc_main$r;
|
|
3908
|
+
exports._sfc_main$16 = _sfc_main$q;
|
|
3909
|
+
exports._sfc_main$17 = _sfc_main$p;
|
|
3910
|
+
exports._sfc_main$18 = _sfc_main$o;
|
|
3911
|
+
exports._sfc_main$19 = _sfc_main$n;
|
|
3912
|
+
exports._sfc_main$2 = _sfc_main$E;
|
|
3913
|
+
exports._sfc_main$20 = _sfc_main$m;
|
|
3914
|
+
exports._sfc_main$21 = _sfc_main$l;
|
|
3915
|
+
exports._sfc_main$22 = _sfc_main$k;
|
|
3916
|
+
exports._sfc_main$23 = _sfc_main$j;
|
|
3917
|
+
exports._sfc_main$24 = _sfc_main$i;
|
|
3918
|
+
exports._sfc_main$25 = _sfc_main$h;
|
|
3919
|
+
exports._sfc_main$26 = _sfc_main$g;
|
|
3920
|
+
exports._sfc_main$27 = _sfc_main$f;
|
|
3921
|
+
exports._sfc_main$28 = _sfc_main$e;
|
|
3922
|
+
exports._sfc_main$29 = _sfc_main$d;
|
|
3923
|
+
exports._sfc_main$3 = _sfc_main$D;
|
|
3924
|
+
exports._sfc_main$30 = _sfc_main$c;
|
|
3925
|
+
exports._sfc_main$31 = _sfc_main$b;
|
|
3926
|
+
exports._sfc_main$32 = _sfc_main$a;
|
|
3927
|
+
exports._sfc_main$33 = _sfc_main$9;
|
|
3928
|
+
exports._sfc_main$34 = _sfc_main$8;
|
|
3929
|
+
exports._sfc_main$35 = _sfc_main$7;
|
|
3930
|
+
exports._sfc_main$36 = _sfc_main$6;
|
|
3931
|
+
exports._sfc_main$37 = _sfc_main$5;
|
|
3932
|
+
exports._sfc_main$38 = _sfc_main$4;
|
|
3933
|
+
exports._sfc_main$39 = _sfc_main;
|
|
3934
|
+
exports._sfc_main$4 = _sfc_main$C;
|
|
3935
|
+
exports._sfc_main$40 = _sfc_main$1;
|
|
3936
|
+
exports._sfc_main$41 = _sfc_main$3;
|
|
3937
|
+
exports._sfc_main$42 = _sfc_main$2;
|
|
3938
|
+
exports._sfc_main$5 = _sfc_main$B;
|
|
3939
|
+
exports._sfc_main$6 = _sfc_main$A;
|
|
3940
|
+
exports._sfc_main$7 = _sfc_main$z;
|
|
3941
|
+
exports._sfc_main$8 = _sfc_main$y;
|
|
3942
|
+
exports._sfc_main$9 = _sfc_main$x;
|
|
3943
|
+
//# sourceMappingURL=DataList.vue_vue_type_script_setup_true_lang-MshUshzx.cjs.map
|