cisse-vue-ui 0.5.21 → 0.5.22
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-DKE8elsf.js} +102 -7
- package/dist/Button.vue_vue_type_script_setup_true_lang-DKE8elsf.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-DrGM65ny.cjs} +101 -6
- package/dist/Button.vue_vue_type_script_setup_true_lang-DrGM65ny.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-DhcLb6DX.js} +408 -185
- package/dist/Combobox.vue_vue_type_script_setup_true_lang-DhcLb6DX.js.map +1 -0
- package/dist/{RangeSlider.vue_vue_type_script_setup_true_lang-ClH-pyK8.cjs → Combobox.vue_vue_type_script_setup_true_lang-FdUrjmSG.cjs} +435 -212
- package/dist/Combobox.vue_vue_type_script_setup_true_lang-FdUrjmSG.cjs.map +1 -0
- package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-Q4PcIELi.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-CNucAMQg.js} +234 -119
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CNucAMQg.js.map +1 -0
- package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-CsDMGhaT.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-DXb9wQQv.cjs} +233 -118
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-DXb9wQQv.cjs.map +1 -0
- package/dist/{Timeline.vue_vue_type_script_setup_true_lang-ykGksWXN.js → DarkModeToggle.vue_vue_type_script_setup_true_lang-43fxlbro.js} +109 -357
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-43fxlbro.js.map +1 -0
- package/dist/{Timeline.vue_vue_type_script_setup_true_lang-C5SKEGPG.cjs → DarkModeToggle.vue_vue_type_script_setup_true_lang-BoB48313.cjs} +148 -396
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-BoB48313.cjs.map +1 -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/index.cjs +22 -20
- package/dist/components/core/index.cjs.map +1 -1
- package/dist/components/core/index.d.ts +2 -0
- package/dist/components/core/index.js +16 -14
- package/dist/components/core/index.js.map +1 -1
- 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/Modal.vue.d.ts +11 -2
- 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/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/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/index.cjs +55 -52
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +33 -30
- package/dist/composables/index.cjs +3 -2
- package/dist/composables/index.cjs.map +1 -1
- package/dist/composables/index.js +9 -8
- package/dist/composables/index.js.map +1 -1
- package/dist/index-D7HVSFi2.cjs +337 -0
- package/dist/index-D7HVSFi2.cjs.map +1 -0
- package/dist/index-DZYqrXV0.js +75 -0
- package/dist/index-DZYqrXV0.js.map +1 -0
- package/dist/index-Dghdw1yo.js +338 -0
- package/dist/index-Dghdw1yo.js.map +1 -0
- package/dist/index-DjEv91o4.cjs +74 -0
- package/dist/index-DjEv91o4.cjs.map +1 -0
- package/dist/index.cjs +59 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +43 -39
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- 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/{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 +1 -1
- 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/ListSkeleton.vue_vue_type_script_setup_true_lang-CrEu33_J.cjs.map +0 -1
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-D3_Oddwt.js.map +0 -1
- package/dist/RangeSlider.vue_vue_type_script_setup_true_lang-B79_S1JL.js.map +0 -1
- package/dist/RangeSlider.vue_vue_type_script_setup_true_lang-ClH-pyK8.cjs.map +0 -1
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-CsDMGhaT.cjs.map +0 -1
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-Q4PcIELi.js.map +0 -1
- package/dist/Timeline.vue_vue_type_script_setup_true_lang-C5SKEGPG.cjs.map +0 -1
- package/dist/Timeline.vue_vue_type_script_setup_true_lang-ykGksWXN.js.map +0 -1
- package/dist/index-C3NAM2ds.js +0 -72
- package/dist/index-C3NAM2ds.js.map +0 -1
- package/dist/index-Ti1RIOEG.cjs +0 -71
- package/dist/index-Ti1RIOEG.cjs.map +0 -1
- package/dist/useToast-CRh_sG82.cjs.map +0 -1
- package/dist/useToast-DwFOkewC.js.map +0 -1
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { defineComponent, computed, createBlock, createElementBlock, openBlock, createCommentVNode, renderSlot, normalizeClass, createElementVNode, createTextVNode, toDisplayString, useSlots, createVNode, Fragment, renderList, resolveDynamicComponent, withCtx,
|
|
2
|
-
import { _ as _sfc_main$l } from "./
|
|
3
|
-
import {
|
|
1
|
+
import { defineComponent, computed, createBlock, createElementBlock, openBlock, createCommentVNode, renderSlot, normalizeClass, createElementVNode, createTextVNode, toDisplayString, useSlots, createVNode, Fragment, renderList, resolveDynamicComponent, withCtx, createSlots, ref, watch, unref, withDirectives, vModelText, withModifiers, Teleport, Transition, normalizeStyle, nextTick, resolveComponent, mergeProps, provide, inject, vShow, onMounted, onUnmounted } from "vue";
|
|
2
|
+
import { _ as _sfc_main$l, u as useBreakpoints } from "./index-Dghdw1yo.js";
|
|
3
|
+
import { b as _sfc_main$j, a as _sfc_main$k, c as _sfc_main$r } from "./Button.vue_vue_type_script_setup_true_lang-DKE8elsf.js";
|
|
4
4
|
import { e as _sfc_main$m, d as _sfc_main$n, c as _sfc_main$o, b as _sfc_main$p, a as _sfc_main$q } from "./BadgeType.vue_vue_type_script_setup_true_lang-CnB5eNEM.js";
|
|
5
5
|
import { Icon } from "@iconify/vue";
|
|
6
6
|
import { u as useDropdown } from "./useDropdown-iVu14E6s.js";
|
|
7
|
-
|
|
7
|
+
import { u as useDarkMode } from "./useDarkMode-Cl5QWTlC.js";
|
|
8
|
+
const _hoisted_1$d = {
|
|
8
9
|
key: 1,
|
|
9
10
|
class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950"
|
|
10
11
|
};
|
|
11
|
-
const _hoisted_2$
|
|
12
|
+
const _hoisted_2$a = { class: "flex flex-col gap-0.5" };
|
|
12
13
|
const _hoisted_3$7 = {
|
|
13
14
|
key: 1,
|
|
14
15
|
class: "text-sm font-normal text-gray-600 dark:text-gray-400"
|
|
@@ -40,7 +41,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
40
41
|
lines: __props.loadingLines,
|
|
41
42
|
"show-avatar": __props.loadingAvatar,
|
|
42
43
|
"show-actions": __props.loadingActions
|
|
43
|
-
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$
|
|
44
|
+
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$d, [
|
|
44
45
|
_ctx.$slots.header ? (openBlock(), createElementBlock("div", {
|
|
45
46
|
key: 0,
|
|
46
47
|
class: normalizeClass(["border-b", dividerClasses.value])
|
|
@@ -50,7 +51,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
50
51
|
key: 1,
|
|
51
52
|
class: normalizeClass(["flex items-center justify-between border-b px-5 py-3", dividerClasses.value])
|
|
52
53
|
}, [
|
|
53
|
-
createElementVNode("div", _hoisted_2$
|
|
54
|
+
createElementVNode("div", _hoisted_2$a, [
|
|
54
55
|
__props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", {
|
|
55
56
|
key: 0,
|
|
56
57
|
class: normalizeClass(["text-md font-semibold", titleClasses.value])
|
|
@@ -74,8 +75,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
74
75
|
};
|
|
75
76
|
}
|
|
76
77
|
});
|
|
77
|
-
const _hoisted_1$
|
|
78
|
-
const _hoisted_2$
|
|
78
|
+
const _hoisted_1$c = { class: "overflow-hidden" };
|
|
79
|
+
const _hoisted_2$9 = {
|
|
79
80
|
key: 1,
|
|
80
81
|
class: "overflow-x-auto"
|
|
81
82
|
};
|
|
@@ -209,12 +210,12 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
209
210
|
return props.sortBy === property.name;
|
|
210
211
|
};
|
|
211
212
|
return (_ctx, _cache) => {
|
|
212
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
213
|
+
return openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
213
214
|
__props.loading ? (openBlock(), createBlock(_sfc_main$k, {
|
|
214
215
|
key: 0,
|
|
215
216
|
rows: __props.loadingRows,
|
|
216
217
|
columns: visibleProperties.value.length
|
|
217
|
-
}, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
218
|
+
}, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$9, [
|
|
218
219
|
createElementVNode("table", _hoisted_3$6, [
|
|
219
220
|
createElementVNode("thead", _hoisted_4$5, [
|
|
220
221
|
createElementVNode("tr", null, [
|
|
@@ -320,8 +321,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
320
321
|
};
|
|
321
322
|
}
|
|
322
323
|
});
|
|
323
|
-
const _hoisted_1$
|
|
324
|
-
const _hoisted_2$
|
|
324
|
+
const _hoisted_1$b = { class: "space-y-3" };
|
|
325
|
+
const _hoisted_2$8 = { class: "flex items-center gap-3 p-3" };
|
|
325
326
|
const _hoisted_3$5 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
326
327
|
const _hoisted_4$4 = {
|
|
327
328
|
key: 0,
|
|
@@ -388,7 +389,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
388
389
|
};
|
|
389
390
|
const hasEmptySlot = computed(() => !!slots.empty);
|
|
390
391
|
return (_ctx, _cache) => {
|
|
391
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
392
|
+
return openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
392
393
|
__props.loading ? (openBlock(), createBlock(_sfc_main$i, { key: 0 }, {
|
|
393
394
|
default: withCtx(() => [
|
|
394
395
|
createVNode(_sfc_main$r, {
|
|
@@ -402,7 +403,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
402
403
|
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
403
404
|
__props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$i, { key: 0 }, {
|
|
404
405
|
default: withCtx(() => [
|
|
405
|
-
createElementVNode("div", _hoisted_2$
|
|
406
|
+
createElementVNode("div", _hoisted_2$8, [
|
|
406
407
|
createVNode(_sfc_main$l, {
|
|
407
408
|
"model-value": allSelected.value,
|
|
408
409
|
indeterminate: someSelected.value,
|
|
@@ -450,207 +451,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
450
451
|
};
|
|
451
452
|
}
|
|
452
453
|
});
|
|
453
|
-
const localProvidedStateMap = /* @__PURE__ */ new WeakMap();
|
|
454
|
-
const injectLocal = /* @__NO_SIDE_EFFECTS__ */ (...args) => {
|
|
455
|
-
var _getCurrentInstance;
|
|
456
|
-
const key = args[0];
|
|
457
|
-
const instance = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy;
|
|
458
|
-
const owner = instance !== null && instance !== void 0 ? instance : getCurrentScope();
|
|
459
|
-
if (owner == null && !hasInjectionContext()) throw new Error("injectLocal must be called in setup");
|
|
460
|
-
if (owner && localProvidedStateMap.has(owner) && key in localProvidedStateMap.get(owner)) return localProvidedStateMap.get(owner)[key];
|
|
461
|
-
return inject(...args);
|
|
462
|
-
};
|
|
463
|
-
const isClient = typeof window !== "undefined" && typeof document !== "undefined";
|
|
464
|
-
typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
|
|
465
|
-
const toString = Object.prototype.toString;
|
|
466
|
-
const isObject = (val) => toString.call(val) === "[object Object]";
|
|
467
|
-
function increaseWithUnit(target, delta) {
|
|
468
|
-
var _target$match;
|
|
469
|
-
if (typeof target === "number") return target + delta;
|
|
470
|
-
const value = ((_target$match = target.match(/^-?\d+\.?\d*/)) === null || _target$match === void 0 ? void 0 : _target$match[0]) || "";
|
|
471
|
-
const unit = target.slice(value.length);
|
|
472
|
-
const result = Number.parseFloat(value) + delta;
|
|
473
|
-
if (Number.isNaN(result)) return target;
|
|
474
|
-
return result + unit;
|
|
475
|
-
}
|
|
476
|
-
function pxValue(px) {
|
|
477
|
-
return px.endsWith("rem") ? Number.parseFloat(px) * 16 : Number.parseFloat(px);
|
|
478
|
-
}
|
|
479
|
-
function toArray(value) {
|
|
480
|
-
return Array.isArray(value) ? value : [value];
|
|
481
|
-
}
|
|
482
|
-
function getLifeCycleTarget(target) {
|
|
483
|
-
return getCurrentInstance();
|
|
484
|
-
}
|
|
485
|
-
function tryOnMounted(fn, sync = true, target) {
|
|
486
|
-
if (getLifeCycleTarget()) onMounted(fn, target);
|
|
487
|
-
else if (sync) fn();
|
|
488
|
-
else nextTick(fn);
|
|
489
|
-
}
|
|
490
|
-
function watchImmediate(source, cb, options) {
|
|
491
|
-
return watch(source, cb, {
|
|
492
|
-
...options,
|
|
493
|
-
immediate: true
|
|
494
|
-
});
|
|
495
|
-
}
|
|
496
|
-
const defaultWindow = isClient ? window : void 0;
|
|
497
|
-
function unrefElement(elRef) {
|
|
498
|
-
var _$el;
|
|
499
|
-
const plain = toValue(elRef);
|
|
500
|
-
return (_$el = plain === null || plain === void 0 ? void 0 : plain.$el) !== null && _$el !== void 0 ? _$el : plain;
|
|
501
|
-
}
|
|
502
|
-
function useEventListener(...args) {
|
|
503
|
-
const register = (el, event, listener, options) => {
|
|
504
|
-
el.addEventListener(event, listener, options);
|
|
505
|
-
return () => el.removeEventListener(event, listener, options);
|
|
506
|
-
};
|
|
507
|
-
const firstParamTargets = computed(() => {
|
|
508
|
-
const test = toArray(toValue(args[0])).filter((e) => e != null);
|
|
509
|
-
return test.every((e) => typeof e !== "string") ? test : void 0;
|
|
510
|
-
});
|
|
511
|
-
return watchImmediate(() => {
|
|
512
|
-
var _firstParamTargets$va, _firstParamTargets$va2;
|
|
513
|
-
return [
|
|
514
|
-
(_firstParamTargets$va = (_firstParamTargets$va2 = firstParamTargets.value) === null || _firstParamTargets$va2 === void 0 ? void 0 : _firstParamTargets$va2.map((e) => unrefElement(e))) !== null && _firstParamTargets$va !== void 0 ? _firstParamTargets$va : [defaultWindow].filter((e) => e != null),
|
|
515
|
-
toArray(toValue(firstParamTargets.value ? args[1] : args[0])),
|
|
516
|
-
toArray(unref(firstParamTargets.value ? args[2] : args[1])),
|
|
517
|
-
toValue(firstParamTargets.value ? args[3] : args[2])
|
|
518
|
-
];
|
|
519
|
-
}, ([raw_targets, raw_events, raw_listeners, raw_options], _, onCleanup) => {
|
|
520
|
-
if (!(raw_targets === null || raw_targets === void 0 ? void 0 : raw_targets.length) || !(raw_events === null || raw_events === void 0 ? void 0 : raw_events.length) || !(raw_listeners === null || raw_listeners === void 0 ? void 0 : raw_listeners.length)) return;
|
|
521
|
-
const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;
|
|
522
|
-
const cleanups = raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))));
|
|
523
|
-
onCleanup(() => {
|
|
524
|
-
cleanups.forEach((fn) => fn());
|
|
525
|
-
});
|
|
526
|
-
}, { flush: "post" });
|
|
527
|
-
}
|
|
528
|
-
// @__NO_SIDE_EFFECTS__
|
|
529
|
-
function useMounted() {
|
|
530
|
-
const isMounted = shallowRef(false);
|
|
531
|
-
const instance = getCurrentInstance();
|
|
532
|
-
if (instance) onMounted(() => {
|
|
533
|
-
isMounted.value = true;
|
|
534
|
-
}, instance);
|
|
535
|
-
return isMounted;
|
|
536
|
-
}
|
|
537
|
-
// @__NO_SIDE_EFFECTS__
|
|
538
|
-
function useSupported(callback) {
|
|
539
|
-
const isMounted = /* @__PURE__ */ useMounted();
|
|
540
|
-
return computed(() => {
|
|
541
|
-
isMounted.value;
|
|
542
|
-
return Boolean(callback());
|
|
543
|
-
});
|
|
544
|
-
}
|
|
545
|
-
const ssrWidthSymbol = Symbol("vueuse-ssr-width");
|
|
546
|
-
// @__NO_SIDE_EFFECTS__
|
|
547
|
-
function useSSRWidth() {
|
|
548
|
-
const ssrWidth = hasInjectionContext() ? /* @__PURE__ */ injectLocal(ssrWidthSymbol, null) : null;
|
|
549
|
-
return typeof ssrWidth === "number" ? ssrWidth : void 0;
|
|
550
|
-
}
|
|
551
|
-
function useMediaQuery(query, options = {}) {
|
|
552
|
-
const { window: window$1 = defaultWindow, ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;
|
|
553
|
-
const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "matchMedia" in window$1 && typeof window$1.matchMedia === "function");
|
|
554
|
-
const ssrSupport = shallowRef(typeof ssrWidth === "number");
|
|
555
|
-
const mediaQuery = shallowRef();
|
|
556
|
-
const matches = shallowRef(false);
|
|
557
|
-
const handler = (event) => {
|
|
558
|
-
matches.value = event.matches;
|
|
559
|
-
};
|
|
560
|
-
watchEffect(() => {
|
|
561
|
-
if (ssrSupport.value) {
|
|
562
|
-
ssrSupport.value = !isSupported.value;
|
|
563
|
-
matches.value = toValue(query).split(",").some((queryString) => {
|
|
564
|
-
const not = queryString.includes("not all");
|
|
565
|
-
const minWidth = queryString.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);
|
|
566
|
-
const maxWidth = queryString.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);
|
|
567
|
-
let res = Boolean(minWidth || maxWidth);
|
|
568
|
-
if (minWidth && res) res = ssrWidth >= pxValue(minWidth[1]);
|
|
569
|
-
if (maxWidth && res) res = ssrWidth <= pxValue(maxWidth[1]);
|
|
570
|
-
return not ? !res : res;
|
|
571
|
-
});
|
|
572
|
-
return;
|
|
573
|
-
}
|
|
574
|
-
if (!isSupported.value) return;
|
|
575
|
-
mediaQuery.value = window$1.matchMedia(toValue(query));
|
|
576
|
-
matches.value = mediaQuery.value.matches;
|
|
577
|
-
});
|
|
578
|
-
useEventListener(mediaQuery, "change", handler, { passive: true });
|
|
579
|
-
return computed(() => matches.value);
|
|
580
|
-
}
|
|
581
|
-
// @__NO_SIDE_EFFECTS__
|
|
582
|
-
function useBreakpoints(breakpoints, options = {}) {
|
|
583
|
-
function getValue$1(k, delta) {
|
|
584
|
-
let v = toValue(breakpoints[toValue(k)]);
|
|
585
|
-
if (delta != null) v = increaseWithUnit(v, delta);
|
|
586
|
-
if (typeof v === "number") v = `${v}px`;
|
|
587
|
-
return v;
|
|
588
|
-
}
|
|
589
|
-
const { window: window$1 = defaultWindow, strategy = "min-width", ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;
|
|
590
|
-
const ssrSupport = typeof ssrWidth === "number";
|
|
591
|
-
const mounted = ssrSupport ? shallowRef(false) : { value: true };
|
|
592
|
-
if (ssrSupport) tryOnMounted(() => mounted.value = !!window$1);
|
|
593
|
-
function match(query, size) {
|
|
594
|
-
if (!mounted.value && ssrSupport) return query === "min" ? ssrWidth >= pxValue(size) : ssrWidth <= pxValue(size);
|
|
595
|
-
if (!window$1) return false;
|
|
596
|
-
return window$1.matchMedia(`(${query}-width: ${size})`).matches;
|
|
597
|
-
}
|
|
598
|
-
const greaterOrEqual = (k) => {
|
|
599
|
-
return useMediaQuery(() => `(min-width: ${getValue$1(k)})`, options);
|
|
600
|
-
};
|
|
601
|
-
const smallerOrEqual = (k) => {
|
|
602
|
-
return useMediaQuery(() => `(max-width: ${getValue$1(k)})`, options);
|
|
603
|
-
};
|
|
604
|
-
const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {
|
|
605
|
-
Object.defineProperty(shortcuts, k, {
|
|
606
|
-
get: () => strategy === "min-width" ? greaterOrEqual(k) : smallerOrEqual(k),
|
|
607
|
-
enumerable: true,
|
|
608
|
-
configurable: true
|
|
609
|
-
});
|
|
610
|
-
return shortcuts;
|
|
611
|
-
}, {});
|
|
612
|
-
function current() {
|
|
613
|
-
const points = Object.keys(breakpoints).map((k) => [
|
|
614
|
-
k,
|
|
615
|
-
shortcutMethods[k],
|
|
616
|
-
pxValue(getValue$1(k))
|
|
617
|
-
]).sort((a, b) => a[2] - b[2]);
|
|
618
|
-
return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));
|
|
619
|
-
}
|
|
620
|
-
return Object.assign(shortcutMethods, {
|
|
621
|
-
greaterOrEqual,
|
|
622
|
-
smallerOrEqual,
|
|
623
|
-
greater(k) {
|
|
624
|
-
return useMediaQuery(() => `(min-width: ${getValue$1(k, 0.1)})`, options);
|
|
625
|
-
},
|
|
626
|
-
smaller(k) {
|
|
627
|
-
return useMediaQuery(() => `(max-width: ${getValue$1(k, -0.1)})`, options);
|
|
628
|
-
},
|
|
629
|
-
between(a, b) {
|
|
630
|
-
return useMediaQuery(() => `(min-width: ${getValue$1(a)}) and (max-width: ${getValue$1(b, -0.1)})`, options);
|
|
631
|
-
},
|
|
632
|
-
isGreater(k) {
|
|
633
|
-
return match("min", getValue$1(k, 0.1));
|
|
634
|
-
},
|
|
635
|
-
isGreaterOrEqual(k) {
|
|
636
|
-
return match("min", getValue$1(k));
|
|
637
|
-
},
|
|
638
|
-
isSmaller(k) {
|
|
639
|
-
return match("max", getValue$1(k, -0.1));
|
|
640
|
-
},
|
|
641
|
-
isSmallerOrEqual(k) {
|
|
642
|
-
return match("max", getValue$1(k));
|
|
643
|
-
},
|
|
644
|
-
isInBetween(a, b) {
|
|
645
|
-
return match("min", getValue$1(a)) && match("max", getValue$1(b, -0.1));
|
|
646
|
-
},
|
|
647
|
-
current,
|
|
648
|
-
active() {
|
|
649
|
-
const bps = current();
|
|
650
|
-
return computed(() => bps.value.length === 0 ? "" : bps.value.at(strategy === "min-width" ? -1 : 0));
|
|
651
|
-
}
|
|
652
|
-
});
|
|
653
|
-
}
|
|
654
454
|
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
655
455
|
__name: "ResponsiveList",
|
|
656
456
|
props: {
|
|
@@ -700,7 +500,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
700
500
|
return !!slots[`cell-${key}`];
|
|
701
501
|
};
|
|
702
502
|
const hasActionsSlot = computed(() => !!slots.actions);
|
|
703
|
-
const breakpoints =
|
|
503
|
+
const breakpoints = useBreakpoints({
|
|
704
504
|
sm: 640,
|
|
705
505
|
md: 768,
|
|
706
506
|
lg: 1024,
|
|
@@ -788,11 +588,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
788
588
|
};
|
|
789
589
|
}
|
|
790
590
|
});
|
|
791
|
-
const _hoisted_1$
|
|
591
|
+
const _hoisted_1$a = {
|
|
792
592
|
key: 0,
|
|
793
593
|
class: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"
|
|
794
594
|
};
|
|
795
|
-
const _hoisted_2$
|
|
595
|
+
const _hoisted_2$7 = { class: "relative" };
|
|
796
596
|
const _hoisted_3$4 = ["disabled", "placeholder"];
|
|
797
597
|
const _hoisted_4$3 = ["disabled"];
|
|
798
598
|
const _hoisted_5$1 = {
|
|
@@ -908,8 +708,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
908
708
|
ref: containerRef,
|
|
909
709
|
class: "autocomplete-container"
|
|
910
710
|
}, [
|
|
911
|
-
__props.label ? (openBlock(), createElementBlock("label", _hoisted_1$
|
|
912
|
-
createElementVNode("div", _hoisted_2$
|
|
711
|
+
__props.label ? (openBlock(), createElementBlock("label", _hoisted_1$a, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
|
|
712
|
+
createElementVNode("div", _hoisted_2$7, [
|
|
913
713
|
createElementVNode("div", {
|
|
914
714
|
ref_key: "inputWrapperRef",
|
|
915
715
|
ref: inputWrapperRef,
|
|
@@ -1084,103 +884,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1084
884
|
};
|
|
1085
885
|
}
|
|
1086
886
|
});
|
|
1087
|
-
const
|
|
1088
|
-
|
|
1089
|
-
props: {
|
|
1090
|
-
variant: { default: "primary" },
|
|
1091
|
-
size: { default: "md" },
|
|
1092
|
-
icon: {},
|
|
1093
|
-
iconRight: {},
|
|
1094
|
-
loading: { type: Boolean },
|
|
1095
|
-
disabled: { type: Boolean },
|
|
1096
|
-
block: { type: Boolean },
|
|
1097
|
-
href: {},
|
|
1098
|
-
to: {},
|
|
1099
|
-
type: { default: "button" }
|
|
1100
|
-
},
|
|
1101
|
-
emits: ["click"],
|
|
1102
|
-
setup(__props, { emit: __emit }) {
|
|
1103
|
-
const props = __props;
|
|
1104
|
-
const emit = __emit;
|
|
1105
|
-
const variantClasses = {
|
|
1106
|
-
primary: "bg-primary text-primary-foreground hover:bg-primary/90 focus:ring-primary",
|
|
1107
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/90 focus:ring-secondary",
|
|
1108
|
-
outline: "border border-gray-300 bg-transparent text-gray-700 hover:bg-gray-50 focus:ring-primary dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",
|
|
1109
|
-
ghost: "bg-transparent text-gray-700 hover:bg-gray-100 focus:ring-primary dark:text-gray-300 dark:hover:bg-gray-800",
|
|
1110
|
-
danger: "bg-red-500 text-white hover:bg-red-600 focus:ring-red-500",
|
|
1111
|
-
success: "bg-green-500 text-white hover:bg-green-600 focus:ring-green-500"
|
|
1112
|
-
};
|
|
1113
|
-
const sizeClasses = {
|
|
1114
|
-
xs: "px-2 py-1 text-xs gap-1",
|
|
1115
|
-
sm: "px-3 py-1.5 text-sm gap-1.5",
|
|
1116
|
-
md: "px-4 py-2 text-sm gap-2",
|
|
1117
|
-
lg: "px-5 py-2.5 text-base gap-2",
|
|
1118
|
-
xl: "px-6 py-3 text-lg gap-2.5"
|
|
1119
|
-
};
|
|
1120
|
-
const iconSizeClasses = {
|
|
1121
|
-
xs: "size-3",
|
|
1122
|
-
sm: "size-4",
|
|
1123
|
-
md: "size-4",
|
|
1124
|
-
lg: "size-5",
|
|
1125
|
-
xl: "size-6"
|
|
1126
|
-
};
|
|
1127
|
-
const classes = computed(() => [
|
|
1128
|
-
"inline-flex items-center justify-center font-medium rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
1129
|
-
variantClasses[props.variant],
|
|
1130
|
-
sizeClasses[props.size],
|
|
1131
|
-
props.block && "w-full"
|
|
1132
|
-
]);
|
|
1133
|
-
const component = computed(() => {
|
|
1134
|
-
if (props.to) {
|
|
1135
|
-
try {
|
|
1136
|
-
const RouterLink = resolveComponent("RouterLink");
|
|
1137
|
-
if (typeof RouterLink !== "string") return RouterLink;
|
|
1138
|
-
} catch {
|
|
1139
|
-
}
|
|
1140
|
-
}
|
|
1141
|
-
if (props.href) return "a";
|
|
1142
|
-
return "button";
|
|
1143
|
-
});
|
|
1144
|
-
const componentProps = computed(() => {
|
|
1145
|
-
if (props.to) return { to: props.to };
|
|
1146
|
-
if (props.href) return { href: props.href };
|
|
1147
|
-
return { type: props.type, disabled: props.disabled || props.loading };
|
|
1148
|
-
});
|
|
1149
|
-
const handleClick = (event) => {
|
|
1150
|
-
if (props.disabled || props.loading) return;
|
|
1151
|
-
emit("click", event);
|
|
1152
|
-
};
|
|
1153
|
-
return (_ctx, _cache) => {
|
|
1154
|
-
return openBlock(), createBlock(resolveDynamicComponent(component.value), mergeProps(componentProps.value, {
|
|
1155
|
-
class: classes.value,
|
|
1156
|
-
onClick: handleClick
|
|
1157
|
-
}), {
|
|
1158
|
-
default: withCtx(() => [
|
|
1159
|
-
__props.loading ? (openBlock(), createBlock(unref(Icon), {
|
|
1160
|
-
key: 0,
|
|
1161
|
-
icon: "lucide:loader-2",
|
|
1162
|
-
class: normalizeClass([iconSizeClasses[__props.size], "animate-spin"])
|
|
1163
|
-
}, null, 8, ["class"])) : __props.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
1164
|
-
key: 1,
|
|
1165
|
-
icon: __props.icon,
|
|
1166
|
-
class: normalizeClass(iconSizeClasses[__props.size])
|
|
1167
|
-
}, null, 8, ["icon", "class"])) : createCommentVNode("", true),
|
|
1168
|
-
renderSlot(_ctx.$slots, "default"),
|
|
1169
|
-
__props.iconRight && !__props.loading ? (openBlock(), createBlock(unref(Icon), {
|
|
1170
|
-
key: 2,
|
|
1171
|
-
icon: __props.iconRight,
|
|
1172
|
-
class: normalizeClass(iconSizeClasses[__props.size])
|
|
1173
|
-
}, null, 8, ["icon", "class"])) : createCommentVNode("", true)
|
|
1174
|
-
]),
|
|
1175
|
-
_: 3
|
|
1176
|
-
}, 16, ["class"]);
|
|
1177
|
-
};
|
|
1178
|
-
}
|
|
1179
|
-
});
|
|
1180
|
-
const _hoisted_1$8 = { class: "relative inline-block" };
|
|
1181
|
-
const _hoisted_2$5 = ["src", "alt"];
|
|
887
|
+
const _hoisted_1$9 = { class: "relative inline-block" };
|
|
888
|
+
const _hoisted_2$6 = ["src", "alt"];
|
|
1182
889
|
const _hoisted_3$3 = { key: 1 };
|
|
1183
|
-
const _sfc_main$
|
|
890
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
1184
891
|
__name: "Avatar",
|
|
1185
892
|
props: {
|
|
1186
893
|
src: {},
|
|
@@ -1226,7 +933,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
1226
933
|
});
|
|
1227
934
|
const showImage = computed(() => props.src && !imageError.value);
|
|
1228
935
|
return (_ctx, _cache) => {
|
|
1229
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
936
|
+
return openBlock(), createElementBlock("div", _hoisted_1$9, [
|
|
1230
937
|
createElementVNode("div", {
|
|
1231
938
|
class: normalizeClass([
|
|
1232
939
|
"flex items-center justify-center overflow-hidden bg-gray-200 font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",
|
|
@@ -1240,7 +947,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
1240
947
|
alt: __props.alt || __props.name,
|
|
1241
948
|
class: "size-full object-cover",
|
|
1242
949
|
onError: _cache[0] || (_cache[0] = ($event) => imageError.value = true)
|
|
1243
|
-
}, null, 40, _hoisted_2$
|
|
950
|
+
}, null, 40, _hoisted_2$6)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$3, toDisplayString(initials.value), 1)) : (openBlock(), createBlock(unref(Icon), {
|
|
1244
951
|
key: 2,
|
|
1245
952
|
icon: "lucide:user",
|
|
1246
953
|
class: "size-1/2"
|
|
@@ -1258,9 +965,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
1258
965
|
};
|
|
1259
966
|
}
|
|
1260
967
|
});
|
|
1261
|
-
const _hoisted_1$
|
|
1262
|
-
const _hoisted_2$
|
|
1263
|
-
const _sfc_main$
|
|
968
|
+
const _hoisted_1$8 = ["aria-selected", "disabled", "onClick"];
|
|
969
|
+
const _hoisted_2$5 = { class: "mt-4" };
|
|
970
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
1264
971
|
__name: "Tabs",
|
|
1265
972
|
props: {
|
|
1266
973
|
tabs: {},
|
|
@@ -1325,18 +1032,18 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
1325
1032
|
activeTab.value === tab.key ? variantClasses[__props.variant].active : variantClasses[__props.variant].inactive
|
|
1326
1033
|
]),
|
|
1327
1034
|
onClick: ($event) => selectTab(tab)
|
|
1328
|
-
}, toDisplayString(tab.label), 11, _hoisted_1$
|
|
1035
|
+
}, toDisplayString(tab.label), 11, _hoisted_1$8);
|
|
1329
1036
|
}), 128))
|
|
1330
1037
|
], 2),
|
|
1331
|
-
createElementVNode("div", _hoisted_2$
|
|
1038
|
+
createElementVNode("div", _hoisted_2$5, [
|
|
1332
1039
|
renderSlot(_ctx.$slots, "default", { activeTab: activeTab.value })
|
|
1333
1040
|
])
|
|
1334
1041
|
]);
|
|
1335
1042
|
};
|
|
1336
1043
|
}
|
|
1337
1044
|
});
|
|
1338
|
-
const _hoisted_1$
|
|
1339
|
-
const _sfc_main$
|
|
1045
|
+
const _hoisted_1$7 = { role: "tabpanel" };
|
|
1046
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
1340
1047
|
__name: "TabPanel",
|
|
1341
1048
|
props: {
|
|
1342
1049
|
value: {}
|
|
@@ -1346,7 +1053,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
1346
1053
|
const activeTab = inject("activeTab");
|
|
1347
1054
|
const isActive = computed(() => (activeTab == null ? void 0 : activeTab.value) === props.value);
|
|
1348
1055
|
return (_ctx, _cache) => {
|
|
1349
|
-
return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$
|
|
1056
|
+
return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
1350
1057
|
renderSlot(_ctx.$slots, "default")
|
|
1351
1058
|
], 512)), [
|
|
1352
1059
|
[vShow, isActive.value]
|
|
@@ -1354,11 +1061,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
1354
1061
|
};
|
|
1355
1062
|
}
|
|
1356
1063
|
});
|
|
1357
|
-
const _hoisted_1$
|
|
1064
|
+
const _hoisted_1$6 = {
|
|
1358
1065
|
key: 2,
|
|
1359
1066
|
class: "text-sm font-semibold"
|
|
1360
1067
|
};
|
|
1361
|
-
const _sfc_main$
|
|
1068
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
1362
1069
|
__name: "Stepper",
|
|
1363
1070
|
props: {
|
|
1364
1071
|
steps: {},
|
|
@@ -1427,7 +1134,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
1427
1134
|
key: 1,
|
|
1428
1135
|
icon: step.icon,
|
|
1429
1136
|
class: "size-6"
|
|
1430
|
-
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$
|
|
1137
|
+
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$6, toDisplayString(index + 1), 1))
|
|
1431
1138
|
], 2),
|
|
1432
1139
|
createElementVNode("div", {
|
|
1433
1140
|
class: normalizeClass([
|
|
@@ -1455,7 +1162,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
1455
1162
|
};
|
|
1456
1163
|
}
|
|
1457
1164
|
});
|
|
1458
|
-
const _sfc_main$
|
|
1165
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
1459
1166
|
__name: "CollapsibleCard",
|
|
1460
1167
|
props: {
|
|
1461
1168
|
title: {},
|
|
@@ -1551,7 +1258,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
1551
1258
|
};
|
|
1552
1259
|
}
|
|
1553
1260
|
});
|
|
1554
|
-
const _sfc_main$
|
|
1261
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
1555
1262
|
__name: "Tooltip",
|
|
1556
1263
|
props: {
|
|
1557
1264
|
content: {},
|
|
@@ -1626,7 +1333,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
1626
1333
|
};
|
|
1627
1334
|
}
|
|
1628
1335
|
});
|
|
1629
|
-
const _sfc_main$
|
|
1336
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
1630
1337
|
__name: "Popover",
|
|
1631
1338
|
props: {
|
|
1632
1339
|
position: { default: "bottom" },
|
|
@@ -1709,17 +1416,17 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1709
1416
|
};
|
|
1710
1417
|
}
|
|
1711
1418
|
});
|
|
1712
|
-
const _hoisted_1$
|
|
1419
|
+
const _hoisted_1$5 = {
|
|
1713
1420
|
key: 0,
|
|
1714
1421
|
class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700"
|
|
1715
1422
|
};
|
|
1716
|
-
const _hoisted_2$
|
|
1423
|
+
const _hoisted_2$4 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
|
|
1717
1424
|
const _hoisted_3$2 = { class: "flex-1 overflow-y-auto p-4" };
|
|
1718
1425
|
const _hoisted_4$2 = {
|
|
1719
1426
|
key: 1,
|
|
1720
1427
|
class: "px-4 py-3 border-t border-gray-200 dark:border-gray-700"
|
|
1721
1428
|
};
|
|
1722
|
-
const _sfc_main$
|
|
1429
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
1723
1430
|
__name: "Drawer",
|
|
1724
1431
|
props: {
|
|
1725
1432
|
modelValue: { type: Boolean },
|
|
@@ -1838,9 +1545,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1838
1545
|
role: "dialog",
|
|
1839
1546
|
"aria-modal": "true"
|
|
1840
1547
|
}, [
|
|
1841
|
-
__props.title || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1548
|
+
__props.title || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
1842
1549
|
renderSlot(_ctx.$slots, "header", {}, () => [
|
|
1843
|
-
createElementVNode("h2", _hoisted_2$
|
|
1550
|
+
createElementVNode("h2", _hoisted_2$4, toDisplayString(__props.title), 1)
|
|
1844
1551
|
]),
|
|
1845
1552
|
__props.showClose ? (openBlock(), createElementBlock("button", {
|
|
1846
1553
|
key: 0,
|
|
@@ -1868,9 +1575,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1868
1575
|
};
|
|
1869
1576
|
}
|
|
1870
1577
|
});
|
|
1871
|
-
const _hoisted_1$
|
|
1872
|
-
const _hoisted_2$
|
|
1873
|
-
const _sfc_main$
|
|
1578
|
+
const _hoisted_1$4 = { "aria-label": "Breadcrumb" };
|
|
1579
|
+
const _hoisted_2$3 = { class: "flex items-center flex-wrap gap-1 text-sm" };
|
|
1580
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
1874
1581
|
__name: "Breadcrumb",
|
|
1875
1582
|
props: {
|
|
1876
1583
|
items: {},
|
|
@@ -1881,8 +1588,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
1881
1588
|
emits: ["click"],
|
|
1882
1589
|
setup(__props) {
|
|
1883
1590
|
return (_ctx, _cache) => {
|
|
1884
|
-
return openBlock(), createElementBlock("nav", _hoisted_1$
|
|
1885
|
-
createElementVNode("ol", _hoisted_2$
|
|
1591
|
+
return openBlock(), createElementBlock("nav", _hoisted_1$4, [
|
|
1592
|
+
createElementVNode("ol", _hoisted_2$3, [
|
|
1886
1593
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
1887
1594
|
return openBlock(), createElementBlock("li", {
|
|
1888
1595
|
key: index,
|
|
@@ -1924,8 +1631,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
1924
1631
|
};
|
|
1925
1632
|
}
|
|
1926
1633
|
});
|
|
1927
|
-
const _hoisted_1$
|
|
1928
|
-
const _sfc_main$
|
|
1634
|
+
const _hoisted_1$3 = { class: "divide-y divide-gray-200 dark:divide-gray-700 border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden" };
|
|
1635
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
1929
1636
|
__name: "Accordion",
|
|
1930
1637
|
props: {
|
|
1931
1638
|
mode: { default: "single" },
|
|
@@ -1951,17 +1658,17 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
1951
1658
|
isOpen
|
|
1952
1659
|
});
|
|
1953
1660
|
return (_ctx, _cache) => {
|
|
1954
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1661
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
1955
1662
|
renderSlot(_ctx.$slots, "default")
|
|
1956
1663
|
]);
|
|
1957
1664
|
};
|
|
1958
1665
|
}
|
|
1959
1666
|
});
|
|
1960
|
-
const _hoisted_1$
|
|
1961
|
-
const _hoisted_2$
|
|
1667
|
+
const _hoisted_1$2 = ["disabled", "aria-expanded"];
|
|
1668
|
+
const _hoisted_2$2 = { class: "flex items-center gap-2 font-medium" };
|
|
1962
1669
|
const _hoisted_3$1 = { class: "overflow-hidden" };
|
|
1963
1670
|
const _hoisted_4$1 = { class: "px-4 py-3 bg-gray-50 dark:bg-gray-900 text-gray-700 dark:text-gray-300" };
|
|
1964
|
-
const _sfc_main$
|
|
1671
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
1965
1672
|
__name: "AccordionItem",
|
|
1966
1673
|
props: {
|
|
1967
1674
|
itemKey: {},
|
|
@@ -1989,7 +1696,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1989
1696
|
"aria-expanded": isOpen.value,
|
|
1990
1697
|
onClick: toggle
|
|
1991
1698
|
}, [
|
|
1992
|
-
createElementVNode("span", _hoisted_2$
|
|
1699
|
+
createElementVNode("span", _hoisted_2$2, [
|
|
1993
1700
|
__props.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
1994
1701
|
key: 0,
|
|
1995
1702
|
icon: __props.icon,
|
|
@@ -2001,7 +1708,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
2001
1708
|
icon: "heroicons:chevron-down",
|
|
2002
1709
|
class: normalizeClass(["w-5 h-5 transition-transform duration-200", { "rotate-180": isOpen.value }])
|
|
2003
1710
|
}, null, 8, ["class"])
|
|
2004
|
-
], 10, _hoisted_1$
|
|
1711
|
+
], 10, _hoisted_1$2),
|
|
2005
1712
|
createVNode(Transition, {
|
|
2006
1713
|
"enter-active-class": "transition-all duration-200 ease-out",
|
|
2007
1714
|
"enter-from-class": "opacity-0 max-h-0",
|
|
@@ -2025,11 +1732,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
2025
1732
|
};
|
|
2026
1733
|
}
|
|
2027
1734
|
});
|
|
2028
|
-
const _hoisted_1 = {
|
|
1735
|
+
const _hoisted_1$1 = {
|
|
2029
1736
|
key: 0,
|
|
2030
1737
|
class: "relative"
|
|
2031
1738
|
};
|
|
2032
|
-
const _hoisted_2 = { class: "flex items-start gap-4" };
|
|
1739
|
+
const _hoisted_2$1 = { class: "flex items-start gap-4" };
|
|
2033
1740
|
const _hoisted_3 = { class: "flex-1 min-w-0 pt-0.5" };
|
|
2034
1741
|
const _hoisted_4 = { class: "flex items-center justify-between gap-2" };
|
|
2035
1742
|
const _hoisted_5 = { class: "text-sm font-medium text-gray-900 dark:text-white" };
|
|
@@ -2052,7 +1759,7 @@ const _hoisted_12 = {
|
|
|
2052
1759
|
key: 0,
|
|
2053
1760
|
class: "text-xs text-gray-500 dark:text-gray-400"
|
|
2054
1761
|
};
|
|
2055
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1762
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
2056
1763
|
__name: "Timeline",
|
|
2057
1764
|
props: {
|
|
2058
1765
|
items: {},
|
|
@@ -2098,7 +1805,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2098
1805
|
}
|
|
2099
1806
|
};
|
|
2100
1807
|
return (_ctx, _cache) => {
|
|
2101
|
-
return __props.orientation === "vertical" ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
1808
|
+
return __props.orientation === "vertical" ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
2102
1809
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
2103
1810
|
return openBlock(), createElementBlock("div", {
|
|
2104
1811
|
key: item.key,
|
|
@@ -2108,7 +1815,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2108
1815
|
key: 0,
|
|
2109
1816
|
class: normalizeClass(["absolute left-4 top-8 w-0.5 h-full -ml-px", getStatusClasses(item.status).line])
|
|
2110
1817
|
}, null, 2)) : createCommentVNode("", true),
|
|
2111
|
-
createElementVNode("div", _hoisted_2, [
|
|
1818
|
+
createElementVNode("div", _hoisted_2$1, [
|
|
2112
1819
|
createElementVNode("div", {
|
|
2113
1820
|
class: normalizeClass(["relative z-10 flex items-center justify-center w-8 h-8 rounded-full flex-shrink-0", getStatusClasses(item.status).dot])
|
|
2114
1821
|
}, [
|
|
@@ -2160,6 +1867,51 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2160
1867
|
};
|
|
2161
1868
|
}
|
|
2162
1869
|
});
|
|
1870
|
+
const _hoisted_1 = ["aria-label"];
|
|
1871
|
+
const _hoisted_2 = {
|
|
1872
|
+
key: 0,
|
|
1873
|
+
class: "text-sm font-medium"
|
|
1874
|
+
};
|
|
1875
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1876
|
+
__name: "DarkModeToggle",
|
|
1877
|
+
props: {
|
|
1878
|
+
size: { default: "md" },
|
|
1879
|
+
lightIcon: { default: "lucide:sun" },
|
|
1880
|
+
darkIcon: { default: "lucide:moon" },
|
|
1881
|
+
showLabel: { type: Boolean, default: false },
|
|
1882
|
+
storageKey: { default: "dark-mode" }
|
|
1883
|
+
},
|
|
1884
|
+
setup(__props) {
|
|
1885
|
+
const props = __props;
|
|
1886
|
+
const { isDark, toggle } = useDarkMode({ storageKey: props.storageKey });
|
|
1887
|
+
const sizeClasses = {
|
|
1888
|
+
sm: { button: "p-1.5", icon: "h-4 w-4" },
|
|
1889
|
+
md: { button: "p-2", icon: "h-5 w-5" },
|
|
1890
|
+
lg: { button: "p-2.5", icon: "h-6 w-6" }
|
|
1891
|
+
};
|
|
1892
|
+
return (_ctx, _cache) => {
|
|
1893
|
+
return openBlock(), createElementBlock("button", {
|
|
1894
|
+
type: "button",
|
|
1895
|
+
class: normalizeClass([
|
|
1896
|
+
sizeClasses[__props.size].button,
|
|
1897
|
+
"inline-flex items-center gap-2 rounded-lg transition-colors",
|
|
1898
|
+
"text-gray-600 hover:bg-gray-100 hover:text-gray-900",
|
|
1899
|
+
"dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-100",
|
|
1900
|
+
"focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2"
|
|
1901
|
+
]),
|
|
1902
|
+
"aria-label": unref(isDark) ? "Switch to light mode" : "Switch to dark mode",
|
|
1903
|
+
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
1904
|
+
(...args) => unref(toggle) && unref(toggle)(...args))
|
|
1905
|
+
}, [
|
|
1906
|
+
createVNode(unref(Icon), {
|
|
1907
|
+
icon: unref(isDark) ? __props.darkIcon : __props.lightIcon,
|
|
1908
|
+
class: normalizeClass(sizeClasses[__props.size].icon)
|
|
1909
|
+
}, null, 8, ["icon", "class"]),
|
|
1910
|
+
__props.showLabel ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(unref(isDark) ? "Dark" : "Light"), 1)) : createCommentVNode("", true)
|
|
1911
|
+
], 10, _hoisted_1);
|
|
1912
|
+
};
|
|
1913
|
+
}
|
|
1914
|
+
});
|
|
2163
1915
|
export {
|
|
2164
1916
|
_sfc_main$i as _,
|
|
2165
1917
|
_sfc_main$h as a,
|
|
@@ -2181,4 +1933,4 @@ export {
|
|
|
2181
1933
|
_sfc_main$1 as q,
|
|
2182
1934
|
_sfc_main as r
|
|
2183
1935
|
};
|
|
2184
|
-
//# sourceMappingURL=
|
|
1936
|
+
//# sourceMappingURL=DarkModeToggle.vue_vue_type_script_setup_true_lang-43fxlbro.js.map
|