cisse-vue-ui 0.5.21 → 0.5.23
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/{ListSkeleton.vue_vue_type_script_setup_true_lang-D3_Oddwt.js → Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js} +114 -10
- package/dist/Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js.map +1 -0
- package/dist/{ListSkeleton.vue_vue_type_script_setup_true_lang-CrEu33_J.cjs → Button.vue_vue_type_script_setup_true_lang-Cev21KGJ.cjs} +113 -9
- package/dist/Button.vue_vue_type_script_setup_true_lang-Cev21KGJ.cjs.map +1 -0
- package/dist/{RangeSlider.vue_vue_type_script_setup_true_lang-ClH-pyK8.cjs → Combobox.vue_vue_type_script_setup_true_lang-D9TIId4E.cjs} +621 -266
- package/dist/Combobox.vue_vue_type_script_setup_true_lang-D9TIId4E.cjs.map +1 -0
- package/dist/{RangeSlider.vue_vue_type_script_setup_true_lang-B79_S1JL.js → Combobox.vue_vue_type_script_setup_true_lang-DCLKWzhc.js} +595 -240
- package/dist/Combobox.vue_vue_type_script_setup_true_lang-DCLKWzhc.js.map +1 -0
- package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-CsDMGhaT.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-CwHYxBhR.cjs} +290 -128
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CwHYxBhR.cjs.map +1 -0
- package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-Q4PcIELi.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-Dm4kLAnr.js} +291 -129
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-Dm4kLAnr.js.map +1 -0
- package/dist/{Timeline.vue_vue_type_script_setup_true_lang-C5SKEGPG.cjs → DarkModeToggle.vue_vue_type_script_setup_true_lang-CSxGvdSP.cjs} +192 -408
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-CSxGvdSP.cjs.map +1 -0
- package/dist/{Timeline.vue_vue_type_script_setup_true_lang-ykGksWXN.js → DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js} +153 -369
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js.map +1 -0
- package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-DKxcVBKu.cjs → Dropdown.vue_vue_type_script_setup_true_lang-DNeh9Gi-.cjs} +32 -15
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DNeh9Gi-.cjs.map +1 -0
- package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-C3pr8BwC.js → Dropdown.vue_vue_type_script_setup_true_lang-DXV811zB.js} +32 -15
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DXV811zB.js.map +1 -0
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-D22uNeS1.cjs → PageLayout.vue_vue_type_script_setup_true_lang-C0YzyJnK.cjs} +2 -2
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-D22uNeS1.cjs.map → PageLayout.vue_vue_type_script_setup_true_lang-C0YzyJnK.cjs.map} +1 -1
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-kT7np2ir.js → PageLayout.vue_vue_type_script_setup_true_lang-ClzYGS8h.js} +2 -2
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-kT7np2ir.js.map → PageLayout.vue_vue_type_script_setup_true_lang-ClzYGS8h.js.map} +1 -1
- package/dist/components/core/AccordionItem.vue.d.ts +2 -0
- package/dist/components/core/DarkModeToggle.stories.d.ts +15 -0
- package/dist/components/core/DarkModeToggle.test.d.ts +1 -0
- package/dist/components/core/DarkModeToggle.vue.d.ts +21 -0
- package/dist/components/core/Dropdown.vue.d.ts +2 -0
- package/dist/components/core/Popover.vue.d.ts +2 -0
- package/dist/components/core/Tooltip.vue.d.ts +2 -0
- package/dist/components/core/index.cjs +23 -21
- package/dist/components/core/index.cjs.map +1 -1
- package/dist/components/core/index.d.ts +2 -0
- package/dist/components/core/index.js +17 -15
- package/dist/components/core/index.js.map +1 -1
- package/dist/components/core/index.test.d.ts +1 -0
- package/dist/components/feedback/ConfirmDialog.stories.d.ts +12 -0
- package/dist/components/feedback/ConfirmDialog.test.d.ts +1 -0
- package/dist/components/feedback/ConfirmDialog.vue.d.ts +53 -0
- package/dist/components/feedback/LoadingSpinner.vue.d.ts +6 -1
- package/dist/components/feedback/Modal.vue.d.ts +18 -3
- package/dist/components/feedback/Progress.vue.d.ts +1 -1
- package/dist/components/feedback/index.cjs +17 -16
- package/dist/components/feedback/index.cjs.map +1 -1
- package/dist/components/feedback/index.d.ts +2 -0
- package/dist/components/feedback/index.js +6 -5
- package/dist/components/feedback/index.test.d.ts +1 -0
- package/dist/components/form/Checkbox.vue.d.ts +2 -0
- package/dist/components/form/ColorPicker.vue.d.ts +3 -0
- package/dist/components/form/Combobox.stories.d.ts +15 -0
- package/dist/components/form/Combobox.test.d.ts +1 -0
- package/dist/components/form/Combobox.vue.d.ts +46 -0
- package/dist/components/form/DatePicker.vue.d.ts +2 -0
- package/dist/components/form/FormHelp.vue.d.ts +2 -0
- package/dist/components/form/Switch.vue.d.ts +2 -0
- package/dist/components/form/index.cjs +17 -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 -2
- package/dist/components/form/index.test.d.ts +1 -0
- package/dist/components/index.cjs +57 -54
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +35 -32
- package/dist/components/index.test.d.ts +1 -0
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/layout/index.test.d.ts +1 -0
- package/dist/components/type/index.test.d.ts +1 -0
- package/dist/composables/index.cjs +9 -2
- package/dist/composables/index.cjs.map +1 -1
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/index.js +15 -8
- package/dist/composables/index.js.map +1 -1
- package/dist/composables/index.test.d.ts +1 -0
- package/dist/composables/useDarkMode.test.d.ts +1 -0
- package/dist/composables/useDropdown.test.d.ts +1 -0
- package/dist/composables/useExportCSV.test.d.ts +1 -0
- package/dist/composables/useFocusTrap.d.ts +41 -0
- package/dist/composables/useFocusTrap.test.d.ts +1 -0
- package/dist/composables/useId.d.ts +42 -0
- package/dist/composables/useId.test.d.ts +1 -0
- package/dist/composables/useModal.d.ts +1 -1
- package/dist/composables/useModal.test.d.ts +1 -0
- package/dist/index-BMoLBt6A.js +75 -0
- package/dist/index-BMoLBt6A.js.map +1 -0
- package/dist/index-CJwlO351.js +347 -0
- package/dist/index-CJwlO351.js.map +1 -0
- package/dist/index-CUNU12xk.cjs +346 -0
- package/dist/index-CUNU12xk.cjs.map +1 -0
- package/dist/index-DwFvFW-3.cjs +74 -0
- package/dist/index-DwFvFW-3.cjs.map +1 -0
- package/dist/index.cjs +67 -57
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +51 -41
- package/dist/index.js.map +1 -1
- package/dist/index.test.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/types/form.d.ts +4 -0
- package/dist/types/index.test.d.ts +1 -0
- package/dist/useDarkMode-Cl5QWTlC.js +53 -0
- package/dist/useDarkMode-Cl5QWTlC.js.map +1 -0
- package/dist/useDarkMode-DLZcJEUQ.cjs +52 -0
- package/dist/useDarkMode-DLZcJEUQ.cjs.map +1 -0
- package/dist/useFocusTrap-AnlJsihM.js +120 -0
- package/dist/useFocusTrap-AnlJsihM.js.map +1 -0
- package/dist/useFocusTrap-kcxO8AeU.cjs +119 -0
- package/dist/useFocusTrap-kcxO8AeU.cjs.map +1 -0
- package/dist/useId-nxrBaIC9.cjs +25 -0
- package/dist/useId-nxrBaIC9.cjs.map +1 -0
- package/dist/useId-xeHj7rkg.js +26 -0
- package/dist/useId-xeHj7rkg.js.map +1 -0
- package/dist/{useToast-CRh_sG82.cjs → useToast-Bk60GArg.cjs} +1 -50
- package/dist/useToast-Bk60GArg.cjs.map +1 -0
- package/dist/{useToast-DwFOkewC.js → useToast-ina5g3mj.js} +6 -55
- package/dist/useToast-ina5g3mj.js.map +1 -0
- package/package.json +9 -8
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-B-nLCCNY.js +0 -54
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-B-nLCCNY.js.map +0 -1
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-DIoHDji4.cjs +0 -53
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-DIoHDji4.cjs.map +0 -1
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-C3pr8BwC.js.map +0 -1
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DKxcVBKu.cjs.map +0 -1
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-CrEu33_J.cjs.map +0 -1
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-D3_Oddwt.js.map +0 -1
- package/dist/RangeSlider.vue_vue_type_script_setup_true_lang-B79_S1JL.js.map +0 -1
- package/dist/RangeSlider.vue_vue_type_script_setup_true_lang-ClH-pyK8.cjs.map +0 -1
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-CsDMGhaT.cjs.map +0 -1
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-Q4PcIELi.js.map +0 -1
- package/dist/Timeline.vue_vue_type_script_setup_true_lang-C5SKEGPG.cjs.map +0 -1
- package/dist/Timeline.vue_vue_type_script_setup_true_lang-ykGksWXN.js.map +0 -1
- package/dist/index-C3NAM2ds.js +0 -72
- package/dist/index-C3NAM2ds.js.map +0 -1
- package/dist/index-Ti1RIOEG.cjs +0 -71
- package/dist/index-Ti1RIOEG.cjs.map +0 -1
- package/dist/useToast-CRh_sG82.cjs.map +0 -1
- package/dist/useToast-DwFOkewC.js.map +0 -1
|
@@ -1,59 +1,97 @@
|
|
|
1
|
-
import { defineComponent, createElementBlock, openBlock, createElementVNode,
|
|
1
|
+
import { defineComponent, computed, createElementBlock, openBlock, createElementVNode, normalizeClass, toDisplayString, ref, onMounted, onUnmounted, createBlock, Teleport, withModifiers, unref, createCommentVNode, renderSlot, createTextVNode, createVNode, Fragment, renderList, normalizeStyle, TransitionGroup, withCtx } from "vue";
|
|
2
2
|
import { Icon } from "@iconify/vue";
|
|
3
3
|
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { u as useId } from "./useId-xeHj7rkg.js";
|
|
5
|
+
import { u as useFocusTrap } from "./useFocusTrap-AnlJsihM.js";
|
|
6
|
+
import { _ as _sfc_main$c } from "./Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js";
|
|
7
|
+
const _hoisted_1$a = ["aria-label"];
|
|
8
|
+
const _hoisted_2$8 = { class: "text-center" };
|
|
9
|
+
const _hoisted_3$8 = {
|
|
7
10
|
key: 0,
|
|
8
11
|
class: "mt-4 text-gray-600 dark:text-gray-400"
|
|
9
12
|
};
|
|
10
|
-
const
|
|
13
|
+
const _hoisted_4$6 = {
|
|
14
|
+
key: 1,
|
|
15
|
+
class: "sr-only"
|
|
16
|
+
};
|
|
17
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
11
18
|
__name: "LoadingSpinner",
|
|
12
19
|
props: {
|
|
13
20
|
text: {},
|
|
14
|
-
size: { default: "md" }
|
|
21
|
+
size: { default: "md" },
|
|
22
|
+
ariaLabel: { default: "Loading" }
|
|
15
23
|
},
|
|
16
24
|
setup(__props) {
|
|
25
|
+
const props = __props;
|
|
17
26
|
const sizeClasses = {
|
|
18
27
|
sm: "h-8 w-8",
|
|
19
28
|
md: "h-12 w-12",
|
|
20
29
|
lg: "h-16 w-16"
|
|
21
30
|
};
|
|
31
|
+
const accessibleLabel = computed(() => props.text || props.ariaLabel);
|
|
22
32
|
return (_ctx, _cache) => {
|
|
23
|
-
return openBlock(), createElementBlock("div",
|
|
24
|
-
|
|
33
|
+
return openBlock(), createElementBlock("div", {
|
|
34
|
+
class: "flex items-center justify-center py-12",
|
|
35
|
+
role: "status",
|
|
36
|
+
"aria-live": "polite",
|
|
37
|
+
"aria-label": accessibleLabel.value
|
|
38
|
+
}, [
|
|
39
|
+
createElementVNode("div", _hoisted_2$8, [
|
|
25
40
|
createElementVNode("div", {
|
|
26
|
-
class: normalizeClass([sizeClasses[__props.size], "border-primary inline-block animate-spin rounded-full border-4 border-solid border-r-transparent"])
|
|
41
|
+
class: normalizeClass([sizeClasses[__props.size], "border-primary inline-block animate-spin rounded-full border-4 border-solid border-r-transparent"]),
|
|
42
|
+
"aria-hidden": "true"
|
|
27
43
|
}, null, 2),
|
|
28
|
-
__props.text ? (openBlock(), createElementBlock("p", _hoisted_3$
|
|
44
|
+
__props.text ? (openBlock(), createElementBlock("p", _hoisted_3$8, toDisplayString(__props.text), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$6, toDisplayString(accessibleLabel.value), 1))
|
|
29
45
|
])
|
|
30
|
-
]);
|
|
46
|
+
], 8, _hoisted_1$a);
|
|
31
47
|
};
|
|
32
48
|
}
|
|
33
49
|
});
|
|
34
|
-
const _hoisted_1$
|
|
50
|
+
const _hoisted_1$9 = ["id", "aria-labelledby"];
|
|
51
|
+
const _hoisted_2$7 = {
|
|
35
52
|
key: 0,
|
|
36
53
|
class: "flex items-center justify-between border-b border-gray-200 px-6 py-4 dark:border-gray-700"
|
|
37
54
|
};
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
55
|
+
const _hoisted_3$7 = ["id"];
|
|
56
|
+
const _hoisted_4$5 = { class: "sr-only" };
|
|
57
|
+
const _hoisted_5$2 = { class: "flex-1 overflow-y-auto px-6 py-4" };
|
|
58
|
+
const _hoisted_6$1 = {
|
|
42
59
|
key: 1,
|
|
43
60
|
class: "flex items-center justify-end gap-3 border-t border-gray-200 px-6 py-4 dark:border-gray-700"
|
|
44
61
|
};
|
|
45
|
-
const _sfc_main$
|
|
62
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
46
63
|
__name: "Modal",
|
|
47
64
|
props: {
|
|
48
65
|
title: { default: "" },
|
|
49
66
|
size: { default: "default" },
|
|
50
67
|
closeOnBackdrop: { type: Boolean, default: true },
|
|
51
68
|
closeOnEscape: { type: Boolean, default: true },
|
|
52
|
-
closeButtonLabel: { default: "Close" }
|
|
69
|
+
closeButtonLabel: { default: "Close" },
|
|
70
|
+
teleport: { type: [String, Boolean], default: "body" },
|
|
71
|
+
id: {}
|
|
53
72
|
},
|
|
54
73
|
emits: ["close"],
|
|
55
74
|
setup(__props, { emit: __emit }) {
|
|
75
|
+
const props = __props;
|
|
76
|
+
const {
|
|
77
|
+
title,
|
|
78
|
+
size,
|
|
79
|
+
closeOnBackdrop,
|
|
80
|
+
closeOnEscape,
|
|
81
|
+
closeButtonLabel
|
|
82
|
+
} = props;
|
|
83
|
+
const teleportDisabled = computed(() => props.teleport === false);
|
|
84
|
+
const teleportTarget = computed(() => props.teleport === false ? "body" : props.teleport);
|
|
56
85
|
const emit = __emit;
|
|
86
|
+
const { id: modalId, related } = useId({ prefix: "modal", id: props.id });
|
|
87
|
+
const titleId = computed(() => related("title"));
|
|
88
|
+
const isActive = ref(true);
|
|
89
|
+
const { containerRef: dialogRef } = useFocusTrap({
|
|
90
|
+
active: isActive,
|
|
91
|
+
focusFirst: true,
|
|
92
|
+
restoreFocus: true
|
|
93
|
+
});
|
|
94
|
+
const hasTitle = computed(() => Boolean(props.title));
|
|
57
95
|
const sizeClasses = {
|
|
58
96
|
sm: "max-w-md",
|
|
59
97
|
default: "max-w-3xl",
|
|
@@ -62,12 +100,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
62
100
|
full: "max-w-full mx-4"
|
|
63
101
|
};
|
|
64
102
|
const handleBackdropClick = () => {
|
|
65
|
-
if (
|
|
103
|
+
if (closeOnBackdrop) {
|
|
66
104
|
emit("close");
|
|
67
105
|
}
|
|
68
106
|
};
|
|
69
107
|
const handleEscape = (e) => {
|
|
70
|
-
if (e.key === "Escape" &&
|
|
108
|
+
if (e.key === "Escape" && closeOnEscape) {
|
|
71
109
|
emit("close");
|
|
72
110
|
}
|
|
73
111
|
};
|
|
@@ -80,55 +118,71 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
80
118
|
document.body.style.overflow = "";
|
|
81
119
|
});
|
|
82
120
|
return (_ctx, _cache) => {
|
|
83
|
-
return openBlock(),
|
|
84
|
-
|
|
85
|
-
|
|
121
|
+
return openBlock(), createBlock(Teleport, {
|
|
122
|
+
to: teleportTarget.value,
|
|
123
|
+
disabled: teleportDisabled.value
|
|
86
124
|
}, [
|
|
87
125
|
createElementVNode("div", {
|
|
88
|
-
class:
|
|
126
|
+
class: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
127
|
+
onClick: withModifiers(handleBackdropClick, ["self"])
|
|
89
128
|
}, [
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
129
|
+
createElementVNode("div", {
|
|
130
|
+
ref_key: "dialogRef",
|
|
131
|
+
ref: dialogRef,
|
|
132
|
+
id: unref(modalId),
|
|
133
|
+
role: "dialog",
|
|
134
|
+
"aria-modal": "true",
|
|
135
|
+
"aria-labelledby": hasTitle.value ? titleId.value : void 0,
|
|
136
|
+
class: normalizeClass([sizeClasses[unref(size)], "flex max-h-[90vh] w-full flex-col rounded-lg bg-white shadow-xl dark:bg-gray-900"])
|
|
137
|
+
}, [
|
|
138
|
+
unref(title) || _ctx.$slots.header || _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
|
|
139
|
+
createElementVNode("h3", {
|
|
140
|
+
id: titleId.value,
|
|
141
|
+
class: "text-xl font-semibold text-gray-900 dark:text-gray-100"
|
|
142
|
+
}, [
|
|
143
|
+
renderSlot(_ctx.$slots, "header", {}, () => [
|
|
144
|
+
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
145
|
+
createTextVNode(toDisplayString(unref(title)), 1)
|
|
146
|
+
])
|
|
95
147
|
])
|
|
148
|
+
], 8, _hoisted_3$7),
|
|
149
|
+
createElementVNode("button", {
|
|
150
|
+
class: "rounded-lg p-1.5 text-gray-400 hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-100",
|
|
151
|
+
type: "button",
|
|
152
|
+
"aria-label": "Close dialog",
|
|
153
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
|
|
154
|
+
}, [
|
|
155
|
+
createVNode(unref(Icon), {
|
|
156
|
+
class: "h-5 w-5",
|
|
157
|
+
icon: "lucide:x",
|
|
158
|
+
"aria-hidden": "true"
|
|
159
|
+
}),
|
|
160
|
+
createElementVNode("span", _hoisted_4$5, toDisplayString(unref(closeButtonLabel)), 1)
|
|
96
161
|
])
|
|
162
|
+
])) : createCommentVNode("", true),
|
|
163
|
+
createElementVNode("div", _hoisted_5$2, [
|
|
164
|
+
renderSlot(_ctx.$slots, "default")
|
|
97
165
|
]),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
class: "h-5 w-5",
|
|
105
|
-
icon: "lucide:x"
|
|
106
|
-
}),
|
|
107
|
-
createElementVNode("span", _hoisted_3$6, toDisplayString(__props.closeButtonLabel), 1)
|
|
108
|
-
])
|
|
109
|
-
])) : createCommentVNode("", true),
|
|
110
|
-
createElementVNode("div", _hoisted_4$4, [
|
|
111
|
-
renderSlot(_ctx.$slots, "default")
|
|
112
|
-
]),
|
|
113
|
-
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
|
|
114
|
-
renderSlot(_ctx.$slots, "footer")
|
|
115
|
-
])) : createCommentVNode("", true)
|
|
116
|
-
], 2)
|
|
117
|
-
]);
|
|
166
|
+
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
|
|
167
|
+
renderSlot(_ctx.$slots, "footer")
|
|
168
|
+
])) : createCommentVNode("", true)
|
|
169
|
+
], 10, _hoisted_1$9)
|
|
170
|
+
])
|
|
171
|
+
], 8, ["to", "disabled"]);
|
|
118
172
|
};
|
|
119
173
|
}
|
|
120
174
|
});
|
|
121
|
-
const _hoisted_1$
|
|
175
|
+
const _hoisted_1$8 = {
|
|
122
176
|
key: 0,
|
|
123
177
|
class: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 border-t border-gray-200 px-4 sm:px-6 py-4 dark:border-gray-700"
|
|
124
178
|
};
|
|
125
|
-
const _hoisted_2$
|
|
126
|
-
const _hoisted_3$
|
|
127
|
-
const _hoisted_4$
|
|
179
|
+
const _hoisted_2$6 = { class: "flex flex-col sm:flex-row sm:items-center gap-3 sm:gap-4" };
|
|
180
|
+
const _hoisted_3$6 = { class: "text-sm text-gray-700 dark:text-gray-300 text-center sm:text-left" };
|
|
181
|
+
const _hoisted_4$4 = {
|
|
128
182
|
key: 0,
|
|
129
183
|
class: "flex items-center justify-center sm:justify-start gap-2"
|
|
130
184
|
};
|
|
131
|
-
const _hoisted_5 = {
|
|
185
|
+
const _hoisted_5$1 = {
|
|
132
186
|
class: "text-sm text-gray-600 dark:text-gray-400 hidden sm:inline",
|
|
133
187
|
for: "page-size"
|
|
134
188
|
};
|
|
@@ -139,7 +193,7 @@ const _hoisted_9 = ["disabled"];
|
|
|
139
193
|
const _hoisted_10 = { class: "hidden sm:inline" };
|
|
140
194
|
const _hoisted_11 = ["disabled"];
|
|
141
195
|
const _hoisted_12 = { class: "hidden sm:inline" };
|
|
142
|
-
const _sfc_main$
|
|
196
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
143
197
|
__name: "PaginationControls",
|
|
144
198
|
props: {
|
|
145
199
|
currentPage: {},
|
|
@@ -167,11 +221,11 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
167
221
|
emit("update:pageSize", Number(target.value));
|
|
168
222
|
};
|
|
169
223
|
return (_ctx, _cache) => {
|
|
170
|
-
return __props.totalPages > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
171
|
-
createElementVNode("div", _hoisted_2$
|
|
172
|
-
createElementVNode("div", _hoisted_3$
|
|
173
|
-
__props.showPageSize ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
174
|
-
createElementVNode("label", _hoisted_5, toDisplayString(__props.itemsPerPageLabel), 1),
|
|
224
|
+
return __props.totalPages > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
|
|
225
|
+
createElementVNode("div", _hoisted_2$6, [
|
|
226
|
+
createElementVNode("div", _hoisted_3$6, toDisplayString(__props.pageLabel) + " " + toDisplayString(__props.currentPage) + " " + toDisplayString(__props.ofLabel) + " " + toDisplayString(__props.totalPages), 1),
|
|
227
|
+
__props.showPageSize ? (openBlock(), createElementBlock("div", _hoisted_4$4, [
|
|
228
|
+
createElementVNode("label", _hoisted_5$1, toDisplayString(__props.itemsPerPageLabel), 1),
|
|
175
229
|
createElementVNode("select", {
|
|
176
230
|
id: "page-size",
|
|
177
231
|
value: __props.pageSize,
|
|
@@ -215,17 +269,17 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
215
269
|
};
|
|
216
270
|
}
|
|
217
271
|
});
|
|
218
|
-
const _hoisted_1$
|
|
219
|
-
const _hoisted_2$
|
|
220
|
-
const _hoisted_3$
|
|
272
|
+
const _hoisted_1$7 = { class: "flex max-w-md items-start space-x-3 rounded-lg border border-gray-200 bg-white p-4 shadow-lg dark:border-gray-800 dark:bg-black" };
|
|
273
|
+
const _hoisted_2$5 = { class: "flex min-w-0 flex-1 flex-col" };
|
|
274
|
+
const _hoisted_3$5 = {
|
|
221
275
|
key: 0,
|
|
222
276
|
class: "text-sm font-semibold text-gray-900 dark:text-gray-100"
|
|
223
277
|
};
|
|
224
|
-
const _hoisted_4$
|
|
278
|
+
const _hoisted_4$3 = {
|
|
225
279
|
key: 1,
|
|
226
280
|
class: "mt-1 text-sm text-gray-600 dark:text-gray-400"
|
|
227
281
|
};
|
|
228
|
-
const _sfc_main$
|
|
282
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
229
283
|
__name: "NotificationComponent",
|
|
230
284
|
props: {
|
|
231
285
|
notification: {},
|
|
@@ -292,7 +346,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
292
346
|
}
|
|
293
347
|
});
|
|
294
348
|
return (_ctx, _cache) => {
|
|
295
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
349
|
+
return openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
296
350
|
createElementVNode("div", {
|
|
297
351
|
class: normalizeClass([bgColor.value, "flex items-center justify-center rounded-full p-2"])
|
|
298
352
|
}, [
|
|
@@ -301,9 +355,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
301
355
|
icon: iconName.value
|
|
302
356
|
}, null, 8, ["class", "icon"])
|
|
303
357
|
], 2),
|
|
304
|
-
createElementVNode("div", _hoisted_2$
|
|
305
|
-
__props.notification.title ? (openBlock(), createElementBlock("h4", _hoisted_3$
|
|
306
|
-
__props.notification.message ? (openBlock(), createElementBlock("p", _hoisted_4$
|
|
358
|
+
createElementVNode("div", _hoisted_2$5, [
|
|
359
|
+
__props.notification.title ? (openBlock(), createElementBlock("h4", _hoisted_3$5, toDisplayString(__props.notification.title), 1)) : createCommentVNode("", true),
|
|
360
|
+
__props.notification.message ? (openBlock(), createElementBlock("p", _hoisted_4$3, toDisplayString(__props.notification.message), 1)) : createCommentVNode("", true)
|
|
307
361
|
]),
|
|
308
362
|
createElementVNode("button", {
|
|
309
363
|
class: "shrink-0 text-gray-400 transition-colors hover:text-gray-600 dark:text-gray-600 dark:hover:text-gray-400",
|
|
@@ -318,8 +372,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
318
372
|
};
|
|
319
373
|
}
|
|
320
374
|
});
|
|
321
|
-
const _hoisted_1$
|
|
322
|
-
const _sfc_main$
|
|
375
|
+
const _hoisted_1$6 = { class: "fixed top-5 right-5 z-50 flex flex-col gap-3" };
|
|
376
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
323
377
|
__name: "NotificationList",
|
|
324
378
|
props: {
|
|
325
379
|
notifications: {},
|
|
@@ -330,9 +384,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
330
384
|
setup(__props, { emit: __emit }) {
|
|
331
385
|
const emit = __emit;
|
|
332
386
|
return (_ctx, _cache) => {
|
|
333
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
387
|
+
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
334
388
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.notifications, (notification) => {
|
|
335
|
-
return openBlock(), createBlock(_sfc_main$
|
|
389
|
+
return openBlock(), createBlock(_sfc_main$8, {
|
|
336
390
|
key: notification.id,
|
|
337
391
|
notification,
|
|
338
392
|
"auto-dismiss": __props.autoDismiss,
|
|
@@ -344,13 +398,13 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
344
398
|
};
|
|
345
399
|
}
|
|
346
400
|
});
|
|
347
|
-
const _hoisted_1$
|
|
348
|
-
const _hoisted_2$
|
|
401
|
+
const _hoisted_1$5 = { class: "flex-1" };
|
|
402
|
+
const _hoisted_2$4 = {
|
|
349
403
|
key: 0,
|
|
350
404
|
class: "mb-1 font-medium text-gray-900 dark:text-white"
|
|
351
405
|
};
|
|
352
|
-
const _hoisted_3$
|
|
353
|
-
const _sfc_main$
|
|
406
|
+
const _hoisted_3$4 = { class: "text-sm text-gray-700 dark:text-gray-300" };
|
|
407
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
354
408
|
__name: "Alert",
|
|
355
409
|
props: {
|
|
356
410
|
variant: { default: "info" },
|
|
@@ -400,11 +454,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
400
454
|
}, [
|
|
401
455
|
createVNode(unref(Icon), {
|
|
402
456
|
icon: __props.icon || unref(styles).icon,
|
|
403
|
-
class: normalizeClass(["size-5 shrink-0", unref(styles).iconColor])
|
|
457
|
+
class: normalizeClass(["size-5 shrink-0", unref(styles).iconColor]),
|
|
458
|
+
"aria-hidden": "true"
|
|
404
459
|
}, null, 8, ["icon", "class"]),
|
|
405
|
-
createElementVNode("div", _hoisted_1$
|
|
406
|
-
__props.title ? (openBlock(), createElementBlock("h4", _hoisted_2$
|
|
407
|
-
createElementVNode("div", _hoisted_3$
|
|
460
|
+
createElementVNode("div", _hoisted_1$5, [
|
|
461
|
+
__props.title ? (openBlock(), createElementBlock("h4", _hoisted_2$4, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
462
|
+
createElementVNode("div", _hoisted_3$4, [
|
|
408
463
|
renderSlot(_ctx.$slots, "default")
|
|
409
464
|
])
|
|
410
465
|
]),
|
|
@@ -412,28 +467,30 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
412
467
|
key: 0,
|
|
413
468
|
type: "button",
|
|
414
469
|
class: "shrink-0 rounded p-1 text-gray-400 hover:bg-gray-200 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-300",
|
|
470
|
+
"aria-label": "Dismiss alert",
|
|
415
471
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("dismiss"))
|
|
416
472
|
}, [
|
|
417
473
|
createVNode(unref(Icon), {
|
|
418
474
|
icon: "lucide:x",
|
|
419
|
-
class: "size-4"
|
|
475
|
+
class: "size-4",
|
|
476
|
+
"aria-hidden": "true"
|
|
420
477
|
})
|
|
421
478
|
])) : createCommentVNode("", true)
|
|
422
479
|
], 2);
|
|
423
480
|
};
|
|
424
481
|
}
|
|
425
482
|
});
|
|
426
|
-
const _hoisted_1$
|
|
427
|
-
const _hoisted_2$
|
|
483
|
+
const _hoisted_1$4 = { class: "py-12 text-center" };
|
|
484
|
+
const _hoisted_2$3 = {
|
|
428
485
|
key: 1,
|
|
429
486
|
class: "mb-2 text-lg font-medium text-gray-900 dark:text-white"
|
|
430
487
|
};
|
|
431
|
-
const _hoisted_3$
|
|
432
|
-
const _hoisted_4$
|
|
488
|
+
const _hoisted_3$3 = { class: "text-gray-500 dark:text-gray-400" };
|
|
489
|
+
const _hoisted_4$2 = {
|
|
433
490
|
key: 2,
|
|
434
491
|
class: "mt-4"
|
|
435
492
|
};
|
|
436
|
-
const _sfc_main$
|
|
493
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
437
494
|
__name: "EmptyState",
|
|
438
495
|
props: {
|
|
439
496
|
message: { default: "No results found" },
|
|
@@ -442,32 +499,32 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
442
499
|
},
|
|
443
500
|
setup(__props) {
|
|
444
501
|
return (_ctx, _cache) => {
|
|
445
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
502
|
+
return openBlock(), createElementBlock("div", _hoisted_1$4, [
|
|
446
503
|
__props.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
447
504
|
key: 0,
|
|
448
505
|
icon: __props.icon,
|
|
449
506
|
class: "mx-auto mb-4 size-12 text-gray-400 dark:text-gray-500"
|
|
450
507
|
}, null, 8, ["icon"])) : createCommentVNode("", true),
|
|
451
|
-
__props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$
|
|
452
|
-
createElementVNode("p", _hoisted_3$
|
|
508
|
+
__props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$3, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
509
|
+
createElementVNode("p", _hoisted_3$3, [
|
|
453
510
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
454
511
|
createTextVNode(toDisplayString(__props.message), 1)
|
|
455
512
|
])
|
|
456
513
|
]),
|
|
457
|
-
_ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
514
|
+
_ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
|
|
458
515
|
renderSlot(_ctx.$slots, "action")
|
|
459
516
|
])) : createCommentVNode("", true)
|
|
460
517
|
]);
|
|
461
518
|
};
|
|
462
519
|
}
|
|
463
520
|
});
|
|
464
|
-
const _hoisted_1$
|
|
465
|
-
const _hoisted_2$
|
|
521
|
+
const _hoisted_1$3 = { class: "flex-1 min-w-0" };
|
|
522
|
+
const _hoisted_2$2 = {
|
|
466
523
|
key: 0,
|
|
467
524
|
class: "font-medium text-gray-900 dark:text-white"
|
|
468
525
|
};
|
|
469
|
-
const _hoisted_3$
|
|
470
|
-
const _sfc_main$
|
|
526
|
+
const _hoisted_3$2 = { class: "text-sm text-gray-700 dark:text-gray-300" };
|
|
527
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
471
528
|
__name: "Toast",
|
|
472
529
|
props: {
|
|
473
530
|
message: {},
|
|
@@ -518,28 +575,31 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
518
575
|
}, [
|
|
519
576
|
createVNode(unref(Icon), {
|
|
520
577
|
icon: unref(config).icon,
|
|
521
|
-
class: normalizeClass(["size-5 shrink-0", unref(config).iconColor])
|
|
578
|
+
class: normalizeClass(["size-5 shrink-0", unref(config).iconColor]),
|
|
579
|
+
"aria-hidden": "true"
|
|
522
580
|
}, null, 8, ["icon", "class"]),
|
|
523
|
-
createElementVNode("div", _hoisted_1$
|
|
524
|
-
__props.title ? (openBlock(), createElementBlock("p", _hoisted_2$
|
|
525
|
-
createElementVNode("p", _hoisted_3$
|
|
581
|
+
createElementVNode("div", _hoisted_1$3, [
|
|
582
|
+
__props.title ? (openBlock(), createElementBlock("p", _hoisted_2$2, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
583
|
+
createElementVNode("p", _hoisted_3$2, toDisplayString(__props.message), 1)
|
|
526
584
|
]),
|
|
527
585
|
__props.closable ? (openBlock(), createElementBlock("button", {
|
|
528
586
|
key: 0,
|
|
529
587
|
type: "button",
|
|
530
588
|
class: "shrink-0 rounded p-1 text-gray-400 hover:bg-gray-200 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-300",
|
|
589
|
+
"aria-label": "Dismiss notification",
|
|
531
590
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
|
|
532
591
|
}, [
|
|
533
592
|
createVNode(unref(Icon), {
|
|
534
593
|
icon: "lucide:x",
|
|
535
|
-
class: "size-4"
|
|
594
|
+
class: "size-4",
|
|
595
|
+
"aria-hidden": "true"
|
|
536
596
|
})
|
|
537
597
|
])) : createCommentVNode("", true)
|
|
538
598
|
], 2);
|
|
539
599
|
};
|
|
540
600
|
}
|
|
541
601
|
});
|
|
542
|
-
const _sfc_main$
|
|
602
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
543
603
|
__name: "ToastContainer",
|
|
544
604
|
props: {
|
|
545
605
|
toasts: {},
|
|
@@ -570,7 +630,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
570
630
|
return openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
571
631
|
createElementVNode("div", {
|
|
572
632
|
class: normalizeClass(["fixed z-[9999] flex flex-col gap-2 w-full max-w-sm", positionClasses[__props.position]]),
|
|
573
|
-
style: normalizeStyle(topStyle.value)
|
|
633
|
+
style: normalizeStyle(topStyle.value),
|
|
634
|
+
"aria-live": "polite",
|
|
635
|
+
"aria-atomic": "false"
|
|
574
636
|
}, [
|
|
575
637
|
createVNode(TransitionGroup, {
|
|
576
638
|
"enter-active-class": "transition duration-300 ease-out",
|
|
@@ -582,7 +644,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
582
644
|
}, {
|
|
583
645
|
default: withCtx(() => [
|
|
584
646
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.toasts, (toast) => {
|
|
585
|
-
return openBlock(), createBlock(_sfc_main$
|
|
647
|
+
return openBlock(), createBlock(_sfc_main$4, {
|
|
586
648
|
key: toast.id,
|
|
587
649
|
message: toast.message,
|
|
588
650
|
type: toast.type,
|
|
@@ -599,14 +661,14 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
599
661
|
};
|
|
600
662
|
}
|
|
601
663
|
});
|
|
602
|
-
const _hoisted_1$
|
|
603
|
-
const _hoisted_2 = {
|
|
664
|
+
const _hoisted_1$2 = { class: "w-full" };
|
|
665
|
+
const _hoisted_2$1 = {
|
|
604
666
|
key: 0,
|
|
605
667
|
class: "mb-1 flex justify-between text-sm"
|
|
606
668
|
};
|
|
607
|
-
const _hoisted_3 = { class: "font-medium text-gray-900 dark:text-white" };
|
|
608
|
-
const _hoisted_4 = ["aria-valuenow", "aria-valuemax"];
|
|
609
|
-
const _sfc_main$
|
|
669
|
+
const _hoisted_3$1 = { class: "font-medium text-gray-900 dark:text-white" };
|
|
670
|
+
const _hoisted_4$1 = ["aria-valuenow", "aria-valuemax"];
|
|
671
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
610
672
|
__name: "Progress",
|
|
611
673
|
props: {
|
|
612
674
|
value: {},
|
|
@@ -636,10 +698,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
636
698
|
error: "bg-red-500"
|
|
637
699
|
};
|
|
638
700
|
return (_ctx, _cache) => {
|
|
639
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
640
|
-
__props.showLabel && !__props.indeterminate ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
701
|
+
return openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
702
|
+
__props.showLabel && !__props.indeterminate ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
|
|
641
703
|
_cache[0] || (_cache[0] = createElementVNode("span", { class: "text-gray-600 dark:text-gray-400" }, "Progress", -1)),
|
|
642
|
-
createElementVNode("span", _hoisted_3, toDisplayString(Math.round(percentage.value)) + "%", 1)
|
|
704
|
+
createElementVNode("span", _hoisted_3$1, toDisplayString(Math.round(percentage.value)) + "%", 1)
|
|
643
705
|
])) : createCommentVNode("", true),
|
|
644
706
|
createElementVNode("div", {
|
|
645
707
|
class: normalizeClass([
|
|
@@ -661,17 +723,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
661
723
|
]),
|
|
662
724
|
style: normalizeStyle({ width: __props.indeterminate ? "30%" : `${percentage.value}%` })
|
|
663
725
|
}, null, 6)
|
|
664
|
-
], 10, _hoisted_4)
|
|
726
|
+
], 10, _hoisted_4$1)
|
|
665
727
|
]);
|
|
666
728
|
};
|
|
667
729
|
}
|
|
668
730
|
});
|
|
669
|
-
const Progress = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
670
|
-
const _hoisted_1 = {
|
|
731
|
+
const Progress = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-546a3ae5"]]);
|
|
732
|
+
const _hoisted_1$1 = {
|
|
671
733
|
key: 0,
|
|
672
|
-
class: "space-y-2"
|
|
734
|
+
class: "space-y-2",
|
|
735
|
+
"aria-hidden": "true"
|
|
673
736
|
};
|
|
674
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
737
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
675
738
|
__name: "Skeleton",
|
|
676
739
|
props: {
|
|
677
740
|
variant: { default: "text" },
|
|
@@ -688,7 +751,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
688
751
|
rounded: "rounded-lg"
|
|
689
752
|
};
|
|
690
753
|
return (_ctx, _cache) => {
|
|
691
|
-
return __props.variant === "text" && __props.lines > 1 ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
754
|
+
return __props.variant === "text" && __props.lines > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
692
755
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.lines, (i) => {
|
|
693
756
|
return openBlock(), createElementBlock("div", {
|
|
694
757
|
key: i,
|
|
@@ -713,22 +776,121 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
713
776
|
style: normalizeStyle({
|
|
714
777
|
width: __props.width || (__props.variant === "circular" ? "3rem" : "100%"),
|
|
715
778
|
height: __props.height || (__props.variant === "circular" ? "3rem" : __props.variant === "text" ? "1rem" : "6rem")
|
|
716
|
-
})
|
|
779
|
+
}),
|
|
780
|
+
"aria-hidden": "true"
|
|
717
781
|
}, null, 6));
|
|
718
782
|
};
|
|
719
783
|
}
|
|
720
784
|
});
|
|
785
|
+
const _hoisted_1 = { class: "text-center" };
|
|
786
|
+
const _hoisted_2 = { class: "mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800" };
|
|
787
|
+
const _hoisted_3 = { class: "mb-2 text-lg font-semibold text-gray-900 dark:text-gray-100" };
|
|
788
|
+
const _hoisted_4 = { class: "mb-6 text-gray-600 dark:text-gray-400" };
|
|
789
|
+
const _hoisted_5 = { class: "flex justify-center gap-3" };
|
|
790
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
791
|
+
__name: "ConfirmDialog",
|
|
792
|
+
props: {
|
|
793
|
+
open: { type: Boolean, default: false },
|
|
794
|
+
title: { default: "Confirm" },
|
|
795
|
+
message: { default: "Are you sure you want to proceed?" },
|
|
796
|
+
confirmText: { default: "Confirm" },
|
|
797
|
+
cancelText: { default: "Cancel" },
|
|
798
|
+
variant: { default: "info" },
|
|
799
|
+
loading: { type: Boolean, default: false },
|
|
800
|
+
icon: {},
|
|
801
|
+
teleport: { type: [String, Boolean], default: "body" }
|
|
802
|
+
},
|
|
803
|
+
emits: ["confirm", "cancel"],
|
|
804
|
+
setup(__props, { emit: __emit }) {
|
|
805
|
+
const props = __props;
|
|
806
|
+
const emit = __emit;
|
|
807
|
+
const variantConfig = {
|
|
808
|
+
info: {
|
|
809
|
+
icon: "lucide:info",
|
|
810
|
+
iconClass: "text-blue-500",
|
|
811
|
+
buttonVariant: "primary"
|
|
812
|
+
},
|
|
813
|
+
warning: {
|
|
814
|
+
icon: "lucide:alert-triangle",
|
|
815
|
+
iconClass: "text-yellow-500",
|
|
816
|
+
buttonVariant: "primary"
|
|
817
|
+
},
|
|
818
|
+
danger: {
|
|
819
|
+
icon: "lucide:alert-circle",
|
|
820
|
+
iconClass: "text-red-500",
|
|
821
|
+
buttonVariant: "danger"
|
|
822
|
+
},
|
|
823
|
+
success: {
|
|
824
|
+
icon: "lucide:check-circle",
|
|
825
|
+
iconClass: "text-green-500",
|
|
826
|
+
buttonVariant: "success"
|
|
827
|
+
}
|
|
828
|
+
};
|
|
829
|
+
const config = variantConfig[props.variant];
|
|
830
|
+
return (_ctx, _cache) => {
|
|
831
|
+
return __props.open ? (openBlock(), createBlock(_sfc_main$a, {
|
|
832
|
+
key: 0,
|
|
833
|
+
size: "sm",
|
|
834
|
+
"close-on-backdrop": !__props.loading,
|
|
835
|
+
"close-on-escape": !__props.loading,
|
|
836
|
+
teleport: __props.teleport,
|
|
837
|
+
onClose: _cache[2] || (_cache[2] = ($event) => emit("cancel"))
|
|
838
|
+
}, {
|
|
839
|
+
default: withCtx(() => [
|
|
840
|
+
createElementVNode("div", _hoisted_1, [
|
|
841
|
+
createElementVNode("div", _hoisted_2, [
|
|
842
|
+
createVNode(unref(Icon), {
|
|
843
|
+
icon: __props.icon || unref(config).icon,
|
|
844
|
+
class: normalizeClass([unref(config).iconClass, "h-8 w-8"])
|
|
845
|
+
}, null, 8, ["icon", "class"])
|
|
846
|
+
]),
|
|
847
|
+
createElementVNode("h3", _hoisted_3, toDisplayString(__props.title), 1),
|
|
848
|
+
createElementVNode("p", _hoisted_4, [
|
|
849
|
+
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
850
|
+
createTextVNode(toDisplayString(__props.message), 1)
|
|
851
|
+
])
|
|
852
|
+
]),
|
|
853
|
+
createElementVNode("div", _hoisted_5, [
|
|
854
|
+
createVNode(_sfc_main$c, {
|
|
855
|
+
variant: "outline",
|
|
856
|
+
disabled: __props.loading,
|
|
857
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("cancel"))
|
|
858
|
+
}, {
|
|
859
|
+
default: withCtx(() => [
|
|
860
|
+
createTextVNode(toDisplayString(__props.cancelText), 1)
|
|
861
|
+
]),
|
|
862
|
+
_: 1
|
|
863
|
+
}, 8, ["disabled"]),
|
|
864
|
+
createVNode(_sfc_main$c, {
|
|
865
|
+
variant: unref(config).buttonVariant,
|
|
866
|
+
loading: __props.loading,
|
|
867
|
+
onClick: _cache[1] || (_cache[1] = ($event) => emit("confirm"))
|
|
868
|
+
}, {
|
|
869
|
+
default: withCtx(() => [
|
|
870
|
+
createTextVNode(toDisplayString(__props.confirmText), 1)
|
|
871
|
+
]),
|
|
872
|
+
_: 1
|
|
873
|
+
}, 8, ["variant", "loading"])
|
|
874
|
+
])
|
|
875
|
+
])
|
|
876
|
+
]),
|
|
877
|
+
_: 3
|
|
878
|
+
}, 8, ["close-on-backdrop", "close-on-escape", "teleport"])) : createCommentVNode("", true);
|
|
879
|
+
};
|
|
880
|
+
}
|
|
881
|
+
});
|
|
721
882
|
export {
|
|
722
883
|
Progress as P,
|
|
723
|
-
_sfc_main$
|
|
724
|
-
_sfc_main$
|
|
725
|
-
_sfc_main$
|
|
726
|
-
_sfc_main$
|
|
727
|
-
_sfc_main$
|
|
728
|
-
_sfc_main$
|
|
729
|
-
_sfc_main$
|
|
730
|
-
_sfc_main$
|
|
731
|
-
_sfc_main$
|
|
732
|
-
_sfc_main as i
|
|
884
|
+
_sfc_main$b as _,
|
|
885
|
+
_sfc_main$a as a,
|
|
886
|
+
_sfc_main$9 as b,
|
|
887
|
+
_sfc_main$8 as c,
|
|
888
|
+
_sfc_main$7 as d,
|
|
889
|
+
_sfc_main$6 as e,
|
|
890
|
+
_sfc_main$5 as f,
|
|
891
|
+
_sfc_main$4 as g,
|
|
892
|
+
_sfc_main$3 as h,
|
|
893
|
+
_sfc_main$1 as i,
|
|
894
|
+
_sfc_main as j
|
|
733
895
|
};
|
|
734
|
-
//# sourceMappingURL=
|
|
896
|
+
//# sourceMappingURL=ConfirmDialog.vue_vue_type_script_setup_true_lang-Dm4kLAnr.js.map
|