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