cisse-vue-ui 0.5.33 → 0.6.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/Button.vue_vue_type_script_setup_true_lang-CBYr0Z2_.js +99 -0
- package/dist/Button.vue_vue_type_script_setup_true_lang-CBYr0Z2_.js.map +1 -0
- package/dist/Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs +98 -0
- package/dist/Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs.map +1 -0
- package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-CHIIi5Gu.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-Bine-xfp.cjs} +2 -2
- package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-CHIIi5Gu.cjs.map → ConfirmDialog.vue_vue_type_script_setup_true_lang-Bine-xfp.cjs.map} +1 -1
- package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-DdCwgxtv.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-DqkA1Zr-.js} +2 -2
- package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-DdCwgxtv.js.map → ConfirmDialog.vue_vue_type_script_setup_true_lang-DqkA1Zr-.js.map} +1 -1
- package/dist/{DarkModeToggle.vue_vue_type_script_setup_true_lang-0K4ucPlO.js → FilterTabs.vue_vue_type_script_setup_true_lang-AFYkni3y.js} +411 -136
- package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-AFYkni3y.js.map +1 -0
- package/dist/{DarkModeToggle.vue_vue_type_script_setup_true_lang-DOrIWBcH.cjs → FilterTabs.vue_vue_type_script_setup_true_lang-HwjuvIJX.cjs} +398 -123
- package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-HwjuvIJX.cjs.map +1 -0
- package/dist/{IconPicker.vue_vue_type_script_setup_true_lang-agY_E72J.cjs → FormActions.vue_vue_type_script_setup_true_lang-DzN_fbUC.cjs} +404 -165
- package/dist/FormActions.vue_vue_type_script_setup_true_lang-DzN_fbUC.cjs.map +1 -0
- package/dist/{IconPicker.vue_vue_type_script_setup_true_lang-Ch1x6Ap9.js → FormActions.vue_vue_type_script_setup_true_lang-d2aur5Pu.js} +405 -166
- package/dist/FormActions.vue_vue_type_script_setup_true_lang-d2aur5Pu.js.map +1 -0
- package/dist/{Button.vue_vue_type_script_setup_true_lang-BHpVJnRn.js → ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js} +7 -102
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js.map +1 -0
- package/dist/{Button.vue_vue_type_script_setup_true_lang-CLmHDal2.cjs → ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs} +6 -101
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs.map +1 -0
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-rMu1Z5uH.js → PageHero.vue_vue_type_script_setup_true_lang-C-YXGDTY.js} +244 -97
- package/dist/PageHero.vue_vue_type_script_setup_true_lang-C-YXGDTY.js.map +1 -0
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-hhzpkC6_.cjs → PageHero.vue_vue_type_script_setup_true_lang-CKCmOxOa.cjs} +241 -94
- package/dist/PageHero.vue_vue_type_script_setup_true_lang-CKCmOxOa.cjs.map +1 -0
- package/dist/components/core/FilterTabs.stories.d.ts +14 -0
- package/dist/components/core/FilterTabs.test.d.ts +1 -0
- package/dist/components/core/FilterTabs.vue.d.ts +29 -0
- package/dist/components/core/StatsCard.stories.d.ts +15 -0
- package/dist/components/core/StatsCard.test.d.ts +1 -0
- package/dist/components/core/StatsCard.vue.d.ts +44 -0
- package/dist/components/core/StatsGrid.stories.d.ts +12 -0
- package/dist/components/core/StatsGrid.test.d.ts +1 -0
- package/dist/components/core/StatsGrid.vue.d.ts +16 -0
- package/dist/components/core/index.cjs +24 -21
- package/dist/components/core/index.cjs.map +1 -1
- package/dist/components/core/index.d.ts +5 -0
- package/dist/components/core/index.js +5 -2
- package/dist/components/feedback/index.cjs +5 -5
- package/dist/components/feedback/index.js +5 -5
- package/dist/components/form/FormActions.stories.d.ts +18 -0
- package/dist/components/form/FormActions.test.d.ts +1 -0
- package/dist/components/form/FormActions.vue.d.ts +56 -0
- package/dist/components/form/FormInput.vue.d.ts +1 -1
- package/dist/components/form/FormSection.stories.d.ts +13 -0
- package/dist/components/form/FormSection.test.d.ts +1 -0
- package/dist/components/form/FormSection.vue.d.ts +49 -0
- package/dist/components/form/index.cjs +18 -16
- package/dist/components/form/index.cjs.map +1 -1
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.js +3 -1
- package/dist/components/index.cjs +52 -45
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +22 -15
- package/dist/components/index.js.map +1 -1
- package/dist/components/layout/PageHero.stories.d.ts +11 -0
- package/dist/components/layout/PageHero.test.d.ts +1 -0
- package/dist/components/layout/PageHero.vue.d.ts +51 -0
- package/dist/components/layout/index.cjs +5 -4
- package/dist/components/layout/index.cjs.map +1 -1
- package/dist/components/layout/index.d.ts +2 -0
- package/dist/components/layout/index.js +2 -1
- package/dist/index-6hQQcCpF.js +84 -0
- package/dist/index-6hQQcCpF.js.map +1 -0
- package/dist/index-Bp7Mpfbi.cjs +83 -0
- package/dist/index-Bp7Mpfbi.cjs.map +1 -0
- package/dist/index.cjs +53 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +33 -26
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/form.d.ts +4 -0
- package/package.json +1 -1
- package/dist/Button.vue_vue_type_script_setup_true_lang-BHpVJnRn.js.map +0 -1
- package/dist/Button.vue_vue_type_script_setup_true_lang-CLmHDal2.cjs.map +0 -1
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-0K4ucPlO.js.map +0 -1
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-DOrIWBcH.cjs.map +0 -1
- package/dist/IconPicker.vue_vue_type_script_setup_true_lang-Ch1x6Ap9.js.map +0 -1
- package/dist/IconPicker.vue_vue_type_script_setup_true_lang-agY_E72J.cjs.map +0 -1
- package/dist/PageLayout.vue_vue_type_script_setup_true_lang-hhzpkC6_.cjs.map +0 -1
- package/dist/PageLayout.vue_vue_type_script_setup_true_lang-rMu1Z5uH.js.map +0 -1
- package/dist/index-BBUxkeI7.js +0 -77
- package/dist/index-BBUxkeI7.js.map +0 -1
- package/dist/index-BlwU8BWn.cjs +0 -76
- package/dist/index-BlwU8BWn.cjs.map +0 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { defineComponent, computed, createBlock, createElementBlock, openBlock, createCommentVNode, renderSlot, normalizeClass, createElementVNode, createTextVNode, toDisplayString, useSlots, createVNode, Fragment, renderList, resolveDynamicComponent, withCtx, createSlots, ref, watch, unref, withDirectives, vModelText, withModifiers, Teleport, Transition, normalizeStyle, nextTick, resolveComponent, mergeProps, provide, inject, vShow, onMounted, onUnmounted } from "vue";
|
|
2
|
-
import { _ as _sfc_main$
|
|
3
|
-
import {
|
|
4
|
-
import { e as _sfc_main$
|
|
1
|
+
import { defineComponent, computed, createBlock, createElementBlock, openBlock, createCommentVNode, renderSlot, normalizeClass, createElementVNode, createTextVNode, toDisplayString, useSlots, createVNode, Fragment, renderList, resolveDynamicComponent, withCtx, createSlots, ref, watch, unref, withDirectives, vModelText, withModifiers, Teleport, Transition, normalizeStyle, nextTick, resolveComponent, mergeProps, provide, inject, vShow, onMounted, onUnmounted, mergeModels, useModel } from "vue";
|
|
2
|
+
import { _ as _sfc_main$o, a as useBreakpoints } from "./index-BaWpldIJ.js";
|
|
3
|
+
import { a as _sfc_main$m, _ as _sfc_main$n, b as _sfc_main$u } from "./ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js";
|
|
4
|
+
import { e as _sfc_main$p, d as _sfc_main$q, c as _sfc_main$r, b as _sfc_main$s, a as _sfc_main$t } from "./BadgeType.vue_vue_type_script_setup_true_lang-tHRMWBb-.js";
|
|
5
5
|
import { Icon } from "@iconify/vue";
|
|
6
6
|
import { u as useDropdown } from "./useDropdown-iVu14E6s.js";
|
|
7
7
|
import { u as useId } from "./useId-xeHj7rkg.js";
|
|
8
8
|
import { u as useDarkMode } from "./useDarkMode-Cl5QWTlC.js";
|
|
9
|
-
const _hoisted_1$
|
|
9
|
+
const _hoisted_1$h = {
|
|
10
10
|
key: 1,
|
|
11
11
|
class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950"
|
|
12
12
|
};
|
|
13
|
-
const _hoisted_2$
|
|
14
|
-
const _hoisted_3$
|
|
13
|
+
const _hoisted_2$d = { class: "flex flex-col gap-0.5" };
|
|
14
|
+
const _hoisted_3$8 = {
|
|
15
15
|
key: 1,
|
|
16
16
|
class: "text-sm font-normal text-gray-600 dark:text-gray-400"
|
|
17
17
|
};
|
|
18
18
|
const _hoisted_4$6 = { class: "flex gap-2" };
|
|
19
|
-
const _sfc_main$
|
|
19
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
20
20
|
__name: "CardComponent",
|
|
21
21
|
props: {
|
|
22
22
|
title: {},
|
|
@@ -37,12 +37,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
() => props.dividerClass || "border-gray-200 dark:border-gray-700"
|
|
38
38
|
);
|
|
39
39
|
return (_ctx, _cache) => {
|
|
40
|
-
return __props.loading ? (openBlock(), createBlock(_sfc_main$
|
|
40
|
+
return __props.loading ? (openBlock(), createBlock(_sfc_main$m, {
|
|
41
41
|
key: 0,
|
|
42
42
|
lines: __props.loadingLines,
|
|
43
43
|
"show-avatar": __props.loadingAvatar,
|
|
44
44
|
"show-actions": __props.loadingActions
|
|
45
|
-
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$
|
|
45
|
+
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$h, [
|
|
46
46
|
_ctx.$slots.header ? (openBlock(), createElementBlock("div", {
|
|
47
47
|
key: 0,
|
|
48
48
|
class: normalizeClass(["border-b", dividerClasses.value])
|
|
@@ -52,7 +52,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
52
52
|
key: 1,
|
|
53
53
|
class: normalizeClass(["flex items-center justify-between border-b px-5 py-3", dividerClasses.value])
|
|
54
54
|
}, [
|
|
55
|
-
createElementVNode("div", _hoisted_2$
|
|
55
|
+
createElementVNode("div", _hoisted_2$d, [
|
|
56
56
|
__props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", {
|
|
57
57
|
key: 0,
|
|
58
58
|
class: normalizeClass(["text-md font-semibold", titleClasses.value])
|
|
@@ -61,7 +61,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
61
61
|
createTextVNode(toDisplayString(__props.title), 1)
|
|
62
62
|
])
|
|
63
63
|
], 2)) : createCommentVNode("", true),
|
|
64
|
-
__props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
64
|
+
__props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("span", _hoisted_3$8, [
|
|
65
65
|
renderSlot(_ctx.$slots, "description", {}, () => [
|
|
66
66
|
createTextVNode(toDisplayString(__props.description), 1)
|
|
67
67
|
])
|
|
@@ -76,12 +76,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
|
-
const _hoisted_1$
|
|
80
|
-
const _hoisted_2$
|
|
79
|
+
const _hoisted_1$g = { class: "overflow-hidden" };
|
|
80
|
+
const _hoisted_2$c = {
|
|
81
81
|
key: 1,
|
|
82
82
|
class: "overflow-x-auto"
|
|
83
83
|
};
|
|
84
|
-
const _hoisted_3$
|
|
84
|
+
const _hoisted_3$7 = { class: "w-full divide-y divide-black/10 text-left dark:divide-white/10" };
|
|
85
85
|
const _hoisted_4$5 = { class: "bg-black/5 text-sm font-semibold text-gray-600 uppercase dark:bg-white/5 dark:text-gray-400" };
|
|
86
86
|
const _hoisted_5$3 = {
|
|
87
87
|
key: 0,
|
|
@@ -110,7 +110,7 @@ const _hoisted_12$1 = {
|
|
|
110
110
|
class: "flex items-center justify-end gap-2 px-3 py-4"
|
|
111
111
|
};
|
|
112
112
|
const _hoisted_13 = { key: 0 };
|
|
113
|
-
const _sfc_main$
|
|
113
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
114
114
|
__name: "TableComponent",
|
|
115
115
|
props: {
|
|
116
116
|
properties: {},
|
|
@@ -130,14 +130,14 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
130
130
|
const props = __props;
|
|
131
131
|
const emit = __emit;
|
|
132
132
|
const typeComponents = {
|
|
133
|
-
text: _sfc_main$
|
|
134
|
-
number: _sfc_main$
|
|
135
|
-
date: _sfc_main$
|
|
136
|
-
boolean: _sfc_main$
|
|
137
|
-
badge: _sfc_main$
|
|
133
|
+
text: _sfc_main$t,
|
|
134
|
+
number: _sfc_main$s,
|
|
135
|
+
date: _sfc_main$r,
|
|
136
|
+
boolean: _sfc_main$q,
|
|
137
|
+
badge: _sfc_main$p
|
|
138
138
|
};
|
|
139
139
|
const getTypeComponent = (type = "text") => {
|
|
140
|
-
return typeComponents[type] || _sfc_main$
|
|
140
|
+
return typeComponents[type] || _sfc_main$t;
|
|
141
141
|
};
|
|
142
142
|
const visibleProperties = computed(() => props.properties.filter((p) => !p.hidden));
|
|
143
143
|
const getKey = (item) => {
|
|
@@ -211,17 +211,17 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
211
211
|
return props.sortBy === property.name;
|
|
212
212
|
};
|
|
213
213
|
return (_ctx, _cache) => {
|
|
214
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
215
|
-
__props.loading ? (openBlock(), createBlock(_sfc_main$
|
|
214
|
+
return openBlock(), createElementBlock("div", _hoisted_1$g, [
|
|
215
|
+
__props.loading ? (openBlock(), createBlock(_sfc_main$n, {
|
|
216
216
|
key: 0,
|
|
217
217
|
rows: __props.loadingRows,
|
|
218
218
|
columns: visibleProperties.value.length
|
|
219
|
-
}, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
220
|
-
createElementVNode("table", _hoisted_3$
|
|
219
|
+
}, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$c, [
|
|
220
|
+
createElementVNode("table", _hoisted_3$7, [
|
|
221
221
|
createElementVNode("thead", _hoisted_4$5, [
|
|
222
222
|
createElementVNode("tr", null, [
|
|
223
223
|
__props.selectable ? (openBlock(), createElementBlock("th", _hoisted_5$3, [
|
|
224
|
-
createVNode(_sfc_main$
|
|
224
|
+
createVNode(_sfc_main$o, {
|
|
225
225
|
"model-value": allSelected.value,
|
|
226
226
|
indeterminate: someSelected.value,
|
|
227
227
|
disabled: selectableItems.value.length === 0,
|
|
@@ -280,7 +280,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
280
280
|
class: normalizeClass(["hover:bg-black/5 dark:hover:bg-white/5 transition-colors", { "bg-primary/5 dark:bg-primary/10": isSelected(item) }])
|
|
281
281
|
}, [
|
|
282
282
|
__props.selectable ? (openBlock(), createElementBlock("td", _hoisted_11$1, [
|
|
283
|
-
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$
|
|
283
|
+
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$o, {
|
|
284
284
|
key: 0,
|
|
285
285
|
"model-value": isSelected(item),
|
|
286
286
|
"onUpdate:modelValue": ($event) => handleSelect(item)
|
|
@@ -322,9 +322,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
324
|
});
|
|
325
|
-
const _hoisted_1$
|
|
326
|
-
const _hoisted_2$
|
|
327
|
-
const _hoisted_3$
|
|
325
|
+
const _hoisted_1$f = { class: "space-y-3" };
|
|
326
|
+
const _hoisted_2$b = { class: "flex items-center gap-3 p-3" };
|
|
327
|
+
const _hoisted_3$6 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
328
328
|
const _hoisted_4$4 = {
|
|
329
329
|
key: 0,
|
|
330
330
|
class: "text-sm text-primary font-medium"
|
|
@@ -341,7 +341,7 @@ const _hoisted_7$2 = {
|
|
|
341
341
|
const _hoisted_8$2 = { class: "flex-1 min-w-0 overflow-hidden" };
|
|
342
342
|
const _hoisted_9$2 = { class: "shrink-0" };
|
|
343
343
|
const _hoisted_10$1 = { key: 1 };
|
|
344
|
-
const _sfc_main$
|
|
344
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
345
345
|
__name: "MobileList",
|
|
346
346
|
props: {
|
|
347
347
|
items: {},
|
|
@@ -390,10 +390,10 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
390
390
|
};
|
|
391
391
|
const hasEmptySlot = computed(() => !!slots.empty);
|
|
392
392
|
return (_ctx, _cache) => {
|
|
393
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
394
|
-
__props.loading ? (openBlock(), createBlock(_sfc_main$
|
|
393
|
+
return openBlock(), createElementBlock("div", _hoisted_1$f, [
|
|
394
|
+
__props.loading ? (openBlock(), createBlock(_sfc_main$l, { key: 0 }, {
|
|
395
395
|
default: withCtx(() => [
|
|
396
|
-
createVNode(_sfc_main$
|
|
396
|
+
createVNode(_sfc_main$u, {
|
|
397
397
|
items: __props.loadingItems,
|
|
398
398
|
"show-avatar": "",
|
|
399
399
|
"show-secondary": "",
|
|
@@ -402,22 +402,22 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
402
402
|
]),
|
|
403
403
|
_: 1
|
|
404
404
|
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
405
|
-
__props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$
|
|
405
|
+
__props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$l, { key: 0 }, {
|
|
406
406
|
default: withCtx(() => [
|
|
407
|
-
createElementVNode("div", _hoisted_2$
|
|
408
|
-
createVNode(_sfc_main$
|
|
407
|
+
createElementVNode("div", _hoisted_2$b, [
|
|
408
|
+
createVNode(_sfc_main$o, {
|
|
409
409
|
"model-value": allSelected.value,
|
|
410
410
|
indeterminate: someSelected.value,
|
|
411
411
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("selectAll"))
|
|
412
412
|
}, null, 8, ["model-value", "indeterminate"]),
|
|
413
|
-
createElementVNode("span", _hoisted_3$
|
|
413
|
+
createElementVNode("span", _hoisted_3$6, toDisplayString(allSelected.value ? "Tout désélectionner" : "Tout sélectionner"), 1),
|
|
414
414
|
__props.selectedItems && __props.selectedItems.size > 0 ? (openBlock(), createElementBlock("span", _hoisted_4$4, " (" + toDisplayString(__props.selectedItems.size) + " sélectionné" + toDisplayString(__props.selectedItems.size > 1 ? "s" : "") + ") ", 1)) : createCommentVNode("", true)
|
|
415
415
|
])
|
|
416
416
|
]),
|
|
417
417
|
_: 1
|
|
418
418
|
})) : createCommentVNode("", true),
|
|
419
419
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
420
|
-
return openBlock(), createBlock(_sfc_main$
|
|
420
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
421
421
|
key: getKey(item),
|
|
422
422
|
class: normalizeClass(["hover:shadow-lg transition-all duration-200", {
|
|
423
423
|
"ring-2 ring-primary": isSelected(item)
|
|
@@ -426,7 +426,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
426
426
|
default: withCtx(() => [
|
|
427
427
|
createElementVNode("div", _hoisted_5$2, [
|
|
428
428
|
__props.selectable ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
|
|
429
|
-
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$
|
|
429
|
+
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$o, {
|
|
430
430
|
key: 0,
|
|
431
431
|
"model-value": isSelected(item),
|
|
432
432
|
"onUpdate:modelValue": ($event) => handleSelect(item)
|
|
@@ -452,7 +452,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
452
452
|
};
|
|
453
453
|
}
|
|
454
454
|
});
|
|
455
|
-
const _sfc_main$
|
|
455
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
456
456
|
__name: "ResponsiveList",
|
|
457
457
|
props: {
|
|
458
458
|
items: {},
|
|
@@ -511,7 +511,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
511
511
|
const isDesktop = computed(() => breakpoints.greaterOrEqual(props.breakpoint).value);
|
|
512
512
|
return (_ctx, _cache) => {
|
|
513
513
|
return openBlock(), createElementBlock("div", null, [
|
|
514
|
-
!isDesktop.value ? (openBlock(), createBlock(_sfc_main$
|
|
514
|
+
!isDesktop.value ? (openBlock(), createBlock(_sfc_main$j, {
|
|
515
515
|
key: 0,
|
|
516
516
|
items: __props.items,
|
|
517
517
|
"key-field": __props.keyField,
|
|
@@ -538,9 +538,9 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
538
538
|
renderSlot(_ctx.$slots, "empty")
|
|
539
539
|
]),
|
|
540
540
|
_: 3
|
|
541
|
-
}, 8, ["items", "key-field", "selectable", "selected-items", "selectable-filter", "loading", "loading-items"])) : (openBlock(), createBlock(_sfc_main$
|
|
541
|
+
}, 8, ["items", "key-field", "selectable", "selected-items", "selectable-filter", "loading", "loading-items"])) : (openBlock(), createBlock(_sfc_main$l, { key: 1 }, {
|
|
542
542
|
default: withCtx(() => [
|
|
543
|
-
createVNode(_sfc_main$
|
|
543
|
+
createVNode(_sfc_main$k, {
|
|
544
544
|
items: __props.items,
|
|
545
545
|
properties: tableProperties.value,
|
|
546
546
|
"key-field": __props.keyField,
|
|
@@ -589,12 +589,12 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
589
589
|
};
|
|
590
590
|
}
|
|
591
591
|
});
|
|
592
|
-
const _hoisted_1$
|
|
592
|
+
const _hoisted_1$e = {
|
|
593
593
|
key: 0,
|
|
594
594
|
class: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"
|
|
595
595
|
};
|
|
596
|
-
const _hoisted_2$
|
|
597
|
-
const _hoisted_3$
|
|
596
|
+
const _hoisted_2$a = { class: "relative" };
|
|
597
|
+
const _hoisted_3$5 = ["disabled", "placeholder"];
|
|
598
598
|
const _hoisted_4$3 = ["disabled"];
|
|
599
599
|
const _hoisted_5$1 = {
|
|
600
600
|
key: 0,
|
|
@@ -607,7 +607,7 @@ const _hoisted_9$1 = {
|
|
|
607
607
|
key: 1,
|
|
608
608
|
class: "mt-1 text-sm text-red-600"
|
|
609
609
|
};
|
|
610
|
-
const _sfc_main$
|
|
610
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
611
611
|
__name: "AutocompleteComponent",
|
|
612
612
|
props: {
|
|
613
613
|
modelValue: {},
|
|
@@ -709,8 +709,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
709
709
|
ref: containerRef,
|
|
710
710
|
class: "autocomplete-container"
|
|
711
711
|
}, [
|
|
712
|
-
__props.label ? (openBlock(), createElementBlock("label", _hoisted_1$
|
|
713
|
-
createElementVNode("div", _hoisted_2$
|
|
712
|
+
__props.label ? (openBlock(), createElementBlock("label", _hoisted_1$e, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
|
|
713
|
+
createElementVNode("div", _hoisted_2$a, [
|
|
714
714
|
createElementVNode("div", {
|
|
715
715
|
ref_key: "inputWrapperRef",
|
|
716
716
|
ref: inputWrapperRef,
|
|
@@ -735,7 +735,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
735
735
|
type: "text",
|
|
736
736
|
onFocus: openDropdown,
|
|
737
737
|
onKeydown: handleKeydown
|
|
738
|
-
}, null, 40, _hoisted_3$
|
|
738
|
+
}, null, 40, _hoisted_3$5), [
|
|
739
739
|
[vModelText, searchQuery.value]
|
|
740
740
|
]),
|
|
741
741
|
__props.modelValue && !__props.disabled ? (openBlock(), createElementBlock("button", {
|
|
@@ -816,7 +816,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
816
816
|
};
|
|
817
817
|
}
|
|
818
818
|
});
|
|
819
|
-
const _sfc_main$
|
|
819
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
820
820
|
__name: "TableAction",
|
|
821
821
|
props: {
|
|
822
822
|
link: {},
|
|
@@ -885,10 +885,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
885
885
|
};
|
|
886
886
|
}
|
|
887
887
|
});
|
|
888
|
-
const _hoisted_1$
|
|
889
|
-
const _hoisted_2$
|
|
890
|
-
const _hoisted_3$
|
|
891
|
-
const _sfc_main$
|
|
888
|
+
const _hoisted_1$d = { class: "relative inline-block" };
|
|
889
|
+
const _hoisted_2$9 = ["src", "alt"];
|
|
890
|
+
const _hoisted_3$4 = { key: 1 };
|
|
891
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
892
892
|
__name: "Avatar",
|
|
893
893
|
props: {
|
|
894
894
|
src: {},
|
|
@@ -934,7 +934,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
934
934
|
});
|
|
935
935
|
const showImage = computed(() => props.src && !imageError.value);
|
|
936
936
|
return (_ctx, _cache) => {
|
|
937
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
937
|
+
return openBlock(), createElementBlock("div", _hoisted_1$d, [
|
|
938
938
|
createElementVNode("div", {
|
|
939
939
|
class: normalizeClass([
|
|
940
940
|
"flex items-center justify-center overflow-hidden bg-gray-200 font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",
|
|
@@ -948,7 +948,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
948
948
|
alt: __props.alt || __props.name,
|
|
949
949
|
class: "size-full object-cover",
|
|
950
950
|
onError: _cache[0] || (_cache[0] = ($event) => imageError.value = true)
|
|
951
|
-
}, null, 40, _hoisted_2$
|
|
951
|
+
}, null, 40, _hoisted_2$9)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$4, toDisplayString(initials.value), 1)) : (openBlock(), createBlock(unref(Icon), {
|
|
952
952
|
key: 2,
|
|
953
953
|
icon: "lucide:user",
|
|
954
954
|
class: "size-1/2"
|
|
@@ -966,9 +966,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
966
966
|
};
|
|
967
967
|
}
|
|
968
968
|
});
|
|
969
|
-
const _hoisted_1$
|
|
970
|
-
const _hoisted_2$
|
|
971
|
-
const _sfc_main$
|
|
969
|
+
const _hoisted_1$c = ["aria-selected", "disabled", "onClick"];
|
|
970
|
+
const _hoisted_2$8 = { class: "mt-4" };
|
|
971
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
972
972
|
__name: "Tabs",
|
|
973
973
|
props: {
|
|
974
974
|
tabs: {},
|
|
@@ -1033,18 +1033,18 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
1033
1033
|
activeTab.value === tab.key ? variantClasses[__props.variant].active : variantClasses[__props.variant].inactive
|
|
1034
1034
|
]),
|
|
1035
1035
|
onClick: ($event) => selectTab(tab)
|
|
1036
|
-
}, toDisplayString(tab.label), 11, _hoisted_1$
|
|
1036
|
+
}, toDisplayString(tab.label), 11, _hoisted_1$c);
|
|
1037
1037
|
}), 128))
|
|
1038
1038
|
], 2),
|
|
1039
|
-
createElementVNode("div", _hoisted_2$
|
|
1039
|
+
createElementVNode("div", _hoisted_2$8, [
|
|
1040
1040
|
renderSlot(_ctx.$slots, "default", { activeTab: activeTab.value })
|
|
1041
1041
|
])
|
|
1042
1042
|
]);
|
|
1043
1043
|
};
|
|
1044
1044
|
}
|
|
1045
1045
|
});
|
|
1046
|
-
const _hoisted_1$
|
|
1047
|
-
const _sfc_main$
|
|
1046
|
+
const _hoisted_1$b = { role: "tabpanel" };
|
|
1047
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
1048
1048
|
__name: "TabPanel",
|
|
1049
1049
|
props: {
|
|
1050
1050
|
value: {}
|
|
@@ -1054,7 +1054,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
1054
1054
|
const activeTab = inject("activeTab");
|
|
1055
1055
|
const isActive = computed(() => (activeTab == null ? void 0 : activeTab.value) === props.value);
|
|
1056
1056
|
return (_ctx, _cache) => {
|
|
1057
|
-
return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$
|
|
1057
|
+
return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
1058
1058
|
renderSlot(_ctx.$slots, "default")
|
|
1059
1059
|
], 512)), [
|
|
1060
1060
|
[vShow, isActive.value]
|
|
@@ -1062,11 +1062,11 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
1062
1062
|
};
|
|
1063
1063
|
}
|
|
1064
1064
|
});
|
|
1065
|
-
const _hoisted_1$
|
|
1065
|
+
const _hoisted_1$a = {
|
|
1066
1066
|
key: 2,
|
|
1067
1067
|
class: "text-sm font-semibold"
|
|
1068
1068
|
};
|
|
1069
|
-
const _sfc_main$
|
|
1069
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
1070
1070
|
__name: "Stepper",
|
|
1071
1071
|
props: {
|
|
1072
1072
|
steps: {},
|
|
@@ -1135,7 +1135,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
1135
1135
|
key: 1,
|
|
1136
1136
|
icon: step.icon,
|
|
1137
1137
|
class: "size-6"
|
|
1138
|
-
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$
|
|
1138
|
+
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$a, toDisplayString(index + 1), 1))
|
|
1139
1139
|
], 2),
|
|
1140
1140
|
createElementVNode("div", {
|
|
1141
1141
|
class: normalizeClass([
|
|
@@ -1163,7 +1163,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
1163
1163
|
};
|
|
1164
1164
|
}
|
|
1165
1165
|
});
|
|
1166
|
-
const _sfc_main$
|
|
1166
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
1167
1167
|
__name: "CollapsibleCard",
|
|
1168
1168
|
props: {
|
|
1169
1169
|
title: {},
|
|
@@ -1181,7 +1181,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
1181
1181
|
};
|
|
1182
1182
|
const hasCustomHeader = () => !!slots.header;
|
|
1183
1183
|
return (_ctx, _cache) => {
|
|
1184
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1184
|
+
return openBlock(), createBlock(_sfc_main$l, null, createSlots({
|
|
1185
1185
|
default: withCtx(() => [
|
|
1186
1186
|
createVNode(Transition, {
|
|
1187
1187
|
"enter-active-class": "transition-all duration-200 ease-out",
|
|
@@ -1259,9 +1259,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
1259
1259
|
};
|
|
1260
1260
|
}
|
|
1261
1261
|
});
|
|
1262
|
-
const _hoisted_1$
|
|
1263
|
-
const _hoisted_2$
|
|
1264
|
-
const _sfc_main$
|
|
1262
|
+
const _hoisted_1$9 = ["aria-describedby"];
|
|
1263
|
+
const _hoisted_2$7 = ["id"];
|
|
1264
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
1265
1265
|
__name: "Tooltip",
|
|
1266
1266
|
props: {
|
|
1267
1267
|
content: {},
|
|
@@ -1332,17 +1332,17 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
1332
1332
|
id: unref(tooltipId),
|
|
1333
1333
|
class: normalizeClass(positionClasses.value),
|
|
1334
1334
|
role: "tooltip"
|
|
1335
|
-
}, toDisplayString(__props.content), 11, _hoisted_2$
|
|
1335
|
+
}, toDisplayString(__props.content), 11, _hoisted_2$7)) : createCommentVNode("", true)
|
|
1336
1336
|
]),
|
|
1337
1337
|
_: 1
|
|
1338
1338
|
})
|
|
1339
|
-
], 40, _hoisted_1$
|
|
1339
|
+
], 40, _hoisted_1$9);
|
|
1340
1340
|
};
|
|
1341
1341
|
}
|
|
1342
1342
|
});
|
|
1343
|
-
const _hoisted_1$
|
|
1344
|
-
const _hoisted_2$
|
|
1345
|
-
const _sfc_main$
|
|
1343
|
+
const _hoisted_1$8 = ["id", "aria-expanded", "aria-controls"];
|
|
1344
|
+
const _hoisted_2$6 = ["id", "aria-labelledby"];
|
|
1345
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
1346
1346
|
__name: "Popover",
|
|
1347
1347
|
props: {
|
|
1348
1348
|
position: { default: "bottom" },
|
|
@@ -1398,7 +1398,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
1398
1398
|
onClick: handleTrigger
|
|
1399
1399
|
}, [
|
|
1400
1400
|
renderSlot(_ctx.$slots, "trigger")
|
|
1401
|
-
], 8, _hoisted_1$
|
|
1401
|
+
], 8, _hoisted_1$8),
|
|
1402
1402
|
(openBlock(), createBlock(Teleport, {
|
|
1403
1403
|
to: "body",
|
|
1404
1404
|
disabled: !__props.teleport
|
|
@@ -1426,7 +1426,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
1426
1426
|
])
|
|
1427
1427
|
}, [
|
|
1428
1428
|
renderSlot(_ctx.$slots, "default", { close: unref(close) })
|
|
1429
|
-
], 14, _hoisted_2$
|
|
1429
|
+
], 14, _hoisted_2$6)) : createCommentVNode("", true)
|
|
1430
1430
|
]),
|
|
1431
1431
|
_: 3
|
|
1432
1432
|
})
|
|
@@ -1435,17 +1435,17 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
1435
1435
|
};
|
|
1436
1436
|
}
|
|
1437
1437
|
});
|
|
1438
|
-
const _hoisted_1$
|
|
1438
|
+
const _hoisted_1$7 = {
|
|
1439
1439
|
key: 0,
|
|
1440
1440
|
class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700"
|
|
1441
1441
|
};
|
|
1442
|
-
const _hoisted_2$
|
|
1443
|
-
const _hoisted_3$
|
|
1442
|
+
const _hoisted_2$5 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
|
|
1443
|
+
const _hoisted_3$3 = { class: "flex-1 overflow-y-auto p-4" };
|
|
1444
1444
|
const _hoisted_4$2 = {
|
|
1445
1445
|
key: 1,
|
|
1446
1446
|
class: "px-4 py-3 border-t border-gray-200 dark:border-gray-700"
|
|
1447
1447
|
};
|
|
1448
|
-
const _sfc_main$
|
|
1448
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
1449
1449
|
__name: "Drawer",
|
|
1450
1450
|
props: {
|
|
1451
1451
|
modelValue: { type: Boolean },
|
|
@@ -1564,9 +1564,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1564
1564
|
role: "dialog",
|
|
1565
1565
|
"aria-modal": "true"
|
|
1566
1566
|
}, [
|
|
1567
|
-
__props.title || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1567
|
+
__props.title || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
1568
1568
|
renderSlot(_ctx.$slots, "header", {}, () => [
|
|
1569
|
-
createElementVNode("h2", _hoisted_2$
|
|
1569
|
+
createElementVNode("h2", _hoisted_2$5, toDisplayString(__props.title), 1)
|
|
1570
1570
|
]),
|
|
1571
1571
|
__props.showClose ? (openBlock(), createElementBlock("button", {
|
|
1572
1572
|
key: 0,
|
|
@@ -1580,7 +1580,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1580
1580
|
})
|
|
1581
1581
|
])) : createCommentVNode("", true)
|
|
1582
1582
|
])) : createCommentVNode("", true),
|
|
1583
|
-
createElementVNode("div", _hoisted_3$
|
|
1583
|
+
createElementVNode("div", _hoisted_3$3, [
|
|
1584
1584
|
renderSlot(_ctx.$slots, "default")
|
|
1585
1585
|
]),
|
|
1586
1586
|
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
|
|
@@ -1594,9 +1594,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1594
1594
|
};
|
|
1595
1595
|
}
|
|
1596
1596
|
});
|
|
1597
|
-
const _hoisted_1$
|
|
1598
|
-
const _hoisted_2$
|
|
1599
|
-
const _sfc_main$
|
|
1597
|
+
const _hoisted_1$6 = { "aria-label": "Breadcrumb" };
|
|
1598
|
+
const _hoisted_2$4 = { class: "flex items-center flex-wrap gap-1 text-sm" };
|
|
1599
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
1600
1600
|
__name: "Breadcrumb",
|
|
1601
1601
|
props: {
|
|
1602
1602
|
items: {},
|
|
@@ -1607,8 +1607,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1607
1607
|
emits: ["click"],
|
|
1608
1608
|
setup(__props) {
|
|
1609
1609
|
return (_ctx, _cache) => {
|
|
1610
|
-
return openBlock(), createElementBlock("nav", _hoisted_1$
|
|
1611
|
-
createElementVNode("ol", _hoisted_2$
|
|
1610
|
+
return openBlock(), createElementBlock("nav", _hoisted_1$6, [
|
|
1611
|
+
createElementVNode("ol", _hoisted_2$4, [
|
|
1612
1612
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
1613
1613
|
return openBlock(), createElementBlock("li", {
|
|
1614
1614
|
key: index,
|
|
@@ -1650,8 +1650,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1650
1650
|
};
|
|
1651
1651
|
}
|
|
1652
1652
|
});
|
|
1653
|
-
const _hoisted_1$
|
|
1654
|
-
const _sfc_main$
|
|
1653
|
+
const _hoisted_1$5 = { class: "divide-y divide-gray-200 dark:divide-gray-700 border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden" };
|
|
1654
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
1655
1655
|
__name: "Accordion",
|
|
1656
1656
|
props: {
|
|
1657
1657
|
mode: { default: "single" },
|
|
@@ -1677,17 +1677,17 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
1677
1677
|
isOpen
|
|
1678
1678
|
});
|
|
1679
1679
|
return (_ctx, _cache) => {
|
|
1680
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1680
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
1681
1681
|
renderSlot(_ctx.$slots, "default")
|
|
1682
1682
|
]);
|
|
1683
1683
|
};
|
|
1684
1684
|
}
|
|
1685
1685
|
});
|
|
1686
|
-
const _hoisted_1$
|
|
1687
|
-
const _hoisted_2$
|
|
1688
|
-
const _hoisted_3$
|
|
1686
|
+
const _hoisted_1$4 = ["id", "disabled", "aria-expanded", "aria-controls"];
|
|
1687
|
+
const _hoisted_2$3 = { class: "flex items-center gap-2 font-medium" };
|
|
1688
|
+
const _hoisted_3$2 = ["id", "aria-labelledby"];
|
|
1689
1689
|
const _hoisted_4$1 = { class: "px-4 py-3 bg-gray-50 dark:bg-gray-900 text-gray-700 dark:text-gray-300" };
|
|
1690
|
-
const _sfc_main$
|
|
1690
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
1691
1691
|
__name: "AccordionItem",
|
|
1692
1692
|
props: {
|
|
1693
1693
|
itemKey: {},
|
|
@@ -1721,7 +1721,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
1721
1721
|
"aria-controls": panelId.value,
|
|
1722
1722
|
onClick: toggle
|
|
1723
1723
|
}, [
|
|
1724
|
-
createElementVNode("span", _hoisted_2$
|
|
1724
|
+
createElementVNode("span", _hoisted_2$3, [
|
|
1725
1725
|
__props.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
1726
1726
|
key: 0,
|
|
1727
1727
|
icon: __props.icon,
|
|
@@ -1735,7 +1735,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
1735
1735
|
class: normalizeClass(["size-5 transition-transform duration-200", { "rotate-180": isOpen.value }]),
|
|
1736
1736
|
"aria-hidden": "true"
|
|
1737
1737
|
}, null, 8, ["class"])
|
|
1738
|
-
], 10, _hoisted_1$
|
|
1738
|
+
], 10, _hoisted_1$4),
|
|
1739
1739
|
createVNode(Transition, {
|
|
1740
1740
|
"enter-active-class": "transition-all duration-200 ease-out",
|
|
1741
1741
|
"enter-from-class": "opacity-0 max-h-0",
|
|
@@ -1754,7 +1754,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
1754
1754
|
createElementVNode("div", _hoisted_4$1, [
|
|
1755
1755
|
renderSlot(_ctx.$slots, "default")
|
|
1756
1756
|
])
|
|
1757
|
-
], 8, _hoisted_3$
|
|
1757
|
+
], 8, _hoisted_3$2), [
|
|
1758
1758
|
[vShow, isOpen.value]
|
|
1759
1759
|
])
|
|
1760
1760
|
]),
|
|
@@ -1764,12 +1764,12 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
1764
1764
|
};
|
|
1765
1765
|
}
|
|
1766
1766
|
});
|
|
1767
|
-
const _hoisted_1$
|
|
1767
|
+
const _hoisted_1$3 = {
|
|
1768
1768
|
key: 0,
|
|
1769
1769
|
class: "relative"
|
|
1770
1770
|
};
|
|
1771
|
-
const _hoisted_2$
|
|
1772
|
-
const _hoisted_3 = { class: "flex-1 min-w-0 pt-0.5" };
|
|
1771
|
+
const _hoisted_2$2 = { class: "flex items-start gap-4" };
|
|
1772
|
+
const _hoisted_3$1 = { class: "flex-1 min-w-0 pt-0.5" };
|
|
1773
1773
|
const _hoisted_4 = { class: "flex items-center justify-between gap-2" };
|
|
1774
1774
|
const _hoisted_5 = { class: "text-sm font-medium text-gray-900 dark:text-white" };
|
|
1775
1775
|
const _hoisted_6 = {
|
|
@@ -1791,7 +1791,7 @@ const _hoisted_12 = {
|
|
|
1791
1791
|
key: 0,
|
|
1792
1792
|
class: "text-xs text-gray-500 dark:text-gray-400"
|
|
1793
1793
|
};
|
|
1794
|
-
const _sfc_main$
|
|
1794
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
1795
1795
|
__name: "Timeline",
|
|
1796
1796
|
props: {
|
|
1797
1797
|
items: {},
|
|
@@ -1837,7 +1837,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1837
1837
|
}
|
|
1838
1838
|
};
|
|
1839
1839
|
return (_ctx, _cache) => {
|
|
1840
|
-
return __props.orientation === "vertical" ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1840
|
+
return __props.orientation === "vertical" ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
1841
1841
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
1842
1842
|
return openBlock(), createElementBlock("div", {
|
|
1843
1843
|
key: item.key,
|
|
@@ -1847,7 +1847,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1847
1847
|
key: 0,
|
|
1848
1848
|
class: normalizeClass(["absolute left-4 top-8 w-0.5 h-full -ml-px", getStatusClasses(item.status).line])
|
|
1849
1849
|
}, null, 2)) : createCommentVNode("", true),
|
|
1850
|
-
createElementVNode("div", _hoisted_2$
|
|
1850
|
+
createElementVNode("div", _hoisted_2$2, [
|
|
1851
1851
|
createElementVNode("div", {
|
|
1852
1852
|
class: normalizeClass(["relative z-10 flex items-center justify-center size-8 rounded-full shrink-0", getStatusClasses(item.status).dot])
|
|
1853
1853
|
}, [
|
|
@@ -1857,7 +1857,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1857
1857
|
class: normalizeClass(["size-4", getStatusClasses(item.status).icon])
|
|
1858
1858
|
}, null, 8, ["icon", "class"])) : createCommentVNode("", true)
|
|
1859
1859
|
], 2),
|
|
1860
|
-
createElementVNode("div", _hoisted_3, [
|
|
1860
|
+
createElementVNode("div", _hoisted_3$1, [
|
|
1861
1861
|
createElementVNode("div", _hoisted_4, [
|
|
1862
1862
|
createElementVNode("h3", _hoisted_5, toDisplayString(item.title), 1),
|
|
1863
1863
|
item.date ? (openBlock(), createElementBlock("time", _hoisted_6, toDisplayString(item.date), 1)) : createCommentVNode("", true)
|
|
@@ -1899,12 +1899,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1899
1899
|
};
|
|
1900
1900
|
}
|
|
1901
1901
|
});
|
|
1902
|
-
const _hoisted_1 = ["aria-label"];
|
|
1903
|
-
const _hoisted_2 = {
|
|
1902
|
+
const _hoisted_1$2 = ["aria-label"];
|
|
1903
|
+
const _hoisted_2$1 = {
|
|
1904
1904
|
key: 0,
|
|
1905
1905
|
class: "text-sm font-medium"
|
|
1906
1906
|
};
|
|
1907
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1907
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
1908
1908
|
__name: "DarkModeToggle",
|
|
1909
1909
|
props: {
|
|
1910
1910
|
size: { default: "md" },
|
|
@@ -1939,30 +1939,305 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1939
1939
|
icon: unref(isDark) ? __props.darkIcon : __props.lightIcon,
|
|
1940
1940
|
class: normalizeClass(sizeClasses[__props.size].icon)
|
|
1941
1941
|
}, null, 8, ["icon", "class"]),
|
|
1942
|
-
__props.showLabel ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(unref(isDark) ? "Dark" : "Light"), 1)) : createCommentVNode("", true)
|
|
1943
|
-
], 10, _hoisted_1);
|
|
1942
|
+
__props.showLabel ? (openBlock(), createElementBlock("span", _hoisted_2$1, toDisplayString(unref(isDark) ? "Dark" : "Light"), 1)) : createCommentVNode("", true)
|
|
1943
|
+
], 10, _hoisted_1$2);
|
|
1944
|
+
};
|
|
1945
|
+
}
|
|
1946
|
+
});
|
|
1947
|
+
const _hoisted_1$1 = {
|
|
1948
|
+
key: 0,
|
|
1949
|
+
class: "text-gray-400"
|
|
1950
|
+
};
|
|
1951
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
1952
|
+
__name: "StatsCard",
|
|
1953
|
+
props: {
|
|
1954
|
+
label: {},
|
|
1955
|
+
value: {},
|
|
1956
|
+
icon: {},
|
|
1957
|
+
change: {},
|
|
1958
|
+
changeLabel: {},
|
|
1959
|
+
variant: { default: "default" },
|
|
1960
|
+
color: { default: "primary" }
|
|
1961
|
+
},
|
|
1962
|
+
setup(__props) {
|
|
1963
|
+
return (_ctx, _cache) => {
|
|
1964
|
+
return openBlock(), createElementBlock("div", {
|
|
1965
|
+
class: normalizeClass([
|
|
1966
|
+
"rounded-2xl p-4 text-center transition-all",
|
|
1967
|
+
__props.variant === "default" && "bg-white dark:bg-slate-800 border border-gray-100 dark:border-slate-700 shadow-sm",
|
|
1968
|
+
__props.variant === "glass" && "bg-white/15 backdrop-blur-sm border border-white/20",
|
|
1969
|
+
__props.variant === "outline" && "border-2 border-gray-200 dark:border-slate-600",
|
|
1970
|
+
__props.variant === "solid" && __props.color === "primary" && "bg-primary-500 text-white",
|
|
1971
|
+
__props.variant === "solid" && __props.color === "success" && "bg-emerald-500 text-white",
|
|
1972
|
+
__props.variant === "solid" && __props.color === "warning" && "bg-amber-500 text-white",
|
|
1973
|
+
__props.variant === "solid" && __props.color === "danger" && "bg-red-500 text-white",
|
|
1974
|
+
__props.variant === "solid" && __props.color === "info" && "bg-blue-500 text-white"
|
|
1975
|
+
])
|
|
1976
|
+
}, [
|
|
1977
|
+
__props.icon ? (openBlock(), createElementBlock("div", {
|
|
1978
|
+
key: 0,
|
|
1979
|
+
class: normalizeClass([
|
|
1980
|
+
"size-10 mx-auto mb-2 rounded-xl flex items-center justify-center",
|
|
1981
|
+
__props.variant === "glass" && "bg-white/20",
|
|
1982
|
+
__props.variant === "solid" && "bg-white/20",
|
|
1983
|
+
__props.variant === "default" && __props.color === "primary" && "bg-primary-100 dark:bg-primary-900/30",
|
|
1984
|
+
__props.variant === "default" && __props.color === "success" && "bg-emerald-100 dark:bg-emerald-900/30",
|
|
1985
|
+
__props.variant === "default" && __props.color === "warning" && "bg-amber-100 dark:bg-amber-900/30",
|
|
1986
|
+
__props.variant === "default" && __props.color === "danger" && "bg-red-100 dark:bg-red-900/30",
|
|
1987
|
+
__props.variant === "default" && __props.color === "info" && "bg-blue-100 dark:bg-blue-900/30",
|
|
1988
|
+
__props.variant === "outline" && "bg-gray-100 dark:bg-slate-700"
|
|
1989
|
+
])
|
|
1990
|
+
}, [
|
|
1991
|
+
createVNode(unref(Icon), {
|
|
1992
|
+
icon: __props.icon,
|
|
1993
|
+
class: normalizeClass([
|
|
1994
|
+
"size-5",
|
|
1995
|
+
(__props.variant === "glass" || __props.variant === "solid") && "text-white",
|
|
1996
|
+
__props.variant === "default" && __props.color === "primary" && "text-primary-600 dark:text-primary-400",
|
|
1997
|
+
__props.variant === "default" && __props.color === "success" && "text-emerald-600 dark:text-emerald-400",
|
|
1998
|
+
__props.variant === "default" && __props.color === "warning" && "text-amber-600 dark:text-amber-400",
|
|
1999
|
+
__props.variant === "default" && __props.color === "danger" && "text-red-600 dark:text-red-400",
|
|
2000
|
+
__props.variant === "default" && __props.color === "info" && "text-blue-600 dark:text-blue-400",
|
|
2001
|
+
__props.variant === "outline" && "text-gray-600 dark:text-gray-400"
|
|
2002
|
+
])
|
|
2003
|
+
}, null, 8, ["icon", "class"])
|
|
2004
|
+
], 2)) : createCommentVNode("", true),
|
|
2005
|
+
createElementVNode("div", {
|
|
2006
|
+
class: normalizeClass([
|
|
2007
|
+
"text-2xl sm:text-3xl font-bold",
|
|
2008
|
+
(__props.variant === "glass" || __props.variant === "solid") && "text-white",
|
|
2009
|
+
(__props.variant === "default" || __props.variant === "outline") && "text-gray-900 dark:text-white"
|
|
2010
|
+
])
|
|
2011
|
+
}, [
|
|
2012
|
+
renderSlot(_ctx.$slots, "value", {}, () => [
|
|
2013
|
+
createTextVNode(toDisplayString(__props.value), 1)
|
|
2014
|
+
])
|
|
2015
|
+
], 2),
|
|
2016
|
+
createElementVNode("div", {
|
|
2017
|
+
class: normalizeClass([
|
|
2018
|
+
"text-xs sm:text-sm",
|
|
2019
|
+
__props.variant === "glass" && "text-white/80",
|
|
2020
|
+
__props.variant === "solid" && "text-white/90",
|
|
2021
|
+
(__props.variant === "default" || __props.variant === "outline") && "text-gray-500 dark:text-gray-400"
|
|
2022
|
+
])
|
|
2023
|
+
}, [
|
|
2024
|
+
renderSlot(_ctx.$slots, "label", {}, () => [
|
|
2025
|
+
createTextVNode(toDisplayString(__props.label), 1)
|
|
2026
|
+
])
|
|
2027
|
+
], 2),
|
|
2028
|
+
__props.change !== void 0 ? (openBlock(), createElementBlock("div", {
|
|
2029
|
+
key: 1,
|
|
2030
|
+
class: normalizeClass([
|
|
2031
|
+
"mt-2 text-xs font-medium inline-flex items-center gap-1",
|
|
2032
|
+
__props.change >= 0 ? "text-emerald-500" : "text-red-500"
|
|
2033
|
+
])
|
|
2034
|
+
}, [
|
|
2035
|
+
createVNode(unref(Icon), {
|
|
2036
|
+
icon: __props.change >= 0 ? "heroicons:arrow-trending-up" : "heroicons:arrow-trending-down",
|
|
2037
|
+
class: "size-3.5"
|
|
2038
|
+
}, null, 8, ["icon"]),
|
|
2039
|
+
createElementVNode("span", null, toDisplayString(__props.change >= 0 ? "+" : "") + toDisplayString(__props.change) + "%", 1),
|
|
2040
|
+
__props.changeLabel ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(__props.changeLabel), 1)) : createCommentVNode("", true)
|
|
2041
|
+
], 2)) : createCommentVNode("", true)
|
|
2042
|
+
], 2);
|
|
2043
|
+
};
|
|
2044
|
+
}
|
|
2045
|
+
});
|
|
2046
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
2047
|
+
__name: "StatsGrid",
|
|
2048
|
+
props: {
|
|
2049
|
+
stats: {},
|
|
2050
|
+
cols: {},
|
|
2051
|
+
variant: { default: "default" },
|
|
2052
|
+
color: { default: "primary" }
|
|
2053
|
+
},
|
|
2054
|
+
setup(__props) {
|
|
2055
|
+
return (_ctx, _cache) => {
|
|
2056
|
+
return openBlock(), createElementBlock("div", {
|
|
2057
|
+
class: normalizeClass(["grid gap-3 sm:gap-4", [
|
|
2058
|
+
__props.cols === 2 && "grid-cols-2",
|
|
2059
|
+
__props.cols === 3 && "grid-cols-3",
|
|
2060
|
+
__props.cols === 4 && "grid-cols-2 sm:grid-cols-4",
|
|
2061
|
+
!__props.cols && __props.stats.length === 2 && "grid-cols-2",
|
|
2062
|
+
!__props.cols && __props.stats.length === 3 && "grid-cols-3",
|
|
2063
|
+
!__props.cols && __props.stats.length === 4 && "grid-cols-2 sm:grid-cols-4",
|
|
2064
|
+
!__props.cols && __props.stats.length > 4 && "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4"
|
|
2065
|
+
]])
|
|
2066
|
+
}, [
|
|
2067
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.stats, (stat, index) => {
|
|
2068
|
+
return openBlock(), createBlock(_sfc_main$2, {
|
|
2069
|
+
key: index,
|
|
2070
|
+
label: stat.label,
|
|
2071
|
+
value: stat.value,
|
|
2072
|
+
icon: stat.icon,
|
|
2073
|
+
change: stat.change,
|
|
2074
|
+
"change-label": stat.changeLabel,
|
|
2075
|
+
variant: __props.variant,
|
|
2076
|
+
color: __props.color
|
|
2077
|
+
}, null, 8, ["label", "value", "icon", "change", "change-label", "variant", "color"]);
|
|
2078
|
+
}), 128))
|
|
2079
|
+
], 2);
|
|
2080
|
+
};
|
|
2081
|
+
}
|
|
2082
|
+
});
|
|
2083
|
+
const _hoisted_1 = ["disabled", "onClick"];
|
|
2084
|
+
const _hoisted_2 = ["disabled", "onClick"];
|
|
2085
|
+
const _hoisted_3 = ["disabled", "onClick"];
|
|
2086
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
2087
|
+
__name: "FilterTabs",
|
|
2088
|
+
props: /* @__PURE__ */ mergeModels({
|
|
2089
|
+
options: {},
|
|
2090
|
+
variant: { default: "pills" },
|
|
2091
|
+
size: { default: "md" },
|
|
2092
|
+
fullWidth: { type: Boolean }
|
|
2093
|
+
}, {
|
|
2094
|
+
"modelValue": { required: true },
|
|
2095
|
+
"modelModifiers": {}
|
|
2096
|
+
}),
|
|
2097
|
+
emits: ["update:modelValue"],
|
|
2098
|
+
setup(__props) {
|
|
2099
|
+
const modelValue = useModel(__props, "modelValue");
|
|
2100
|
+
return (_ctx, _cache) => {
|
|
2101
|
+
return __props.variant === "pills" ? (openBlock(), createElementBlock("div", {
|
|
2102
|
+
key: 0,
|
|
2103
|
+
class: normalizeClass([
|
|
2104
|
+
"inline-flex p-1 bg-white dark:bg-slate-800 rounded-2xl shadow-sm border border-gray-100 dark:border-slate-700 gap-1",
|
|
2105
|
+
__props.fullWidth && "w-full"
|
|
2106
|
+
])
|
|
2107
|
+
}, [
|
|
2108
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
|
|
2109
|
+
return openBlock(), createElementBlock("button", {
|
|
2110
|
+
key: option.key,
|
|
2111
|
+
type: "button",
|
|
2112
|
+
disabled: option.disabled,
|
|
2113
|
+
class: normalizeClass([
|
|
2114
|
+
"flex items-center justify-center gap-2 rounded-xl font-medium transition-all",
|
|
2115
|
+
__props.fullWidth && "flex-1",
|
|
2116
|
+
__props.size === "sm" && "px-3 py-1.5 text-xs",
|
|
2117
|
+
__props.size === "md" && "px-4 py-2.5 text-sm",
|
|
2118
|
+
__props.size === "lg" && "px-5 py-3 text-base",
|
|
2119
|
+
modelValue.value === option.key ? "bg-primary-500 text-white shadow-md" : "text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-slate-700",
|
|
2120
|
+
option.disabled && "opacity-50 cursor-not-allowed"
|
|
2121
|
+
]),
|
|
2122
|
+
onClick: ($event) => !option.disabled && (modelValue.value = option.key)
|
|
2123
|
+
}, [
|
|
2124
|
+
option.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
2125
|
+
key: 0,
|
|
2126
|
+
icon: option.icon,
|
|
2127
|
+
class: "size-4"
|
|
2128
|
+
}, null, 8, ["icon"])) : createCommentVNode("", true),
|
|
2129
|
+
createElementVNode("span", null, toDisplayString(option.label), 1),
|
|
2130
|
+
option.count !== void 0 ? (openBlock(), createElementBlock("span", {
|
|
2131
|
+
key: 1,
|
|
2132
|
+
class: normalizeClass([
|
|
2133
|
+
"px-1.5 py-0.5 rounded-full text-xs font-medium",
|
|
2134
|
+
modelValue.value === option.key ? "bg-white/20 text-white" : "bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400"
|
|
2135
|
+
])
|
|
2136
|
+
}, toDisplayString(option.count), 3)) : createCommentVNode("", true)
|
|
2137
|
+
], 10, _hoisted_1);
|
|
2138
|
+
}), 128))
|
|
2139
|
+
], 2)) : __props.variant === "underline" ? (openBlock(), createElementBlock("div", {
|
|
2140
|
+
key: 1,
|
|
2141
|
+
class: normalizeClass([
|
|
2142
|
+
"flex border-b border-gray-200 dark:border-slate-700",
|
|
2143
|
+
__props.fullWidth && "w-full"
|
|
2144
|
+
])
|
|
2145
|
+
}, [
|
|
2146
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
|
|
2147
|
+
return openBlock(), createElementBlock("button", {
|
|
2148
|
+
key: option.key,
|
|
2149
|
+
type: "button",
|
|
2150
|
+
disabled: option.disabled,
|
|
2151
|
+
class: normalizeClass([
|
|
2152
|
+
"flex items-center justify-center gap-2 font-medium transition-all border-b-2 -mb-px",
|
|
2153
|
+
__props.fullWidth && "flex-1",
|
|
2154
|
+
__props.size === "sm" && "px-3 py-2 text-xs",
|
|
2155
|
+
__props.size === "md" && "px-4 py-3 text-sm",
|
|
2156
|
+
__props.size === "lg" && "px-5 py-4 text-base",
|
|
2157
|
+
modelValue.value === option.key ? "border-primary-500 text-primary-600 dark:text-primary-400" : "border-transparent text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300",
|
|
2158
|
+
option.disabled && "opacity-50 cursor-not-allowed"
|
|
2159
|
+
]),
|
|
2160
|
+
onClick: ($event) => !option.disabled && (modelValue.value = option.key)
|
|
2161
|
+
}, [
|
|
2162
|
+
option.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
2163
|
+
key: 0,
|
|
2164
|
+
icon: option.icon,
|
|
2165
|
+
class: "size-4"
|
|
2166
|
+
}, null, 8, ["icon"])) : createCommentVNode("", true),
|
|
2167
|
+
createElementVNode("span", null, toDisplayString(option.label), 1),
|
|
2168
|
+
option.count !== void 0 ? (openBlock(), createElementBlock("span", {
|
|
2169
|
+
key: 1,
|
|
2170
|
+
class: normalizeClass([
|
|
2171
|
+
"px-1.5 py-0.5 rounded-full text-xs font-medium",
|
|
2172
|
+
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"
|
|
2173
|
+
])
|
|
2174
|
+
}, toDisplayString(option.count), 3)) : createCommentVNode("", true)
|
|
2175
|
+
], 10, _hoisted_2);
|
|
2176
|
+
}), 128))
|
|
2177
|
+
], 2)) : __props.variant === "boxed" ? (openBlock(), createElementBlock("div", {
|
|
2178
|
+
key: 2,
|
|
2179
|
+
class: normalizeClass([
|
|
2180
|
+
"inline-flex bg-gray-100 dark:bg-slate-800 rounded-xl p-1 gap-1",
|
|
2181
|
+
__props.fullWidth && "w-full"
|
|
2182
|
+
])
|
|
2183
|
+
}, [
|
|
2184
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
|
|
2185
|
+
return openBlock(), createElementBlock("button", {
|
|
2186
|
+
key: option.key,
|
|
2187
|
+
type: "button",
|
|
2188
|
+
disabled: option.disabled,
|
|
2189
|
+
class: normalizeClass([
|
|
2190
|
+
"flex items-center justify-center gap-2 rounded-lg font-medium transition-all",
|
|
2191
|
+
__props.fullWidth && "flex-1",
|
|
2192
|
+
__props.size === "sm" && "px-3 py-1.5 text-xs",
|
|
2193
|
+
__props.size === "md" && "px-4 py-2 text-sm",
|
|
2194
|
+
__props.size === "lg" && "px-5 py-2.5 text-base",
|
|
2195
|
+
modelValue.value === option.key ? "bg-white dark:bg-slate-700 text-gray-900 dark:text-white shadow-sm" : "text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white",
|
|
2196
|
+
option.disabled && "opacity-50 cursor-not-allowed"
|
|
2197
|
+
]),
|
|
2198
|
+
onClick: ($event) => !option.disabled && (modelValue.value = option.key)
|
|
2199
|
+
}, [
|
|
2200
|
+
option.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
2201
|
+
key: 0,
|
|
2202
|
+
icon: option.icon,
|
|
2203
|
+
class: "size-4"
|
|
2204
|
+
}, null, 8, ["icon"])) : createCommentVNode("", true),
|
|
2205
|
+
createElementVNode("span", null, toDisplayString(option.label), 1),
|
|
2206
|
+
option.count !== void 0 ? (openBlock(), createElementBlock("span", {
|
|
2207
|
+
key: 1,
|
|
2208
|
+
class: normalizeClass([
|
|
2209
|
+
"px-1.5 py-0.5 rounded-full text-xs font-medium",
|
|
2210
|
+
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"
|
|
2211
|
+
])
|
|
2212
|
+
}, toDisplayString(option.count), 3)) : createCommentVNode("", true)
|
|
2213
|
+
], 10, _hoisted_3);
|
|
2214
|
+
}), 128))
|
|
2215
|
+
], 2)) : createCommentVNode("", true);
|
|
1944
2216
|
};
|
|
1945
2217
|
}
|
|
1946
2218
|
});
|
|
1947
2219
|
export {
|
|
1948
|
-
_sfc_main$
|
|
1949
|
-
_sfc_main$
|
|
1950
|
-
_sfc_main$
|
|
1951
|
-
_sfc_main$
|
|
1952
|
-
_sfc_main$
|
|
1953
|
-
_sfc_main$
|
|
1954
|
-
_sfc_main$
|
|
1955
|
-
_sfc_main$
|
|
1956
|
-
_sfc_main$
|
|
1957
|
-
_sfc_main$
|
|
1958
|
-
_sfc_main$
|
|
1959
|
-
_sfc_main$
|
|
1960
|
-
_sfc_main$
|
|
1961
|
-
_sfc_main$
|
|
1962
|
-
_sfc_main$
|
|
1963
|
-
_sfc_main$
|
|
1964
|
-
_sfc_main$
|
|
1965
|
-
_sfc_main$
|
|
1966
|
-
_sfc_main as r
|
|
2220
|
+
_sfc_main$l as _,
|
|
2221
|
+
_sfc_main$k as a,
|
|
2222
|
+
_sfc_main$j as b,
|
|
2223
|
+
_sfc_main$i as c,
|
|
2224
|
+
_sfc_main$h as d,
|
|
2225
|
+
_sfc_main$g as e,
|
|
2226
|
+
_sfc_main$f as f,
|
|
2227
|
+
_sfc_main$e as g,
|
|
2228
|
+
_sfc_main$d as h,
|
|
2229
|
+
_sfc_main$c as i,
|
|
2230
|
+
_sfc_main$b as j,
|
|
2231
|
+
_sfc_main$a as k,
|
|
2232
|
+
_sfc_main$9 as l,
|
|
2233
|
+
_sfc_main$8 as m,
|
|
2234
|
+
_sfc_main$7 as n,
|
|
2235
|
+
_sfc_main$6 as o,
|
|
2236
|
+
_sfc_main$5 as p,
|
|
2237
|
+
_sfc_main$4 as q,
|
|
2238
|
+
_sfc_main$3 as r,
|
|
2239
|
+
_sfc_main$2 as s,
|
|
2240
|
+
_sfc_main$1 as t,
|
|
2241
|
+
_sfc_main as u
|
|
1967
2242
|
};
|
|
1968
|
-
//# sourceMappingURL=
|
|
2243
|
+
//# sourceMappingURL=FilterTabs.vue_vue_type_script_setup_true_lang-AFYkni3y.js.map
|