cisse-vue-ui 0.2.7 → 0.3.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/README.md +666 -664
- package/dist/{Switch.vue_vue_type_script_setup_true_lang-dRPxDu8I.js → DatePicker.vue_vue_type_script_setup_true_lang-DgGJ5-8v.js} +372 -60
- package/dist/DatePicker.vue_vue_type_script_setup_true_lang-DgGJ5-8v.js.map +1 -0
- package/dist/{Switch.vue_vue_type_script_setup_true_lang-wRTWorCd.cjs → DatePicker.vue_vue_type_script_setup_true_lang-qux1VNn0.cjs} +371 -59
- package/dist/DatePicker.vue_vue_type_script_setup_true_lang-qux1VNn0.cjs.map +1 -0
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-B9DsCY8M.js.map +1 -1
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-nMP2OxXp.cjs.map +1 -1
- package/dist/PageLayout.vue_vue_type_script_setup_true_lang-Bnw5L-xO.cjs.map +1 -1
- package/dist/PageLayout.vue_vue_type_script_setup_true_lang-D8uD3-Fe.js.map +1 -1
- package/dist/{CollapsibleCard.vue_vue_type_script_setup_true_lang-Y1wvT4aS.js → Popover.vue_vue_type_script_setup_true_lang-Q7gRZsT9.js} +203 -43
- package/dist/Popover.vue_vue_type_script_setup_true_lang-Q7gRZsT9.js.map +1 -0
- package/dist/{CollapsibleCard.vue_vue_type_script_setup_true_lang-ClNZxjzF.cjs → Popover.vue_vue_type_script_setup_true_lang-dvlDTcf1.cjs} +191 -31
- package/dist/Popover.vue_vue_type_script_setup_true_lang-dvlDTcf1.cjs.map +1 -0
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-mlqLBP5W.cjs → Skeleton.vue_vue_type_script_setup_true_lang-D2S5g9s5.cjs} +325 -72
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-D2S5g9s5.cjs.map +1 -0
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-CrVvFwXA.js → Skeleton.vue_vue_type_script_setup_true_lang-DRC4EADS.js} +326 -73
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-DRC4EADS.js.map +1 -0
- package/dist/_plugin-vue_export-helper-1tPrXgE0.js +11 -0
- package/dist/_plugin-vue_export-helper-1tPrXgE0.js.map +1 -0
- package/dist/_plugin-vue_export-helper-DM9IkUGy.cjs +10 -0
- package/dist/_plugin-vue_export-helper-DM9IkUGy.cjs.map +1 -0
- package/dist/cisse-vue-ui.css +83 -0
- package/dist/components/core/Avatar.stories.d.ts +12 -0
- package/dist/components/core/Button.stories.d.ts +18 -0
- package/dist/components/core/CardComponent.stories.d.ts +10 -0
- package/dist/components/core/CollapsibleCard.stories.d.ts +10 -0
- package/dist/components/core/Dropdown.stories.d.ts +11 -0
- package/dist/components/core/Popover.stories.d.ts +10 -0
- package/dist/components/core/Popover.vue.d.ts +42 -0
- package/dist/components/core/StatusBadge.stories.d.ts +13 -0
- package/dist/components/core/Stepper.stories.d.ts +12 -0
- package/dist/components/core/Tabs.stories.d.ts +10 -0
- package/dist/components/core/Tooltip.stories.d.ts +10 -0
- package/dist/components/core/Tooltip.vue.d.ts +32 -0
- package/dist/components/core/index.cjs +15 -13
- package/dist/components/core/index.cjs.map +1 -1
- package/dist/components/core/index.d.ts +4 -0
- package/dist/components/core/index.js +4 -2
- package/dist/components/feedback/Alert.stories.d.ts +13 -0
- package/dist/components/feedback/EmptyState.stories.d.ts +13 -0
- package/dist/components/feedback/LoadingSpinner.stories.d.ts +11 -0
- package/dist/components/feedback/Modal.stories.d.ts +11 -0
- package/dist/components/feedback/PaginationControls.stories.d.ts +12 -0
- package/dist/components/feedback/Progress.stories.d.ts +14 -0
- package/dist/components/feedback/Progress.vue.d.ts +30 -0
- package/dist/components/feedback/Skeleton.stories.d.ts +15 -0
- package/dist/components/feedback/Skeleton.vue.d.ts +19 -0
- package/dist/components/feedback/Toast.stories.d.ts +12 -0
- package/dist/components/feedback/Toast.vue.d.ts +23 -0
- package/dist/components/feedback/ToastContainer.vue.d.ts +22 -0
- package/dist/components/feedback/index.cjs +12 -8
- package/dist/components/feedback/index.cjs.map +1 -1
- package/dist/components/feedback/index.d.ts +8 -0
- package/dist/components/feedback/index.js +6 -2
- package/dist/components/form/Checkbox.stories.d.ts +13 -0
- package/dist/components/form/DatePicker.stories.d.ts +15 -0
- package/dist/components/form/DatePicker.vue.d.ts +34 -0
- package/dist/components/form/FormGroup.stories.d.ts +10 -0
- package/dist/components/form/FormInput.stories.d.ts +12 -0
- package/dist/components/form/FormSelect.stories.d.ts +11 -0
- package/dist/components/form/Slider.stories.d.ts +13 -0
- package/dist/components/form/Slider.vue.d.ts +29 -0
- package/dist/components/form/Switch.stories.d.ts +11 -0
- package/dist/components/form/index.cjs +10 -8
- 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 +37 -29
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +12 -4
- package/dist/components/layout/BaseLayout.stories.d.ts +9 -0
- package/dist/components/layout/BaseLayout.vue.d.ts +1 -1
- package/dist/components/layout/PageLayout.stories.d.ts +10 -0
- package/dist/components/type/BadgeType.stories.d.ts +13 -0
- package/dist/components/type/BooleanType.stories.d.ts +12 -0
- package/dist/components/type/DateType.stories.d.ts +12 -0
- package/dist/components/type/NumberType.stories.d.ts +11 -0
- package/dist/components/type/TextType.stories.d.ts +10 -0
- package/dist/composables/index.cjs +7 -6
- package/dist/composables/index.cjs.map +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +3 -2
- package/dist/composables/useToast.d.ts +30 -0
- package/dist/index-BQtfDfYo.js +59 -0
- package/dist/index-BQtfDfYo.js.map +1 -0
- package/dist/index-CzzlUYhY.cjs +58 -0
- package/dist/index-CzzlUYhY.cjs.map +1 -0
- package/dist/index.cjs +45 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +15 -6
- package/dist/style.css +1 -1
- package/dist/useDropdown-DHFnd259.cjs.map +1 -1
- package/dist/useDropdown-iVu14E6s.js.map +1 -1
- package/dist/{useModal-Aq8hn152.js → useToast-DT9hFfpM.js} +49 -1
- package/dist/useToast-DT9hFfpM.js.map +1 -0
- package/dist/{useModal-DDF_ZS8C.cjs → useToast-nJXpFz_M.cjs} +49 -1
- package/dist/useToast-nJXpFz_M.cjs.map +1 -0
- package/package.json +21 -2
- package/dist/CollapsibleCard.vue_vue_type_script_setup_true_lang-ClNZxjzF.cjs.map +0 -1
- package/dist/CollapsibleCard.vue_vue_type_script_setup_true_lang-Y1wvT4aS.js.map +0 -1
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-CrVvFwXA.js.map +0 -1
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-mlqLBP5W.cjs.map +0 -1
- package/dist/Switch.vue_vue_type_script_setup_true_lang-dRPxDu8I.js.map +0 -1
- package/dist/Switch.vue_vue_type_script_setup_true_lang-wRTWorCd.cjs.map +0 -1
- package/dist/index-CCWZb44b.cjs +0 -50
- package/dist/index-CCWZb44b.cjs.map +0 -1
- package/dist/index-RD8wq3O6.js +0 -51
- package/dist/index-RD8wq3O6.js.map +0 -1
- package/dist/useModal-Aq8hn152.js.map +0 -1
- package/dist/useModal-DDF_ZS8C.cjs.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { defineComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, toDisplayString, onMounted, onUnmounted, withModifiers, renderSlot, createTextVNode, createVNode, unref, Fragment, renderList, computed, createBlock } from "vue";
|
|
1
|
+
import { defineComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, toDisplayString, onMounted, onUnmounted, withModifiers, renderSlot, createTextVNode, createVNode, unref, Fragment, renderList, computed, createBlock, Teleport, TransitionGroup, withCtx, normalizeStyle } from "vue";
|
|
2
2
|
import { Icon } from "@iconify/vue";
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
3
|
+
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
|
|
4
|
+
const _hoisted_1$9 = { class: "flex items-center justify-center py-12" };
|
|
5
|
+
const _hoisted_2$7 = { class: "text-center" };
|
|
6
|
+
const _hoisted_3$7 = {
|
|
6
7
|
key: 0,
|
|
7
8
|
class: "mt-4 text-gray-600 dark:text-gray-400"
|
|
8
9
|
};
|
|
9
|
-
const _sfc_main$
|
|
10
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
10
11
|
__name: "LoadingSpinner",
|
|
11
12
|
props: {
|
|
12
13
|
text: {},
|
|
@@ -19,29 +20,29 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
19
20
|
lg: "h-16 w-16"
|
|
20
21
|
};
|
|
21
22
|
return (_ctx, _cache) => {
|
|
22
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
23
|
-
createElementVNode("div", _hoisted_2$
|
|
23
|
+
return openBlock(), createElementBlock("div", _hoisted_1$9, [
|
|
24
|
+
createElementVNode("div", _hoisted_2$7, [
|
|
24
25
|
createElementVNode("div", {
|
|
25
26
|
class: normalizeClass([sizeClasses[__props.size], "border-primary inline-block animate-spin rounded-full border-4 border-solid border-r-transparent"])
|
|
26
27
|
}, null, 2),
|
|
27
|
-
__props.text ? (openBlock(), createElementBlock("p", _hoisted_3$
|
|
28
|
+
__props.text ? (openBlock(), createElementBlock("p", _hoisted_3$7, toDisplayString(__props.text), 1)) : createCommentVNode("", true)
|
|
28
29
|
])
|
|
29
30
|
]);
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
});
|
|
33
|
-
const _hoisted_1$
|
|
34
|
+
const _hoisted_1$8 = {
|
|
34
35
|
key: 0,
|
|
35
36
|
class: "flex items-center justify-between border-b border-gray-200 px-6 py-4 dark:border-gray-700"
|
|
36
37
|
};
|
|
37
|
-
const _hoisted_2$
|
|
38
|
-
const _hoisted_3$
|
|
39
|
-
const _hoisted_4$
|
|
38
|
+
const _hoisted_2$6 = { class: "text-xl font-semibold text-gray-900 dark:text-gray-100" };
|
|
39
|
+
const _hoisted_3$6 = { class: "sr-only" };
|
|
40
|
+
const _hoisted_4$4 = { class: "flex-1 overflow-y-auto px-6 py-4" };
|
|
40
41
|
const _hoisted_5$1 = {
|
|
41
42
|
key: 1,
|
|
42
43
|
class: "flex items-center justify-end gap-3 border-t border-gray-200 px-6 py-4 dark:border-gray-700"
|
|
43
44
|
};
|
|
44
|
-
const _sfc_main$
|
|
45
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
45
46
|
__name: "Modal",
|
|
46
47
|
props: {
|
|
47
48
|
title: { default: "" },
|
|
@@ -86,8 +87,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
86
87
|
createElementVNode("div", {
|
|
87
88
|
class: normalizeClass([sizeClasses[__props.size], "flex max-h-[90vh] w-full flex-col rounded-lg bg-white shadow-xl dark:bg-gray-900"])
|
|
88
89
|
}, [
|
|
89
|
-
__props.title || _ctx.$slots.header || _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
90
|
-
createElementVNode("h3", _hoisted_2$
|
|
90
|
+
__props.title || _ctx.$slots.header || _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
|
|
91
|
+
createElementVNode("h3", _hoisted_2$6, [
|
|
91
92
|
renderSlot(_ctx.$slots, "header", {}, () => [
|
|
92
93
|
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
93
94
|
createTextVNode(toDisplayString(__props.title), 1)
|
|
@@ -103,10 +104,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
103
104
|
class: "h-5 w-5",
|
|
104
105
|
icon: "lucide:x"
|
|
105
106
|
}),
|
|
106
|
-
createElementVNode("span", _hoisted_3$
|
|
107
|
+
createElementVNode("span", _hoisted_3$6, toDisplayString(__props.closeButtonLabel), 1)
|
|
107
108
|
])
|
|
108
109
|
])) : createCommentVNode("", true),
|
|
109
|
-
createElementVNode("div", _hoisted_4$
|
|
110
|
+
createElementVNode("div", _hoisted_4$4, [
|
|
110
111
|
renderSlot(_ctx.$slots, "default")
|
|
111
112
|
]),
|
|
112
113
|
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
|
|
@@ -117,26 +118,28 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
117
118
|
};
|
|
118
119
|
}
|
|
119
120
|
});
|
|
120
|
-
const _hoisted_1$
|
|
121
|
+
const _hoisted_1$7 = {
|
|
121
122
|
key: 0,
|
|
122
|
-
class: "flex items-center justify-between border-t border-gray-200 px-6 py-4 dark:border-gray-700"
|
|
123
|
+
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"
|
|
123
124
|
};
|
|
124
|
-
const _hoisted_2$
|
|
125
|
-
const _hoisted_3$
|
|
126
|
-
const _hoisted_4$
|
|
125
|
+
const _hoisted_2$5 = { class: "flex flex-col sm:flex-row sm:items-center gap-3 sm:gap-4" };
|
|
126
|
+
const _hoisted_3$5 = { class: "text-sm text-gray-700 dark:text-gray-300 text-center sm:text-left" };
|
|
127
|
+
const _hoisted_4$3 = {
|
|
127
128
|
key: 0,
|
|
128
|
-
class: "flex items-center gap-2"
|
|
129
|
+
class: "flex items-center justify-center sm:justify-start gap-2"
|
|
129
130
|
};
|
|
130
131
|
const _hoisted_5 = {
|
|
131
|
-
class: "text-sm text-gray-600 dark:text-gray-400",
|
|
132
|
+
class: "text-sm text-gray-600 dark:text-gray-400 hidden sm:inline",
|
|
132
133
|
for: "page-size"
|
|
133
134
|
};
|
|
134
135
|
const _hoisted_6 = ["value"];
|
|
135
136
|
const _hoisted_7 = ["value"];
|
|
136
|
-
const _hoisted_8 = { class: "flex gap-2" };
|
|
137
|
+
const _hoisted_8 = { class: "flex justify-center sm:justify-end gap-2" };
|
|
137
138
|
const _hoisted_9 = ["disabled"];
|
|
138
|
-
const _hoisted_10 =
|
|
139
|
-
const
|
|
139
|
+
const _hoisted_10 = { class: "hidden sm:inline" };
|
|
140
|
+
const _hoisted_11 = ["disabled"];
|
|
141
|
+
const _hoisted_12 = { class: "hidden sm:inline" };
|
|
142
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
140
143
|
__name: "PaginationControls",
|
|
141
144
|
props: {
|
|
142
145
|
currentPage: {},
|
|
@@ -164,10 +167,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
164
167
|
emit("update:pageSize", Number(target.value));
|
|
165
168
|
};
|
|
166
169
|
return (_ctx, _cache) => {
|
|
167
|
-
return __props.totalPages > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
168
|
-
createElementVNode("div", _hoisted_2$
|
|
169
|
-
createElementVNode("div", _hoisted_3$
|
|
170
|
-
__props.showPageSize ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
170
|
+
return __props.totalPages > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
171
|
+
createElementVNode("div", _hoisted_2$5, [
|
|
172
|
+
createElementVNode("div", _hoisted_3$5, toDisplayString(__props.pageLabel) + " " + toDisplayString(__props.currentPage) + " " + toDisplayString(__props.ofLabel) + " " + toDisplayString(__props.totalPages), 1),
|
|
173
|
+
__props.showPageSize ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
|
|
171
174
|
createElementVNode("label", _hoisted_5, toDisplayString(__props.itemsPerPageLabel), 1),
|
|
172
175
|
createElementVNode("select", {
|
|
173
176
|
id: "page-size",
|
|
@@ -187,42 +190,42 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
187
190
|
createElementVNode("div", _hoisted_8, [
|
|
188
191
|
createElementVNode("button", {
|
|
189
192
|
disabled: __props.currentPage === 1 || __props.loading,
|
|
190
|
-
class: "focus:ring-primary inline-flex items-center gap-1 rounded-lg border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",
|
|
193
|
+
class: "focus:ring-primary inline-flex items-center gap-1 rounded-lg border border-gray-300 bg-white px-3 sm:px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",
|
|
191
194
|
onClick: _cache[0] || (_cache[0] = ($event) => changePage(__props.currentPage - 1))
|
|
192
195
|
}, [
|
|
193
196
|
createVNode(unref(Icon), {
|
|
194
197
|
class: "h-4 w-4",
|
|
195
198
|
icon: "lucide:chevron-left"
|
|
196
199
|
}),
|
|
197
|
-
|
|
200
|
+
createElementVNode("span", _hoisted_10, toDisplayString(__props.previousLabel), 1)
|
|
198
201
|
], 8, _hoisted_9),
|
|
199
202
|
createElementVNode("button", {
|
|
200
203
|
disabled: __props.currentPage === __props.totalPages || __props.loading,
|
|
201
|
-
class: "focus:ring-primary inline-flex items-center gap-1 rounded-lg border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",
|
|
204
|
+
class: "focus:ring-primary inline-flex items-center gap-1 rounded-lg border border-gray-300 bg-white px-3 sm:px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",
|
|
202
205
|
onClick: _cache[1] || (_cache[1] = ($event) => changePage(__props.currentPage + 1))
|
|
203
206
|
}, [
|
|
204
|
-
|
|
207
|
+
createElementVNode("span", _hoisted_12, toDisplayString(__props.nextLabel), 1),
|
|
205
208
|
createVNode(unref(Icon), {
|
|
206
209
|
class: "h-4 w-4",
|
|
207
210
|
icon: "lucide:chevron-right"
|
|
208
211
|
})
|
|
209
|
-
], 8,
|
|
212
|
+
], 8, _hoisted_11)
|
|
210
213
|
])
|
|
211
214
|
])) : createCommentVNode("", true);
|
|
212
215
|
};
|
|
213
216
|
}
|
|
214
217
|
});
|
|
215
|
-
const _hoisted_1$
|
|
216
|
-
const _hoisted_2$
|
|
217
|
-
const _hoisted_3$
|
|
218
|
+
const _hoisted_1$6 = { 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" };
|
|
219
|
+
const _hoisted_2$4 = { class: "flex min-w-0 flex-1 flex-col" };
|
|
220
|
+
const _hoisted_3$4 = {
|
|
218
221
|
key: 0,
|
|
219
222
|
class: "text-sm font-semibold text-gray-900 dark:text-gray-100"
|
|
220
223
|
};
|
|
221
|
-
const _hoisted_4$
|
|
224
|
+
const _hoisted_4$2 = {
|
|
222
225
|
key: 1,
|
|
223
226
|
class: "mt-1 text-sm text-gray-600 dark:text-gray-400"
|
|
224
227
|
};
|
|
225
|
-
const _sfc_main$
|
|
228
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
226
229
|
__name: "NotificationComponent",
|
|
227
230
|
props: {
|
|
228
231
|
notification: {},
|
|
@@ -289,7 +292,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
289
292
|
}
|
|
290
293
|
});
|
|
291
294
|
return (_ctx, _cache) => {
|
|
292
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
295
|
+
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
293
296
|
createElementVNode("div", {
|
|
294
297
|
class: normalizeClass([bgColor.value, "flex items-center justify-center rounded-full p-2"])
|
|
295
298
|
}, [
|
|
@@ -298,9 +301,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
298
301
|
icon: iconName.value
|
|
299
302
|
}, null, 8, ["class", "icon"])
|
|
300
303
|
], 2),
|
|
301
|
-
createElementVNode("div", _hoisted_2$
|
|
302
|
-
__props.notification.title ? (openBlock(), createElementBlock("h4", _hoisted_3$
|
|
303
|
-
__props.notification.message ? (openBlock(), createElementBlock("p", _hoisted_4$
|
|
304
|
+
createElementVNode("div", _hoisted_2$4, [
|
|
305
|
+
__props.notification.title ? (openBlock(), createElementBlock("h4", _hoisted_3$4, toDisplayString(__props.notification.title), 1)) : createCommentVNode("", true),
|
|
306
|
+
__props.notification.message ? (openBlock(), createElementBlock("p", _hoisted_4$2, toDisplayString(__props.notification.message), 1)) : createCommentVNode("", true)
|
|
304
307
|
]),
|
|
305
308
|
createElementVNode("button", {
|
|
306
309
|
class: "shrink-0 text-gray-400 transition-colors hover:text-gray-600 dark:text-gray-600 dark:hover:text-gray-400",
|
|
@@ -315,8 +318,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
315
318
|
};
|
|
316
319
|
}
|
|
317
320
|
});
|
|
318
|
-
const _hoisted_1$
|
|
319
|
-
const _sfc_main$
|
|
321
|
+
const _hoisted_1$5 = { class: "fixed top-5 right-5 z-50 flex flex-col gap-3" };
|
|
322
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
320
323
|
__name: "NotificationList",
|
|
321
324
|
props: {
|
|
322
325
|
notifications: {},
|
|
@@ -327,9 +330,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
327
330
|
setup(__props, { emit: __emit }) {
|
|
328
331
|
const emit = __emit;
|
|
329
332
|
return (_ctx, _cache) => {
|
|
330
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
333
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
331
334
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.notifications, (notification) => {
|
|
332
|
-
return openBlock(), createBlock(_sfc_main$
|
|
335
|
+
return openBlock(), createBlock(_sfc_main$7, {
|
|
333
336
|
key: notification.id,
|
|
334
337
|
notification,
|
|
335
338
|
"auto-dismiss": __props.autoDismiss,
|
|
@@ -341,13 +344,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
341
344
|
};
|
|
342
345
|
}
|
|
343
346
|
});
|
|
344
|
-
const _hoisted_1$
|
|
345
|
-
const _hoisted_2$
|
|
347
|
+
const _hoisted_1$4 = { class: "flex-1" };
|
|
348
|
+
const _hoisted_2$3 = {
|
|
346
349
|
key: 0,
|
|
347
350
|
class: "mb-1 font-medium text-gray-900 dark:text-white"
|
|
348
351
|
};
|
|
349
|
-
const _hoisted_3$
|
|
350
|
-
const _sfc_main$
|
|
352
|
+
const _hoisted_3$3 = { class: "text-sm text-gray-700 dark:text-gray-300" };
|
|
353
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
351
354
|
__name: "Alert",
|
|
352
355
|
props: {
|
|
353
356
|
variant: { default: "info" },
|
|
@@ -399,9 +402,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
399
402
|
icon: __props.icon || unref(styles).icon,
|
|
400
403
|
class: normalizeClass(["size-5 shrink-0", unref(styles).iconColor])
|
|
401
404
|
}, null, 8, ["icon", "class"]),
|
|
402
|
-
createElementVNode("div", _hoisted_1$
|
|
403
|
-
__props.title ? (openBlock(), createElementBlock("h4", _hoisted_2$
|
|
404
|
-
createElementVNode("div", _hoisted_3$
|
|
405
|
+
createElementVNode("div", _hoisted_1$4, [
|
|
406
|
+
__props.title ? (openBlock(), createElementBlock("h4", _hoisted_2$3, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
407
|
+
createElementVNode("div", _hoisted_3$3, [
|
|
405
408
|
renderSlot(_ctx.$slots, "default")
|
|
406
409
|
])
|
|
407
410
|
]),
|
|
@@ -420,17 +423,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
420
423
|
};
|
|
421
424
|
}
|
|
422
425
|
});
|
|
423
|
-
const _hoisted_1 = { class: "py-12 text-center" };
|
|
424
|
-
const _hoisted_2 = {
|
|
426
|
+
const _hoisted_1$3 = { class: "py-12 text-center" };
|
|
427
|
+
const _hoisted_2$2 = {
|
|
425
428
|
key: 1,
|
|
426
429
|
class: "mb-2 text-lg font-medium text-gray-900 dark:text-white"
|
|
427
430
|
};
|
|
428
|
-
const _hoisted_3 = { class: "text-gray-500 dark:text-gray-400" };
|
|
429
|
-
const _hoisted_4 = {
|
|
431
|
+
const _hoisted_3$2 = { class: "text-gray-500 dark:text-gray-400" };
|
|
432
|
+
const _hoisted_4$1 = {
|
|
430
433
|
key: 2,
|
|
431
434
|
class: "mt-4"
|
|
432
435
|
};
|
|
433
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
436
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
434
437
|
__name: "EmptyState",
|
|
435
438
|
props: {
|
|
436
439
|
message: { default: "No results found" },
|
|
@@ -439,32 +442,282 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
439
442
|
},
|
|
440
443
|
setup(__props) {
|
|
441
444
|
return (_ctx, _cache) => {
|
|
442
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
445
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
443
446
|
__props.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
444
447
|
key: 0,
|
|
445
448
|
icon: __props.icon,
|
|
446
449
|
class: "mx-auto mb-4 size-12 text-gray-400 dark:text-gray-500"
|
|
447
450
|
}, null, 8, ["icon"])) : createCommentVNode("", true),
|
|
448
|
-
__props.title ? (openBlock(), createElementBlock("h3", _hoisted_2, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
449
|
-
createElementVNode("p", _hoisted_3, [
|
|
451
|
+
__props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$2, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
452
|
+
createElementVNode("p", _hoisted_3$2, [
|
|
450
453
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
451
454
|
createTextVNode(toDisplayString(__props.message), 1)
|
|
452
455
|
])
|
|
453
456
|
]),
|
|
454
|
-
_ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
457
|
+
_ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
|
|
455
458
|
renderSlot(_ctx.$slots, "action")
|
|
456
459
|
])) : createCommentVNode("", true)
|
|
457
460
|
]);
|
|
458
461
|
};
|
|
459
462
|
}
|
|
460
463
|
});
|
|
464
|
+
const _hoisted_1$2 = { class: "flex-1 min-w-0" };
|
|
465
|
+
const _hoisted_2$1 = {
|
|
466
|
+
key: 0,
|
|
467
|
+
class: "font-medium text-gray-900 dark:text-white"
|
|
468
|
+
};
|
|
469
|
+
const _hoisted_3$1 = { class: "text-sm text-gray-700 dark:text-gray-300" };
|
|
470
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
471
|
+
__name: "Toast",
|
|
472
|
+
props: {
|
|
473
|
+
message: {},
|
|
474
|
+
type: { default: "info" },
|
|
475
|
+
title: {},
|
|
476
|
+
closable: { type: Boolean, default: true },
|
|
477
|
+
duration: { default: 5e3 }
|
|
478
|
+
},
|
|
479
|
+
emits: ["close"],
|
|
480
|
+
setup(__props, { emit: __emit }) {
|
|
481
|
+
const props = __props;
|
|
482
|
+
const emit = __emit;
|
|
483
|
+
const typeConfig = {
|
|
484
|
+
success: {
|
|
485
|
+
icon: "lucide:check-circle",
|
|
486
|
+
bg: "bg-green-50 border-green-200 dark:bg-green-900/20 dark:border-green-800",
|
|
487
|
+
iconColor: "text-green-500"
|
|
488
|
+
},
|
|
489
|
+
error: {
|
|
490
|
+
icon: "lucide:x-circle",
|
|
491
|
+
bg: "bg-red-50 border-red-200 dark:bg-red-900/20 dark:border-red-800",
|
|
492
|
+
iconColor: "text-red-500"
|
|
493
|
+
},
|
|
494
|
+
warning: {
|
|
495
|
+
icon: "lucide:alert-triangle",
|
|
496
|
+
bg: "bg-yellow-50 border-yellow-200 dark:bg-yellow-900/20 dark:border-yellow-800",
|
|
497
|
+
iconColor: "text-yellow-500"
|
|
498
|
+
},
|
|
499
|
+
info: {
|
|
500
|
+
icon: "lucide:info",
|
|
501
|
+
bg: "bg-blue-50 border-blue-200 dark:bg-blue-900/20 dark:border-blue-800",
|
|
502
|
+
iconColor: "text-blue-500"
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
const config = typeConfig[props.type];
|
|
506
|
+
if (props.duration > 0) {
|
|
507
|
+
setTimeout(() => {
|
|
508
|
+
emit("close");
|
|
509
|
+
}, props.duration);
|
|
510
|
+
}
|
|
511
|
+
return (_ctx, _cache) => {
|
|
512
|
+
return openBlock(), createElementBlock("div", {
|
|
513
|
+
class: normalizeClass([
|
|
514
|
+
"flex items-start gap-3 rounded-lg border p-4 shadow-lg",
|
|
515
|
+
unref(config).bg
|
|
516
|
+
]),
|
|
517
|
+
role: "alert"
|
|
518
|
+
}, [
|
|
519
|
+
createVNode(unref(Icon), {
|
|
520
|
+
icon: unref(config).icon,
|
|
521
|
+
class: normalizeClass(["size-5 shrink-0", unref(config).iconColor])
|
|
522
|
+
}, null, 8, ["icon", "class"]),
|
|
523
|
+
createElementVNode("div", _hoisted_1$2, [
|
|
524
|
+
__props.title ? (openBlock(), createElementBlock("p", _hoisted_2$1, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
525
|
+
createElementVNode("p", _hoisted_3$1, toDisplayString(__props.message), 1)
|
|
526
|
+
]),
|
|
527
|
+
__props.closable ? (openBlock(), createElementBlock("button", {
|
|
528
|
+
key: 0,
|
|
529
|
+
type: "button",
|
|
530
|
+
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",
|
|
531
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
|
|
532
|
+
}, [
|
|
533
|
+
createVNode(unref(Icon), {
|
|
534
|
+
icon: "lucide:x",
|
|
535
|
+
class: "size-4"
|
|
536
|
+
})
|
|
537
|
+
])) : createCommentVNode("", true)
|
|
538
|
+
], 2);
|
|
539
|
+
};
|
|
540
|
+
}
|
|
541
|
+
});
|
|
542
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
543
|
+
__name: "ToastContainer",
|
|
544
|
+
props: {
|
|
545
|
+
toasts: {},
|
|
546
|
+
position: { default: "top-right" }
|
|
547
|
+
},
|
|
548
|
+
emits: ["close"],
|
|
549
|
+
setup(__props, { emit: __emit }) {
|
|
550
|
+
const emit = __emit;
|
|
551
|
+
const positionClasses = {
|
|
552
|
+
"top-right": "top-4 right-4",
|
|
553
|
+
"top-left": "top-4 left-4",
|
|
554
|
+
"bottom-right": "bottom-4 right-4",
|
|
555
|
+
"bottom-left": "bottom-4 left-4",
|
|
556
|
+
"top-center": "top-4 left-1/2 -translate-x-1/2",
|
|
557
|
+
"bottom-center": "bottom-4 left-1/2 -translate-x-1/2"
|
|
558
|
+
};
|
|
559
|
+
return (_ctx, _cache) => {
|
|
560
|
+
return openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
561
|
+
createElementVNode("div", {
|
|
562
|
+
class: normalizeClass(["fixed z-[9999] flex flex-col gap-2 w-full max-w-sm", positionClasses[__props.position]])
|
|
563
|
+
}, [
|
|
564
|
+
createVNode(TransitionGroup, {
|
|
565
|
+
"enter-active-class": "transition duration-300 ease-out",
|
|
566
|
+
"enter-from-class": "opacity-0 translate-x-4",
|
|
567
|
+
"enter-to-class": "opacity-100 translate-x-0",
|
|
568
|
+
"leave-active-class": "transition duration-200 ease-in",
|
|
569
|
+
"leave-from-class": "opacity-100 translate-x-0",
|
|
570
|
+
"leave-to-class": "opacity-0 translate-x-4"
|
|
571
|
+
}, {
|
|
572
|
+
default: withCtx(() => [
|
|
573
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.toasts, (toast) => {
|
|
574
|
+
return openBlock(), createBlock(_sfc_main$3, {
|
|
575
|
+
key: toast.id,
|
|
576
|
+
message: toast.message,
|
|
577
|
+
type: toast.type,
|
|
578
|
+
title: toast.title,
|
|
579
|
+
duration: toast.duration,
|
|
580
|
+
onClose: ($event) => emit("close", toast.id)
|
|
581
|
+
}, null, 8, ["message", "type", "title", "duration", "onClose"]);
|
|
582
|
+
}), 128))
|
|
583
|
+
]),
|
|
584
|
+
_: 1
|
|
585
|
+
})
|
|
586
|
+
], 2)
|
|
587
|
+
]);
|
|
588
|
+
};
|
|
589
|
+
}
|
|
590
|
+
});
|
|
591
|
+
const _hoisted_1$1 = { class: "w-full" };
|
|
592
|
+
const _hoisted_2 = {
|
|
593
|
+
key: 0,
|
|
594
|
+
class: "mb-1 flex justify-between text-sm"
|
|
595
|
+
};
|
|
596
|
+
const _hoisted_3 = { class: "font-medium text-gray-900 dark:text-white" };
|
|
597
|
+
const _hoisted_4 = ["aria-valuenow", "aria-valuemax"];
|
|
598
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
599
|
+
__name: "Progress",
|
|
600
|
+
props: {
|
|
601
|
+
value: {},
|
|
602
|
+
max: { default: 100 },
|
|
603
|
+
size: { default: "md" },
|
|
604
|
+
variant: { default: "default" },
|
|
605
|
+
showLabel: { type: Boolean, default: false },
|
|
606
|
+
striped: { type: Boolean, default: false },
|
|
607
|
+
animated: { type: Boolean, default: false },
|
|
608
|
+
indeterminate: { type: Boolean, default: false }
|
|
609
|
+
},
|
|
610
|
+
setup(__props) {
|
|
611
|
+
const props = __props;
|
|
612
|
+
const percentage = computed(() => {
|
|
613
|
+
if (props.indeterminate) return 100;
|
|
614
|
+
return Math.min(Math.max(props.value / props.max * 100, 0), 100);
|
|
615
|
+
});
|
|
616
|
+
const sizeClasses = {
|
|
617
|
+
sm: "h-1",
|
|
618
|
+
md: "h-2",
|
|
619
|
+
lg: "h-4"
|
|
620
|
+
};
|
|
621
|
+
const variantClasses = {
|
|
622
|
+
default: "bg-primary",
|
|
623
|
+
success: "bg-green-500",
|
|
624
|
+
warning: "bg-yellow-500",
|
|
625
|
+
error: "bg-red-500"
|
|
626
|
+
};
|
|
627
|
+
return (_ctx, _cache) => {
|
|
628
|
+
return openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
629
|
+
__props.showLabel && !__props.indeterminate ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
630
|
+
_cache[0] || (_cache[0] = createElementVNode("span", { class: "text-gray-600 dark:text-gray-400" }, "Progress", -1)),
|
|
631
|
+
createElementVNode("span", _hoisted_3, toDisplayString(Math.round(percentage.value)) + "%", 1)
|
|
632
|
+
])) : createCommentVNode("", true),
|
|
633
|
+
createElementVNode("div", {
|
|
634
|
+
class: normalizeClass([
|
|
635
|
+
"w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700",
|
|
636
|
+
sizeClasses[__props.size]
|
|
637
|
+
]),
|
|
638
|
+
role: "progressbar",
|
|
639
|
+
"aria-valuenow": __props.indeterminate ? void 0 : __props.value,
|
|
640
|
+
"aria-valuemin": 0,
|
|
641
|
+
"aria-valuemax": __props.max
|
|
642
|
+
}, [
|
|
643
|
+
createElementVNode("div", {
|
|
644
|
+
class: normalizeClass([
|
|
645
|
+
"h-full rounded-full transition-all duration-300",
|
|
646
|
+
variantClasses[__props.variant],
|
|
647
|
+
__props.striped && "bg-stripes",
|
|
648
|
+
__props.animated && "animate-stripes",
|
|
649
|
+
__props.indeterminate && "animate-indeterminate"
|
|
650
|
+
]),
|
|
651
|
+
style: normalizeStyle({ width: __props.indeterminate ? "30%" : `${percentage.value}%` })
|
|
652
|
+
}, null, 6)
|
|
653
|
+
], 10, _hoisted_4)
|
|
654
|
+
]);
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
});
|
|
658
|
+
const Progress = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-f2118741"]]);
|
|
659
|
+
const _hoisted_1 = {
|
|
660
|
+
key: 0,
|
|
661
|
+
class: "space-y-2"
|
|
662
|
+
};
|
|
663
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
664
|
+
__name: "Skeleton",
|
|
665
|
+
props: {
|
|
666
|
+
variant: { default: "text" },
|
|
667
|
+
width: {},
|
|
668
|
+
height: {},
|
|
669
|
+
lines: { default: 1 },
|
|
670
|
+
animate: { type: Boolean, default: true }
|
|
671
|
+
},
|
|
672
|
+
setup(__props) {
|
|
673
|
+
const variantClasses = {
|
|
674
|
+
text: "h-4 rounded",
|
|
675
|
+
circular: "rounded-full",
|
|
676
|
+
rectangular: "",
|
|
677
|
+
rounded: "rounded-lg"
|
|
678
|
+
};
|
|
679
|
+
return (_ctx, _cache) => {
|
|
680
|
+
return __props.variant === "text" && __props.lines > 1 ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
681
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.lines, (i) => {
|
|
682
|
+
return openBlock(), createElementBlock("div", {
|
|
683
|
+
key: i,
|
|
684
|
+
class: normalizeClass([
|
|
685
|
+
"bg-gray-200 dark:bg-gray-700",
|
|
686
|
+
variantClasses[__props.variant],
|
|
687
|
+
__props.animate && "animate-pulse"
|
|
688
|
+
]),
|
|
689
|
+
style: normalizeStyle({
|
|
690
|
+
width: i === __props.lines ? "75%" : __props.width || "100%",
|
|
691
|
+
height: __props.height
|
|
692
|
+
})
|
|
693
|
+
}, null, 6);
|
|
694
|
+
}), 128))
|
|
695
|
+
])) : (openBlock(), createElementBlock("div", {
|
|
696
|
+
key: 1,
|
|
697
|
+
class: normalizeClass([
|
|
698
|
+
"bg-gray-200 dark:bg-gray-700",
|
|
699
|
+
variantClasses[__props.variant],
|
|
700
|
+
__props.animate && "animate-pulse"
|
|
701
|
+
]),
|
|
702
|
+
style: normalizeStyle({
|
|
703
|
+
width: __props.width || (__props.variant === "circular" ? "3rem" : "100%"),
|
|
704
|
+
height: __props.height || (__props.variant === "circular" ? "3rem" : __props.variant === "text" ? "1rem" : "6rem")
|
|
705
|
+
})
|
|
706
|
+
}, null, 6));
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
});
|
|
461
710
|
export {
|
|
462
|
-
|
|
463
|
-
_sfc_main$
|
|
464
|
-
_sfc_main$
|
|
465
|
-
_sfc_main$
|
|
466
|
-
_sfc_main$
|
|
467
|
-
_sfc_main$
|
|
468
|
-
_sfc_main as
|
|
711
|
+
Progress as P,
|
|
712
|
+
_sfc_main$a as _,
|
|
713
|
+
_sfc_main$9 as a,
|
|
714
|
+
_sfc_main$8 as b,
|
|
715
|
+
_sfc_main$7 as c,
|
|
716
|
+
_sfc_main$6 as d,
|
|
717
|
+
_sfc_main$5 as e,
|
|
718
|
+
_sfc_main$4 as f,
|
|
719
|
+
_sfc_main$3 as g,
|
|
720
|
+
_sfc_main$2 as h,
|
|
721
|
+
_sfc_main as i
|
|
469
722
|
};
|
|
470
|
-
//# sourceMappingURL=
|
|
723
|
+
//# sourceMappingURL=Skeleton.vue_vue_type_script_setup_true_lang-DRC4EADS.js.map
|