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,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, createElementBlock, openBlock, createCommentVNode, renderSlot, createElementVNode, createTextVNode, toDisplayString, useSlots, computed, createVNode, Fragment, renderList, normalizeClass, createBlock, resolveDynamicComponent, withCtx, onMounted, nextTick, getCurrentInstance, getCurrentScope, hasInjectionContext, inject, watch, shallowRef, toValue, watchEffect, unref, createSlots, ref, withDirectives, vModelText, withModifiers, Teleport, Transition, normalizeStyle, resolveComponent, mergeProps, provide, vShow } from "vue";
|
|
2
|
-
import { _ as _sfc_main$
|
|
3
|
-
import { e as _sfc_main$
|
|
2
|
+
import { _ as _sfc_main$e } from "./Checkbox.vue_vue_type_script_setup_true_lang-B-nLCCNY.js";
|
|
3
|
+
import { e as _sfc_main$f, d as _sfc_main$g, c as _sfc_main$h, b as _sfc_main$i, a as _sfc_main$j } from "./BadgeType.vue_vue_type_script_setup_true_lang-CnB5eNEM.js";
|
|
4
4
|
import { Icon } from "@iconify/vue";
|
|
5
5
|
import { u as useDropdown } from "./useDropdown-iVu14E6s.js";
|
|
6
6
|
const _hoisted_1$8 = { class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950" };
|
|
@@ -18,7 +18,7 @@ const _hoisted_5$3 = {
|
|
|
18
18
|
class: "text-sm font-normal text-gray-600 dark:text-gray-400"
|
|
19
19
|
};
|
|
20
20
|
const _hoisted_6$3 = { class: "flex gap-2" };
|
|
21
|
-
const _sfc_main$
|
|
21
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
22
22
|
__name: "CardComponent",
|
|
23
23
|
props: {
|
|
24
24
|
title: {},
|
|
@@ -71,7 +71,7 @@ const _hoisted_9$2 = {
|
|
|
71
71
|
class: "flex items-center justify-end gap-2 px-3 py-4"
|
|
72
72
|
};
|
|
73
73
|
const _hoisted_10$1 = { key: 0 };
|
|
74
|
-
const _sfc_main$
|
|
74
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
75
75
|
__name: "TableComponent",
|
|
76
76
|
props: {
|
|
77
77
|
properties: {},
|
|
@@ -87,14 +87,14 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
87
87
|
const props = __props;
|
|
88
88
|
const emit = __emit;
|
|
89
89
|
const typeComponents = {
|
|
90
|
-
text: _sfc_main$
|
|
91
|
-
number: _sfc_main$
|
|
92
|
-
date: _sfc_main$
|
|
93
|
-
boolean: _sfc_main$
|
|
94
|
-
badge: _sfc_main$
|
|
90
|
+
text: _sfc_main$j,
|
|
91
|
+
number: _sfc_main$i,
|
|
92
|
+
date: _sfc_main$h,
|
|
93
|
+
boolean: _sfc_main$g,
|
|
94
|
+
badge: _sfc_main$f
|
|
95
95
|
};
|
|
96
96
|
const getTypeComponent = (type = "text") => {
|
|
97
|
-
return typeComponents[type] || _sfc_main$
|
|
97
|
+
return typeComponents[type] || _sfc_main$j;
|
|
98
98
|
};
|
|
99
99
|
const visibleProperties = computed(() => props.properties.filter((p) => !p.hidden));
|
|
100
100
|
const getKey = (item) => {
|
|
@@ -166,7 +166,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
166
166
|
createElementVNode("thead", _hoisted_4$2, [
|
|
167
167
|
createElementVNode("tr", null, [
|
|
168
168
|
__props.selectable ? (openBlock(), createElementBlock("th", _hoisted_5$2, [
|
|
169
|
-
createVNode(_sfc_main$
|
|
169
|
+
createVNode(_sfc_main$e, {
|
|
170
170
|
"model-value": allSelected.value,
|
|
171
171
|
indeterminate: someSelected.value,
|
|
172
172
|
disabled: selectableItems.value.length === 0,
|
|
@@ -193,7 +193,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
193
193
|
class: normalizeClass(["hover:bg-black/5 dark:hover:bg-white/5 transition-colors", { "bg-primary/5 dark:bg-primary/10": isSelected(item) }])
|
|
194
194
|
}, [
|
|
195
195
|
__props.selectable ? (openBlock(), createElementBlock("td", _hoisted_8$2, [
|
|
196
|
-
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$
|
|
196
|
+
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$e, {
|
|
197
197
|
key: 0,
|
|
198
198
|
"model-value": isSelected(item),
|
|
199
199
|
"onUpdate:modelValue": ($event) => handleSelect(item)
|
|
@@ -254,7 +254,7 @@ const _hoisted_7$1 = {
|
|
|
254
254
|
const _hoisted_8$1 = { class: "flex-1 min-w-0" };
|
|
255
255
|
const _hoisted_9$1 = { class: "flex-shrink-0" };
|
|
256
256
|
const _hoisted_10 = { key: 1 };
|
|
257
|
-
const _sfc_main$
|
|
257
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
258
258
|
__name: "MobileList",
|
|
259
259
|
props: {
|
|
260
260
|
items: {},
|
|
@@ -302,10 +302,10 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
302
302
|
const hasEmptySlot = computed(() => !!slots.empty);
|
|
303
303
|
return (_ctx, _cache) => {
|
|
304
304
|
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
305
|
-
__props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$
|
|
305
|
+
__props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$d, { key: 0 }, {
|
|
306
306
|
default: withCtx(() => [
|
|
307
307
|
createElementVNode("div", _hoisted_2$4, [
|
|
308
|
-
createVNode(_sfc_main$
|
|
308
|
+
createVNode(_sfc_main$e, {
|
|
309
309
|
"model-value": allSelected.value,
|
|
310
310
|
indeterminate: someSelected.value,
|
|
311
311
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("selectAll"))
|
|
@@ -317,7 +317,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
317
317
|
_: 1
|
|
318
318
|
})) : createCommentVNode("", true),
|
|
319
319
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
320
|
-
return openBlock(), createBlock(_sfc_main$
|
|
320
|
+
return openBlock(), createBlock(_sfc_main$d, {
|
|
321
321
|
key: getKey(item),
|
|
322
322
|
class: normalizeClass(["hover:shadow-lg transition-all duration-200", {
|
|
323
323
|
"ring-2 ring-primary": isSelected(item)
|
|
@@ -326,7 +326,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
326
326
|
default: withCtx(() => [
|
|
327
327
|
createElementVNode("div", _hoisted_5$1, [
|
|
328
328
|
__props.selectable ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
|
|
329
|
-
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$
|
|
329
|
+
isSelectable(item) ? (openBlock(), createBlock(_sfc_main$e, {
|
|
330
330
|
key: 0,
|
|
331
331
|
"model-value": isSelected(item),
|
|
332
332
|
"onUpdate:modelValue": ($event) => handleSelect(item)
|
|
@@ -552,7 +552,7 @@ function useBreakpoints(breakpoints, options = {}) {
|
|
|
552
552
|
}
|
|
553
553
|
});
|
|
554
554
|
}
|
|
555
|
-
const _sfc_main$
|
|
555
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
556
556
|
__name: "ResponsiveList",
|
|
557
557
|
props: {
|
|
558
558
|
items: {},
|
|
@@ -607,7 +607,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
607
607
|
const isDesktop = computed(() => breakpoints.greaterOrEqual(props.breakpoint).value);
|
|
608
608
|
return (_ctx, _cache) => {
|
|
609
609
|
return openBlock(), createElementBlock("div", null, [
|
|
610
|
-
!isDesktop.value ? (openBlock(), createBlock(_sfc_main$
|
|
610
|
+
!isDesktop.value ? (openBlock(), createBlock(_sfc_main$b, {
|
|
611
611
|
key: 0,
|
|
612
612
|
items: __props.items,
|
|
613
613
|
"key-field": __props.keyField,
|
|
@@ -632,9 +632,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
632
632
|
renderSlot(_ctx.$slots, "empty")
|
|
633
633
|
]),
|
|
634
634
|
_: 3
|
|
635
|
-
}, 8, ["items", "key-field", "selectable", "selected-items", "selectable-filter"])) : (openBlock(), createBlock(_sfc_main$
|
|
635
|
+
}, 8, ["items", "key-field", "selectable", "selected-items", "selectable-filter"])) : (openBlock(), createBlock(_sfc_main$d, { key: 1 }, {
|
|
636
636
|
default: withCtx(() => [
|
|
637
|
-
createVNode(_sfc_main$
|
|
637
|
+
createVNode(_sfc_main$c, {
|
|
638
638
|
items: __props.items,
|
|
639
639
|
properties: tableProperties.value,
|
|
640
640
|
"key-field": __props.keyField,
|
|
@@ -696,7 +696,7 @@ const _hoisted_9 = {
|
|
|
696
696
|
key: 1,
|
|
697
697
|
class: "mt-1 text-sm text-red-600"
|
|
698
698
|
};
|
|
699
|
-
const _sfc_main$
|
|
699
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
700
700
|
__name: "AutocompleteComponent",
|
|
701
701
|
props: {
|
|
702
702
|
modelValue: {},
|
|
@@ -905,7 +905,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
905
905
|
};
|
|
906
906
|
}
|
|
907
907
|
});
|
|
908
|
-
const _sfc_main$
|
|
908
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
909
909
|
__name: "TableAction",
|
|
910
910
|
props: {
|
|
911
911
|
link: {},
|
|
@@ -974,7 +974,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
974
974
|
};
|
|
975
975
|
}
|
|
976
976
|
});
|
|
977
|
-
const _sfc_main$
|
|
977
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
978
978
|
__name: "Button",
|
|
979
979
|
props: {
|
|
980
980
|
variant: { default: "primary" },
|
|
@@ -1070,7 +1070,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1070
1070
|
const _hoisted_1$4 = { class: "relative inline-block" };
|
|
1071
1071
|
const _hoisted_2$2 = ["src", "alt"];
|
|
1072
1072
|
const _hoisted_3 = { key: 1 };
|
|
1073
|
-
const _sfc_main$
|
|
1073
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
1074
1074
|
__name: "Avatar",
|
|
1075
1075
|
props: {
|
|
1076
1076
|
src: {},
|
|
@@ -1150,7 +1150,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1150
1150
|
});
|
|
1151
1151
|
const _hoisted_1$3 = ["aria-selected", "disabled", "onClick"];
|
|
1152
1152
|
const _hoisted_2$1 = { class: "mt-4" };
|
|
1153
|
-
const _sfc_main$
|
|
1153
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
1154
1154
|
__name: "Tabs",
|
|
1155
1155
|
props: {
|
|
1156
1156
|
tabs: {},
|
|
@@ -1226,7 +1226,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
1226
1226
|
}
|
|
1227
1227
|
});
|
|
1228
1228
|
const _hoisted_1$2 = { role: "tabpanel" };
|
|
1229
|
-
const _sfc_main$
|
|
1229
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
1230
1230
|
__name: "TabPanel",
|
|
1231
1231
|
props: {
|
|
1232
1232
|
value: {}
|
|
@@ -1248,7 +1248,7 @@ const _hoisted_1$1 = {
|
|
|
1248
1248
|
key: 2,
|
|
1249
1249
|
class: "text-sm font-semibold"
|
|
1250
1250
|
};
|
|
1251
|
-
const _sfc_main$
|
|
1251
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
1252
1252
|
__name: "Stepper",
|
|
1253
1253
|
props: {
|
|
1254
1254
|
steps: {},
|
|
@@ -1347,7 +1347,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1347
1347
|
});
|
|
1348
1348
|
const _hoisted_1 = { class: "overflow-hidden" };
|
|
1349
1349
|
const _hoisted_2 = { class: "space-y-4 p-6" };
|
|
1350
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1350
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
1351
1351
|
__name: "CollapsibleCard",
|
|
1352
1352
|
props: {
|
|
1353
1353
|
title: {},
|
|
@@ -1361,7 +1361,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1361
1361
|
isExpanded.value = !isExpanded.value;
|
|
1362
1362
|
};
|
|
1363
1363
|
return (_ctx, _cache) => {
|
|
1364
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1364
|
+
return openBlock(), createBlock(_sfc_main$d, {
|
|
1365
1365
|
title: __props.title,
|
|
1366
1366
|
description: __props.description
|
|
1367
1367
|
}, {
|
|
@@ -1404,18 +1404,178 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1404
1404
|
};
|
|
1405
1405
|
}
|
|
1406
1406
|
});
|
|
1407
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
1408
|
+
__name: "Tooltip",
|
|
1409
|
+
props: {
|
|
1410
|
+
content: {},
|
|
1411
|
+
position: { default: "top" },
|
|
1412
|
+
delay: { default: 0 },
|
|
1413
|
+
disabled: { type: Boolean, default: false }
|
|
1414
|
+
},
|
|
1415
|
+
setup(__props) {
|
|
1416
|
+
const props = __props;
|
|
1417
|
+
const isVisible = ref(false);
|
|
1418
|
+
let timeoutId = null;
|
|
1419
|
+
const show = () => {
|
|
1420
|
+
if (props.disabled) return;
|
|
1421
|
+
if (props.delay > 0) {
|
|
1422
|
+
timeoutId = setTimeout(() => {
|
|
1423
|
+
isVisible.value = true;
|
|
1424
|
+
}, props.delay);
|
|
1425
|
+
} else {
|
|
1426
|
+
isVisible.value = true;
|
|
1427
|
+
}
|
|
1428
|
+
};
|
|
1429
|
+
const hide = () => {
|
|
1430
|
+
if (timeoutId) {
|
|
1431
|
+
clearTimeout(timeoutId);
|
|
1432
|
+
timeoutId = null;
|
|
1433
|
+
}
|
|
1434
|
+
isVisible.value = false;
|
|
1435
|
+
};
|
|
1436
|
+
const positionClasses = computed(() => {
|
|
1437
|
+
const base = "absolute z-50 px-2 py-1 text-xs font-medium text-white bg-gray-900 rounded shadow-lg whitespace-nowrap dark:bg-gray-700";
|
|
1438
|
+
const arrow = "after:absolute after:border-4 after:border-transparent";
|
|
1439
|
+
switch (props.position) {
|
|
1440
|
+
case "top":
|
|
1441
|
+
return `${base} ${arrow} bottom-full left-1/2 -translate-x-1/2 mb-2 after:top-full after:left-1/2 after:-translate-x-1/2 after:border-t-gray-900 dark:after:border-t-gray-700`;
|
|
1442
|
+
case "bottom":
|
|
1443
|
+
return `${base} ${arrow} top-full left-1/2 -translate-x-1/2 mt-2 after:bottom-full after:left-1/2 after:-translate-x-1/2 after:border-b-gray-900 dark:after:border-b-gray-700`;
|
|
1444
|
+
case "left":
|
|
1445
|
+
return `${base} ${arrow} right-full top-1/2 -translate-y-1/2 mr-2 after:left-full after:top-1/2 after:-translate-y-1/2 after:border-l-gray-900 dark:after:border-l-gray-700`;
|
|
1446
|
+
case "right":
|
|
1447
|
+
return `${base} ${arrow} left-full top-1/2 -translate-y-1/2 ml-2 after:right-full after:top-1/2 after:-translate-y-1/2 after:border-r-gray-900 dark:after:border-r-gray-700`;
|
|
1448
|
+
default:
|
|
1449
|
+
return base;
|
|
1450
|
+
}
|
|
1451
|
+
});
|
|
1452
|
+
return (_ctx, _cache) => {
|
|
1453
|
+
return openBlock(), createElementBlock("div", {
|
|
1454
|
+
class: "relative inline-block",
|
|
1455
|
+
onMouseenter: show,
|
|
1456
|
+
onMouseleave: hide,
|
|
1457
|
+
onFocus: show,
|
|
1458
|
+
onBlur: hide
|
|
1459
|
+
}, [
|
|
1460
|
+
renderSlot(_ctx.$slots, "default"),
|
|
1461
|
+
createVNode(Transition, {
|
|
1462
|
+
"enter-active-class": "transition duration-150 ease-out",
|
|
1463
|
+
"enter-from-class": "opacity-0 scale-95",
|
|
1464
|
+
"enter-to-class": "opacity-100 scale-100",
|
|
1465
|
+
"leave-active-class": "transition duration-100 ease-in",
|
|
1466
|
+
"leave-from-class": "opacity-100 scale-100",
|
|
1467
|
+
"leave-to-class": "opacity-0 scale-95"
|
|
1468
|
+
}, {
|
|
1469
|
+
default: withCtx(() => [
|
|
1470
|
+
isVisible.value && __props.content ? (openBlock(), createElementBlock("div", {
|
|
1471
|
+
key: 0,
|
|
1472
|
+
class: normalizeClass(positionClasses.value),
|
|
1473
|
+
role: "tooltip"
|
|
1474
|
+
}, toDisplayString(__props.content), 3)) : createCommentVNode("", true)
|
|
1475
|
+
]),
|
|
1476
|
+
_: 1
|
|
1477
|
+
})
|
|
1478
|
+
], 32);
|
|
1479
|
+
};
|
|
1480
|
+
}
|
|
1481
|
+
});
|
|
1482
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1483
|
+
__name: "Popover",
|
|
1484
|
+
props: {
|
|
1485
|
+
position: { default: "bottom" },
|
|
1486
|
+
hover: { type: Boolean, default: false },
|
|
1487
|
+
teleport: { type: Boolean, default: true },
|
|
1488
|
+
width: { default: "auto" }
|
|
1489
|
+
},
|
|
1490
|
+
setup(__props) {
|
|
1491
|
+
const props = __props;
|
|
1492
|
+
const triggerRef = ref();
|
|
1493
|
+
const popoverRef = ref();
|
|
1494
|
+
const { isOpen, dropdownStyle, toggle, close, open } = useDropdown(triggerRef, popoverRef, {
|
|
1495
|
+
teleport: props.teleport,
|
|
1496
|
+
gap: 8
|
|
1497
|
+
});
|
|
1498
|
+
const handleTrigger = () => {
|
|
1499
|
+
if (!props.hover) {
|
|
1500
|
+
toggle();
|
|
1501
|
+
}
|
|
1502
|
+
};
|
|
1503
|
+
const handleMouseEnter = () => {
|
|
1504
|
+
if (props.hover) {
|
|
1505
|
+
open();
|
|
1506
|
+
}
|
|
1507
|
+
};
|
|
1508
|
+
const handleMouseLeave = () => {
|
|
1509
|
+
if (props.hover) {
|
|
1510
|
+
close();
|
|
1511
|
+
}
|
|
1512
|
+
};
|
|
1513
|
+
const widthClasses = {
|
|
1514
|
+
auto: "w-auto min-w-[12rem]",
|
|
1515
|
+
sm: "w-48",
|
|
1516
|
+
md: "w-64",
|
|
1517
|
+
lg: "w-80"
|
|
1518
|
+
};
|
|
1519
|
+
return (_ctx, _cache) => {
|
|
1520
|
+
return openBlock(), createElementBlock("div", {
|
|
1521
|
+
class: "relative inline-block",
|
|
1522
|
+
onMouseenter: handleMouseEnter,
|
|
1523
|
+
onMouseleave: handleMouseLeave
|
|
1524
|
+
}, [
|
|
1525
|
+
createElementVNode("div", {
|
|
1526
|
+
ref_key: "triggerRef",
|
|
1527
|
+
ref: triggerRef,
|
|
1528
|
+
onClick: handleTrigger
|
|
1529
|
+
}, [
|
|
1530
|
+
renderSlot(_ctx.$slots, "trigger")
|
|
1531
|
+
], 512),
|
|
1532
|
+
(openBlock(), createBlock(Teleport, {
|
|
1533
|
+
to: "body",
|
|
1534
|
+
disabled: !__props.teleport
|
|
1535
|
+
}, [
|
|
1536
|
+
createVNode(Transition, {
|
|
1537
|
+
"enter-active-class": "transition duration-150 ease-out",
|
|
1538
|
+
"enter-from-class": "opacity-0 scale-95",
|
|
1539
|
+
"enter-to-class": "opacity-100 scale-100",
|
|
1540
|
+
"leave-active-class": "transition duration-100 ease-in",
|
|
1541
|
+
"leave-from-class": "opacity-100 scale-100",
|
|
1542
|
+
"leave-to-class": "opacity-0 scale-95"
|
|
1543
|
+
}, {
|
|
1544
|
+
default: withCtx(() => [
|
|
1545
|
+
unref(isOpen) ? (openBlock(), createElementBlock("div", {
|
|
1546
|
+
key: 0,
|
|
1547
|
+
ref_key: "popoverRef",
|
|
1548
|
+
ref: popoverRef,
|
|
1549
|
+
style: normalizeStyle(unref(dropdownStyle)),
|
|
1550
|
+
class: normalizeClass([
|
|
1551
|
+
"z-[9999] rounded-lg border border-gray-200 bg-white p-4 shadow-lg dark:border-gray-700 dark:bg-gray-800",
|
|
1552
|
+
widthClasses[__props.width]
|
|
1553
|
+
])
|
|
1554
|
+
}, [
|
|
1555
|
+
renderSlot(_ctx.$slots, "default", { close: unref(close) })
|
|
1556
|
+
], 6)) : createCommentVNode("", true)
|
|
1557
|
+
]),
|
|
1558
|
+
_: 3
|
|
1559
|
+
})
|
|
1560
|
+
], 8, ["disabled"]))
|
|
1561
|
+
], 32);
|
|
1562
|
+
};
|
|
1563
|
+
}
|
|
1564
|
+
});
|
|
1407
1565
|
export {
|
|
1408
|
-
_sfc_main$
|
|
1409
|
-
_sfc_main$
|
|
1410
|
-
_sfc_main$
|
|
1411
|
-
_sfc_main$
|
|
1412
|
-
_sfc_main$
|
|
1413
|
-
_sfc_main$
|
|
1414
|
-
_sfc_main$
|
|
1415
|
-
_sfc_main$
|
|
1416
|
-
_sfc_main$
|
|
1417
|
-
_sfc_main$
|
|
1418
|
-
_sfc_main$
|
|
1419
|
-
_sfc_main as k
|
|
1566
|
+
_sfc_main$d as _,
|
|
1567
|
+
_sfc_main$c as a,
|
|
1568
|
+
_sfc_main$b as b,
|
|
1569
|
+
_sfc_main$a as c,
|
|
1570
|
+
_sfc_main$9 as d,
|
|
1571
|
+
_sfc_main$8 as e,
|
|
1572
|
+
_sfc_main$7 as f,
|
|
1573
|
+
_sfc_main$6 as g,
|
|
1574
|
+
_sfc_main$5 as h,
|
|
1575
|
+
_sfc_main$4 as i,
|
|
1576
|
+
_sfc_main$3 as j,
|
|
1577
|
+
_sfc_main$2 as k,
|
|
1578
|
+
_sfc_main$1 as l,
|
|
1579
|
+
_sfc_main as m
|
|
1420
1580
|
};
|
|
1421
|
-
//# sourceMappingURL=
|
|
1581
|
+
//# sourceMappingURL=Popover.vue_vue_type_script_setup_true_lang-Q7gRZsT9.js.map
|