cisse-vue-ui 0.5.21 → 0.5.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ListSkeleton.vue_vue_type_script_setup_true_lang-D3_Oddwt.js → Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js} +114 -10
- package/dist/Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js.map +1 -0
- package/dist/{ListSkeleton.vue_vue_type_script_setup_true_lang-CrEu33_J.cjs → Button.vue_vue_type_script_setup_true_lang-Cev21KGJ.cjs} +113 -9
- package/dist/Button.vue_vue_type_script_setup_true_lang-Cev21KGJ.cjs.map +1 -0
- package/dist/{RangeSlider.vue_vue_type_script_setup_true_lang-ClH-pyK8.cjs → Combobox.vue_vue_type_script_setup_true_lang-D9TIId4E.cjs} +621 -266
- package/dist/Combobox.vue_vue_type_script_setup_true_lang-D9TIId4E.cjs.map +1 -0
- package/dist/{RangeSlider.vue_vue_type_script_setup_true_lang-B79_S1JL.js → Combobox.vue_vue_type_script_setup_true_lang-DCLKWzhc.js} +595 -240
- package/dist/Combobox.vue_vue_type_script_setup_true_lang-DCLKWzhc.js.map +1 -0
- package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-CsDMGhaT.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-CwHYxBhR.cjs} +290 -128
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CwHYxBhR.cjs.map +1 -0
- package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-Q4PcIELi.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-Dm4kLAnr.js} +291 -129
- package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-Dm4kLAnr.js.map +1 -0
- package/dist/{Timeline.vue_vue_type_script_setup_true_lang-C5SKEGPG.cjs → DarkModeToggle.vue_vue_type_script_setup_true_lang-CSxGvdSP.cjs} +192 -408
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-CSxGvdSP.cjs.map +1 -0
- package/dist/{Timeline.vue_vue_type_script_setup_true_lang-ykGksWXN.js → DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js} +153 -369
- package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js.map +1 -0
- package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-DKxcVBKu.cjs → Dropdown.vue_vue_type_script_setup_true_lang-DNeh9Gi-.cjs} +32 -15
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DNeh9Gi-.cjs.map +1 -0
- package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-C3pr8BwC.js → Dropdown.vue_vue_type_script_setup_true_lang-DXV811zB.js} +32 -15
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DXV811zB.js.map +1 -0
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-D22uNeS1.cjs → PageLayout.vue_vue_type_script_setup_true_lang-C0YzyJnK.cjs} +2 -2
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-D22uNeS1.cjs.map → PageLayout.vue_vue_type_script_setup_true_lang-C0YzyJnK.cjs.map} +1 -1
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-kT7np2ir.js → PageLayout.vue_vue_type_script_setup_true_lang-ClzYGS8h.js} +2 -2
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-kT7np2ir.js.map → PageLayout.vue_vue_type_script_setup_true_lang-ClzYGS8h.js.map} +1 -1
- package/dist/components/core/AccordionItem.vue.d.ts +2 -0
- package/dist/components/core/DarkModeToggle.stories.d.ts +15 -0
- package/dist/components/core/DarkModeToggle.test.d.ts +1 -0
- package/dist/components/core/DarkModeToggle.vue.d.ts +21 -0
- package/dist/components/core/Dropdown.vue.d.ts +2 -0
- package/dist/components/core/Popover.vue.d.ts +2 -0
- package/dist/components/core/Tooltip.vue.d.ts +2 -0
- package/dist/components/core/index.cjs +23 -21
- package/dist/components/core/index.cjs.map +1 -1
- package/dist/components/core/index.d.ts +2 -0
- package/dist/components/core/index.js +17 -15
- package/dist/components/core/index.js.map +1 -1
- package/dist/components/core/index.test.d.ts +1 -0
- package/dist/components/feedback/ConfirmDialog.stories.d.ts +12 -0
- package/dist/components/feedback/ConfirmDialog.test.d.ts +1 -0
- package/dist/components/feedback/ConfirmDialog.vue.d.ts +53 -0
- package/dist/components/feedback/LoadingSpinner.vue.d.ts +6 -1
- package/dist/components/feedback/Modal.vue.d.ts +18 -3
- package/dist/components/feedback/Progress.vue.d.ts +1 -1
- package/dist/components/feedback/index.cjs +17 -16
- package/dist/components/feedback/index.cjs.map +1 -1
- package/dist/components/feedback/index.d.ts +2 -0
- package/dist/components/feedback/index.js +6 -5
- package/dist/components/feedback/index.test.d.ts +1 -0
- package/dist/components/form/Checkbox.vue.d.ts +2 -0
- package/dist/components/form/ColorPicker.vue.d.ts +3 -0
- package/dist/components/form/Combobox.stories.d.ts +15 -0
- package/dist/components/form/Combobox.test.d.ts +1 -0
- package/dist/components/form/Combobox.vue.d.ts +46 -0
- package/dist/components/form/DatePicker.vue.d.ts +2 -0
- package/dist/components/form/FormHelp.vue.d.ts +2 -0
- package/dist/components/form/Switch.vue.d.ts +2 -0
- package/dist/components/form/index.cjs +17 -16
- package/dist/components/form/index.cjs.map +1 -1
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.js +3 -2
- package/dist/components/form/index.test.d.ts +1 -0
- package/dist/components/index.cjs +57 -54
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +35 -32
- package/dist/components/index.test.d.ts +1 -0
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/layout/index.test.d.ts +1 -0
- package/dist/components/type/index.test.d.ts +1 -0
- package/dist/composables/index.cjs +9 -2
- package/dist/composables/index.cjs.map +1 -1
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/index.js +15 -8
- package/dist/composables/index.js.map +1 -1
- package/dist/composables/index.test.d.ts +1 -0
- package/dist/composables/useDarkMode.test.d.ts +1 -0
- package/dist/composables/useDropdown.test.d.ts +1 -0
- package/dist/composables/useExportCSV.test.d.ts +1 -0
- package/dist/composables/useFocusTrap.d.ts +41 -0
- package/dist/composables/useFocusTrap.test.d.ts +1 -0
- package/dist/composables/useId.d.ts +42 -0
- package/dist/composables/useId.test.d.ts +1 -0
- package/dist/composables/useModal.d.ts +1 -1
- package/dist/composables/useModal.test.d.ts +1 -0
- package/dist/index-BMoLBt6A.js +75 -0
- package/dist/index-BMoLBt6A.js.map +1 -0
- package/dist/index-CJwlO351.js +347 -0
- package/dist/index-CJwlO351.js.map +1 -0
- package/dist/index-CUNU12xk.cjs +346 -0
- package/dist/index-CUNU12xk.cjs.map +1 -0
- package/dist/index-DwFvFW-3.cjs +74 -0
- package/dist/index-DwFvFW-3.cjs.map +1 -0
- package/dist/index.cjs +67 -57
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +51 -41
- package/dist/index.js.map +1 -1
- package/dist/index.test.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/types/form.d.ts +4 -0
- package/dist/types/index.test.d.ts +1 -0
- package/dist/useDarkMode-Cl5QWTlC.js +53 -0
- package/dist/useDarkMode-Cl5QWTlC.js.map +1 -0
- package/dist/useDarkMode-DLZcJEUQ.cjs +52 -0
- package/dist/useDarkMode-DLZcJEUQ.cjs.map +1 -0
- package/dist/useFocusTrap-AnlJsihM.js +120 -0
- package/dist/useFocusTrap-AnlJsihM.js.map +1 -0
- package/dist/useFocusTrap-kcxO8AeU.cjs +119 -0
- package/dist/useFocusTrap-kcxO8AeU.cjs.map +1 -0
- package/dist/useId-nxrBaIC9.cjs +25 -0
- package/dist/useId-nxrBaIC9.cjs.map +1 -0
- package/dist/useId-xeHj7rkg.js +26 -0
- package/dist/useId-xeHj7rkg.js.map +1 -0
- package/dist/{useToast-CRh_sG82.cjs → useToast-Bk60GArg.cjs} +1 -50
- package/dist/useToast-Bk60GArg.cjs.map +1 -0
- package/dist/{useToast-DwFOkewC.js → useToast-ina5g3mj.js} +6 -55
- package/dist/useToast-ina5g3mj.js.map +1 -0
- package/package.json +9 -8
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-B-nLCCNY.js +0 -54
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-B-nLCCNY.js.map +0 -1
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-DIoHDji4.cjs +0 -53
- package/dist/Checkbox.vue_vue_type_script_setup_true_lang-DIoHDji4.cjs.map +0 -1
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-C3pr8BwC.js.map +0 -1
- package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DKxcVBKu.cjs.map +0 -1
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-CrEu33_J.cjs.map +0 -1
- package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-D3_Oddwt.js.map +0 -1
- package/dist/RangeSlider.vue_vue_type_script_setup_true_lang-B79_S1JL.js.map +0 -1
- package/dist/RangeSlider.vue_vue_type_script_setup_true_lang-ClH-pyK8.cjs.map +0 -1
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-CsDMGhaT.cjs.map +0 -1
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-Q4PcIELi.js.map +0 -1
- package/dist/Timeline.vue_vue_type_script_setup_true_lang-C5SKEGPG.cjs.map +0 -1
- package/dist/Timeline.vue_vue_type_script_setup_true_lang-ykGksWXN.js.map +0 -1
- package/dist/index-C3NAM2ds.js +0 -72
- package/dist/index-C3NAM2ds.js.map +0 -1
- package/dist/index-Ti1RIOEG.cjs +0 -71
- package/dist/index-Ti1RIOEG.cjs.map +0 -1
- package/dist/useToast-CRh_sG82.cjs.map +0 -1
- package/dist/useToast-DwFOkewC.js.map +0 -1
|
@@ -1,14 +1,16 @@
|
|
|
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-CJwlO351.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-CD9QPOeU.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 useId } from "./useId-xeHj7rkg.js";
|
|
8
|
+
import { u as useDarkMode } from "./useDarkMode-Cl5QWTlC.js";
|
|
9
|
+
const _hoisted_1$f = {
|
|
8
10
|
key: 1,
|
|
9
11
|
class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950"
|
|
10
12
|
};
|
|
11
|
-
const _hoisted_2$
|
|
13
|
+
const _hoisted_2$c = { class: "flex flex-col gap-0.5" };
|
|
12
14
|
const _hoisted_3$7 = {
|
|
13
15
|
key: 1,
|
|
14
16
|
class: "text-sm font-normal text-gray-600 dark:text-gray-400"
|
|
@@ -40,7 +42,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
40
42
|
lines: __props.loadingLines,
|
|
41
43
|
"show-avatar": __props.loadingAvatar,
|
|
42
44
|
"show-actions": __props.loadingActions
|
|
43
|
-
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$
|
|
45
|
+
}, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$f, [
|
|
44
46
|
_ctx.$slots.header ? (openBlock(), createElementBlock("div", {
|
|
45
47
|
key: 0,
|
|
46
48
|
class: normalizeClass(["border-b", dividerClasses.value])
|
|
@@ -50,7 +52,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
50
52
|
key: 1,
|
|
51
53
|
class: normalizeClass(["flex items-center justify-between border-b px-5 py-3", dividerClasses.value])
|
|
52
54
|
}, [
|
|
53
|
-
createElementVNode("div", _hoisted_2$
|
|
55
|
+
createElementVNode("div", _hoisted_2$c, [
|
|
54
56
|
__props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", {
|
|
55
57
|
key: 0,
|
|
56
58
|
class: normalizeClass(["text-md font-semibold", titleClasses.value])
|
|
@@ -74,8 +76,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
78
|
});
|
|
77
|
-
const _hoisted_1$
|
|
78
|
-
const _hoisted_2$
|
|
79
|
+
const _hoisted_1$e = { class: "overflow-hidden" };
|
|
80
|
+
const _hoisted_2$b = {
|
|
79
81
|
key: 1,
|
|
80
82
|
class: "overflow-x-auto"
|
|
81
83
|
};
|
|
@@ -209,12 +211,12 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
209
211
|
return props.sortBy === property.name;
|
|
210
212
|
};
|
|
211
213
|
return (_ctx, _cache) => {
|
|
212
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
214
|
+
return openBlock(), createElementBlock("div", _hoisted_1$e, [
|
|
213
215
|
__props.loading ? (openBlock(), createBlock(_sfc_main$k, {
|
|
214
216
|
key: 0,
|
|
215
217
|
rows: __props.loadingRows,
|
|
216
218
|
columns: visibleProperties.value.length
|
|
217
|
-
}, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
219
|
+
}, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$b, [
|
|
218
220
|
createElementVNode("table", _hoisted_3$6, [
|
|
219
221
|
createElementVNode("thead", _hoisted_4$5, [
|
|
220
222
|
createElementVNode("tr", null, [
|
|
@@ -320,8 +322,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
320
322
|
};
|
|
321
323
|
}
|
|
322
324
|
});
|
|
323
|
-
const _hoisted_1$
|
|
324
|
-
const _hoisted_2$
|
|
325
|
+
const _hoisted_1$d = { class: "space-y-3" };
|
|
326
|
+
const _hoisted_2$a = { class: "flex items-center gap-3 p-3" };
|
|
325
327
|
const _hoisted_3$5 = { class: "text-sm text-gray-600 dark:text-gray-400" };
|
|
326
328
|
const _hoisted_4$4 = {
|
|
327
329
|
key: 0,
|
|
@@ -388,7 +390,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
388
390
|
};
|
|
389
391
|
const hasEmptySlot = computed(() => !!slots.empty);
|
|
390
392
|
return (_ctx, _cache) => {
|
|
391
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
393
|
+
return openBlock(), createElementBlock("div", _hoisted_1$d, [
|
|
392
394
|
__props.loading ? (openBlock(), createBlock(_sfc_main$i, { key: 0 }, {
|
|
393
395
|
default: withCtx(() => [
|
|
394
396
|
createVNode(_sfc_main$r, {
|
|
@@ -402,7 +404,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
402
404
|
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
403
405
|
__props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$i, { key: 0 }, {
|
|
404
406
|
default: withCtx(() => [
|
|
405
|
-
createElementVNode("div", _hoisted_2$
|
|
407
|
+
createElementVNode("div", _hoisted_2$a, [
|
|
406
408
|
createVNode(_sfc_main$l, {
|
|
407
409
|
"model-value": allSelected.value,
|
|
408
410
|
indeterminate: someSelected.value,
|
|
@@ -450,207 +452,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
450
452
|
};
|
|
451
453
|
}
|
|
452
454
|
});
|
|
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
455
|
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
655
456
|
__name: "ResponsiveList",
|
|
656
457
|
props: {
|
|
@@ -700,7 +501,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
700
501
|
return !!slots[`cell-${key}`];
|
|
701
502
|
};
|
|
702
503
|
const hasActionsSlot = computed(() => !!slots.actions);
|
|
703
|
-
const breakpoints =
|
|
504
|
+
const breakpoints = useBreakpoints({
|
|
704
505
|
sm: 640,
|
|
705
506
|
md: 768,
|
|
706
507
|
lg: 1024,
|
|
@@ -788,11 +589,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
788
589
|
};
|
|
789
590
|
}
|
|
790
591
|
});
|
|
791
|
-
const _hoisted_1$
|
|
592
|
+
const _hoisted_1$c = {
|
|
792
593
|
key: 0,
|
|
793
594
|
class: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"
|
|
794
595
|
};
|
|
795
|
-
const _hoisted_2$
|
|
596
|
+
const _hoisted_2$9 = { class: "relative" };
|
|
796
597
|
const _hoisted_3$4 = ["disabled", "placeholder"];
|
|
797
598
|
const _hoisted_4$3 = ["disabled"];
|
|
798
599
|
const _hoisted_5$1 = {
|
|
@@ -908,8 +709,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
908
709
|
ref: containerRef,
|
|
909
710
|
class: "autocomplete-container"
|
|
910
711
|
}, [
|
|
911
|
-
__props.label ? (openBlock(), createElementBlock("label", _hoisted_1$
|
|
912
|
-
createElementVNode("div", _hoisted_2$
|
|
712
|
+
__props.label ? (openBlock(), createElementBlock("label", _hoisted_1$c, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
|
|
713
|
+
createElementVNode("div", _hoisted_2$9, [
|
|
913
714
|
createElementVNode("div", {
|
|
914
715
|
ref_key: "inputWrapperRef",
|
|
915
716
|
ref: inputWrapperRef,
|
|
@@ -1084,103 +885,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1084
885
|
};
|
|
1085
886
|
}
|
|
1086
887
|
});
|
|
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"];
|
|
888
|
+
const _hoisted_1$b = { class: "relative inline-block" };
|
|
889
|
+
const _hoisted_2$8 = ["src", "alt"];
|
|
1182
890
|
const _hoisted_3$3 = { key: 1 };
|
|
1183
|
-
const _sfc_main$
|
|
891
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
1184
892
|
__name: "Avatar",
|
|
1185
893
|
props: {
|
|
1186
894
|
src: {},
|
|
@@ -1226,7 +934,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
1226
934
|
});
|
|
1227
935
|
const showImage = computed(() => props.src && !imageError.value);
|
|
1228
936
|
return (_ctx, _cache) => {
|
|
1229
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
937
|
+
return openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
1230
938
|
createElementVNode("div", {
|
|
1231
939
|
class: normalizeClass([
|
|
1232
940
|
"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 +948,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
1240
948
|
alt: __props.alt || __props.name,
|
|
1241
949
|
class: "size-full object-cover",
|
|
1242
950
|
onError: _cache[0] || (_cache[0] = ($event) => imageError.value = true)
|
|
1243
|
-
}, null, 40, _hoisted_2$
|
|
951
|
+
}, null, 40, _hoisted_2$8)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$3, toDisplayString(initials.value), 1)) : (openBlock(), createBlock(unref(Icon), {
|
|
1244
952
|
key: 2,
|
|
1245
953
|
icon: "lucide:user",
|
|
1246
954
|
class: "size-1/2"
|
|
@@ -1258,9 +966,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
1258
966
|
};
|
|
1259
967
|
}
|
|
1260
968
|
});
|
|
1261
|
-
const _hoisted_1$
|
|
1262
|
-
const _hoisted_2$
|
|
1263
|
-
const _sfc_main$
|
|
969
|
+
const _hoisted_1$a = ["aria-selected", "disabled", "onClick"];
|
|
970
|
+
const _hoisted_2$7 = { class: "mt-4" };
|
|
971
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
1264
972
|
__name: "Tabs",
|
|
1265
973
|
props: {
|
|
1266
974
|
tabs: {},
|
|
@@ -1325,18 +1033,18 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
1325
1033
|
activeTab.value === tab.key ? variantClasses[__props.variant].active : variantClasses[__props.variant].inactive
|
|
1326
1034
|
]),
|
|
1327
1035
|
onClick: ($event) => selectTab(tab)
|
|
1328
|
-
}, toDisplayString(tab.label), 11, _hoisted_1$
|
|
1036
|
+
}, toDisplayString(tab.label), 11, _hoisted_1$a);
|
|
1329
1037
|
}), 128))
|
|
1330
1038
|
], 2),
|
|
1331
|
-
createElementVNode("div", _hoisted_2$
|
|
1039
|
+
createElementVNode("div", _hoisted_2$7, [
|
|
1332
1040
|
renderSlot(_ctx.$slots, "default", { activeTab: activeTab.value })
|
|
1333
1041
|
])
|
|
1334
1042
|
]);
|
|
1335
1043
|
};
|
|
1336
1044
|
}
|
|
1337
1045
|
});
|
|
1338
|
-
const _hoisted_1$
|
|
1339
|
-
const _sfc_main$
|
|
1046
|
+
const _hoisted_1$9 = { role: "tabpanel" };
|
|
1047
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
1340
1048
|
__name: "TabPanel",
|
|
1341
1049
|
props: {
|
|
1342
1050
|
value: {}
|
|
@@ -1346,7 +1054,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
1346
1054
|
const activeTab = inject("activeTab");
|
|
1347
1055
|
const isActive = computed(() => (activeTab == null ? void 0 : activeTab.value) === props.value);
|
|
1348
1056
|
return (_ctx, _cache) => {
|
|
1349
|
-
return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$
|
|
1057
|
+
return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$9, [
|
|
1350
1058
|
renderSlot(_ctx.$slots, "default")
|
|
1351
1059
|
], 512)), [
|
|
1352
1060
|
[vShow, isActive.value]
|
|
@@ -1354,11 +1062,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
1354
1062
|
};
|
|
1355
1063
|
}
|
|
1356
1064
|
});
|
|
1357
|
-
const _hoisted_1$
|
|
1065
|
+
const _hoisted_1$8 = {
|
|
1358
1066
|
key: 2,
|
|
1359
1067
|
class: "text-sm font-semibold"
|
|
1360
1068
|
};
|
|
1361
|
-
const _sfc_main$
|
|
1069
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
1362
1070
|
__name: "Stepper",
|
|
1363
1071
|
props: {
|
|
1364
1072
|
steps: {},
|
|
@@ -1427,7 +1135,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
1427
1135
|
key: 1,
|
|
1428
1136
|
icon: step.icon,
|
|
1429
1137
|
class: "size-6"
|
|
1430
|
-
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$
|
|
1138
|
+
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$8, toDisplayString(index + 1), 1))
|
|
1431
1139
|
], 2),
|
|
1432
1140
|
createElementVNode("div", {
|
|
1433
1141
|
class: normalizeClass([
|
|
@@ -1455,7 +1163,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
1455
1163
|
};
|
|
1456
1164
|
}
|
|
1457
1165
|
});
|
|
1458
|
-
const _sfc_main$
|
|
1166
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
1459
1167
|
__name: "CollapsibleCard",
|
|
1460
1168
|
props: {
|
|
1461
1169
|
title: {},
|
|
@@ -1551,16 +1259,20 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
1551
1259
|
};
|
|
1552
1260
|
}
|
|
1553
1261
|
});
|
|
1554
|
-
const
|
|
1262
|
+
const _hoisted_1$7 = ["aria-describedby"];
|
|
1263
|
+
const _hoisted_2$6 = ["id"];
|
|
1264
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
1555
1265
|
__name: "Tooltip",
|
|
1556
1266
|
props: {
|
|
1557
1267
|
content: {},
|
|
1558
1268
|
position: { default: "top" },
|
|
1559
1269
|
delay: { default: 0 },
|
|
1560
|
-
disabled: { type: Boolean, default: false }
|
|
1270
|
+
disabled: { type: Boolean, default: false },
|
|
1271
|
+
id: {}
|
|
1561
1272
|
},
|
|
1562
1273
|
setup(__props) {
|
|
1563
1274
|
const props = __props;
|
|
1275
|
+
const { id: tooltipId } = useId({ prefix: "tooltip", id: props.id });
|
|
1564
1276
|
const isVisible = ref(false);
|
|
1565
1277
|
let timeoutId = null;
|
|
1566
1278
|
const show = () => {
|
|
@@ -1599,6 +1311,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
1599
1311
|
return (_ctx, _cache) => {
|
|
1600
1312
|
return openBlock(), createElementBlock("div", {
|
|
1601
1313
|
class: "relative inline-block",
|
|
1314
|
+
"aria-describedby": __props.content && !__props.disabled ? unref(tooltipId) : void 0,
|
|
1602
1315
|
onMouseenter: show,
|
|
1603
1316
|
onMouseleave: hide,
|
|
1604
1317
|
onFocus: show,
|
|
@@ -1616,26 +1329,33 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
1616
1329
|
default: withCtx(() => [
|
|
1617
1330
|
isVisible.value && __props.content ? (openBlock(), createElementBlock("div", {
|
|
1618
1331
|
key: 0,
|
|
1332
|
+
id: unref(tooltipId),
|
|
1619
1333
|
class: normalizeClass(positionClasses.value),
|
|
1620
1334
|
role: "tooltip"
|
|
1621
|
-
}, toDisplayString(__props.content),
|
|
1335
|
+
}, toDisplayString(__props.content), 11, _hoisted_2$6)) : createCommentVNode("", true)
|
|
1622
1336
|
]),
|
|
1623
1337
|
_: 1
|
|
1624
1338
|
})
|
|
1625
|
-
],
|
|
1339
|
+
], 40, _hoisted_1$7);
|
|
1626
1340
|
};
|
|
1627
1341
|
}
|
|
1628
1342
|
});
|
|
1629
|
-
const
|
|
1343
|
+
const _hoisted_1$6 = ["id", "aria-expanded", "aria-controls"];
|
|
1344
|
+
const _hoisted_2$5 = ["id", "aria-labelledby"];
|
|
1345
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
1630
1346
|
__name: "Popover",
|
|
1631
1347
|
props: {
|
|
1632
1348
|
position: { default: "bottom" },
|
|
1633
1349
|
hover: { type: Boolean, default: false },
|
|
1634
1350
|
teleport: { type: Boolean, default: true },
|
|
1635
|
-
width: { default: "auto" }
|
|
1351
|
+
width: { default: "auto" },
|
|
1352
|
+
id: {}
|
|
1636
1353
|
},
|
|
1637
1354
|
setup(__props) {
|
|
1638
1355
|
const props = __props;
|
|
1356
|
+
const { related } = useId({ prefix: "popover", id: props.id });
|
|
1357
|
+
const triggerId = computed(() => related("trigger"));
|
|
1358
|
+
const popoverId = computed(() => related("content"));
|
|
1639
1359
|
const triggerRef = ref();
|
|
1640
1360
|
const popoverRef = ref();
|
|
1641
1361
|
const { isOpen, dropdownStyle, toggle, close, open } = useDropdown(triggerRef, popoverRef, {
|
|
@@ -1672,10 +1392,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1672
1392
|
createElementVNode("div", {
|
|
1673
1393
|
ref_key: "triggerRef",
|
|
1674
1394
|
ref: triggerRef,
|
|
1395
|
+
id: triggerId.value,
|
|
1396
|
+
"aria-expanded": unref(isOpen),
|
|
1397
|
+
"aria-controls": popoverId.value,
|
|
1675
1398
|
onClick: handleTrigger
|
|
1676
1399
|
}, [
|
|
1677
1400
|
renderSlot(_ctx.$slots, "trigger")
|
|
1678
|
-
],
|
|
1401
|
+
], 8, _hoisted_1$6),
|
|
1679
1402
|
(openBlock(), createBlock(Teleport, {
|
|
1680
1403
|
to: "body",
|
|
1681
1404
|
disabled: !__props.teleport
|
|
@@ -1691,8 +1414,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1691
1414
|
default: withCtx(() => [
|
|
1692
1415
|
unref(isOpen) ? (openBlock(), createElementBlock("div", {
|
|
1693
1416
|
key: 0,
|
|
1417
|
+
id: popoverId.value,
|
|
1694
1418
|
ref_key: "popoverRef",
|
|
1695
1419
|
ref: popoverRef,
|
|
1420
|
+
role: "dialog",
|
|
1421
|
+
"aria-labelledby": triggerId.value,
|
|
1696
1422
|
style: normalizeStyle(unref(dropdownStyle)),
|
|
1697
1423
|
class: normalizeClass([
|
|
1698
1424
|
"z-[9999] rounded-lg border border-gray-200 bg-white p-4 shadow-lg dark:border-gray-700 dark:bg-gray-800",
|
|
@@ -1700,7 +1426,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1700
1426
|
])
|
|
1701
1427
|
}, [
|
|
1702
1428
|
renderSlot(_ctx.$slots, "default", { close: unref(close) })
|
|
1703
|
-
],
|
|
1429
|
+
], 14, _hoisted_2$5)) : createCommentVNode("", true)
|
|
1704
1430
|
]),
|
|
1705
1431
|
_: 3
|
|
1706
1432
|
})
|
|
@@ -1709,17 +1435,17 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
1709
1435
|
};
|
|
1710
1436
|
}
|
|
1711
1437
|
});
|
|
1712
|
-
const _hoisted_1$
|
|
1438
|
+
const _hoisted_1$5 = {
|
|
1713
1439
|
key: 0,
|
|
1714
1440
|
class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700"
|
|
1715
1441
|
};
|
|
1716
|
-
const _hoisted_2$
|
|
1442
|
+
const _hoisted_2$4 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
|
|
1717
1443
|
const _hoisted_3$2 = { class: "flex-1 overflow-y-auto p-4" };
|
|
1718
1444
|
const _hoisted_4$2 = {
|
|
1719
1445
|
key: 1,
|
|
1720
1446
|
class: "px-4 py-3 border-t border-gray-200 dark:border-gray-700"
|
|
1721
1447
|
};
|
|
1722
|
-
const _sfc_main$
|
|
1448
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
1723
1449
|
__name: "Drawer",
|
|
1724
1450
|
props: {
|
|
1725
1451
|
modelValue: { type: Boolean },
|
|
@@ -1838,9 +1564,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1838
1564
|
role: "dialog",
|
|
1839
1565
|
"aria-modal": "true"
|
|
1840
1566
|
}, [
|
|
1841
|
-
__props.title || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1567
|
+
__props.title || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
1842
1568
|
renderSlot(_ctx.$slots, "header", {}, () => [
|
|
1843
|
-
createElementVNode("h2", _hoisted_2$
|
|
1569
|
+
createElementVNode("h2", _hoisted_2$4, toDisplayString(__props.title), 1)
|
|
1844
1570
|
]),
|
|
1845
1571
|
__props.showClose ? (openBlock(), createElementBlock("button", {
|
|
1846
1572
|
key: 0,
|
|
@@ -1868,9 +1594,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1868
1594
|
};
|
|
1869
1595
|
}
|
|
1870
1596
|
});
|
|
1871
|
-
const _hoisted_1$
|
|
1872
|
-
const _hoisted_2$
|
|
1873
|
-
const _sfc_main$
|
|
1597
|
+
const _hoisted_1$4 = { "aria-label": "Breadcrumb" };
|
|
1598
|
+
const _hoisted_2$3 = { class: "flex items-center flex-wrap gap-1 text-sm" };
|
|
1599
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
1874
1600
|
__name: "Breadcrumb",
|
|
1875
1601
|
props: {
|
|
1876
1602
|
items: {},
|
|
@@ -1881,8 +1607,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
1881
1607
|
emits: ["click"],
|
|
1882
1608
|
setup(__props) {
|
|
1883
1609
|
return (_ctx, _cache) => {
|
|
1884
|
-
return openBlock(), createElementBlock("nav", _hoisted_1$
|
|
1885
|
-
createElementVNode("ol", _hoisted_2$
|
|
1610
|
+
return openBlock(), createElementBlock("nav", _hoisted_1$4, [
|
|
1611
|
+
createElementVNode("ol", _hoisted_2$3, [
|
|
1886
1612
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
1887
1613
|
return openBlock(), createElementBlock("li", {
|
|
1888
1614
|
key: index,
|
|
@@ -1924,8 +1650,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
1924
1650
|
};
|
|
1925
1651
|
}
|
|
1926
1652
|
});
|
|
1927
|
-
const _hoisted_1$
|
|
1928
|
-
const _sfc_main$
|
|
1653
|
+
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" };
|
|
1654
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
1929
1655
|
__name: "Accordion",
|
|
1930
1656
|
props: {
|
|
1931
1657
|
mode: { default: "single" },
|
|
@@ -1951,26 +1677,30 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
1951
1677
|
isOpen
|
|
1952
1678
|
});
|
|
1953
1679
|
return (_ctx, _cache) => {
|
|
1954
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1680
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
1955
1681
|
renderSlot(_ctx.$slots, "default")
|
|
1956
1682
|
]);
|
|
1957
1683
|
};
|
|
1958
1684
|
}
|
|
1959
1685
|
});
|
|
1960
|
-
const _hoisted_1$
|
|
1961
|
-
const _hoisted_2$
|
|
1962
|
-
const _hoisted_3$1 =
|
|
1686
|
+
const _hoisted_1$2 = ["id", "disabled", "aria-expanded", "aria-controls"];
|
|
1687
|
+
const _hoisted_2$2 = { class: "flex items-center gap-2 font-medium" };
|
|
1688
|
+
const _hoisted_3$1 = ["id", "aria-labelledby"];
|
|
1963
1689
|
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$
|
|
1690
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
1965
1691
|
__name: "AccordionItem",
|
|
1966
1692
|
props: {
|
|
1967
1693
|
itemKey: {},
|
|
1968
1694
|
title: {},
|
|
1969
1695
|
icon: {},
|
|
1970
|
-
disabled: { type: Boolean }
|
|
1696
|
+
disabled: { type: Boolean },
|
|
1697
|
+
id: {}
|
|
1971
1698
|
},
|
|
1972
1699
|
setup(__props) {
|
|
1973
1700
|
const props = __props;
|
|
1701
|
+
const { related } = useId({ prefix: "accordion", id: props.id });
|
|
1702
|
+
const headerId = computed(() => related("header"));
|
|
1703
|
+
const panelId = computed(() => related("panel"));
|
|
1974
1704
|
const accordion = inject("accordion");
|
|
1975
1705
|
const isOpen = computed(() => (accordion == null ? void 0 : accordion.isOpen(props.itemKey)) ?? false);
|
|
1976
1706
|
const toggle = () => {
|
|
@@ -1981,27 +1711,31 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1981
1711
|
return (_ctx, _cache) => {
|
|
1982
1712
|
return openBlock(), createElementBlock("div", null, [
|
|
1983
1713
|
createElementVNode("button", {
|
|
1714
|
+
id: headerId.value,
|
|
1984
1715
|
type: "button",
|
|
1985
1716
|
class: normalizeClass(["flex items-center justify-between w-full px-4 py-3 text-left transition-colors", [
|
|
1986
1717
|
__props.disabled ? "bg-gray-50 text-gray-400 cursor-not-allowed dark:bg-gray-800 dark:text-gray-500" : "bg-white hover:bg-gray-50 text-gray-900 dark:bg-gray-800 dark:hover:bg-gray-700 dark:text-white"
|
|
1987
1718
|
]]),
|
|
1988
1719
|
disabled: __props.disabled,
|
|
1989
1720
|
"aria-expanded": isOpen.value,
|
|
1721
|
+
"aria-controls": panelId.value,
|
|
1990
1722
|
onClick: toggle
|
|
1991
1723
|
}, [
|
|
1992
|
-
createElementVNode("span", _hoisted_2$
|
|
1724
|
+
createElementVNode("span", _hoisted_2$2, [
|
|
1993
1725
|
__props.icon ? (openBlock(), createBlock(unref(Icon), {
|
|
1994
1726
|
key: 0,
|
|
1995
1727
|
icon: __props.icon,
|
|
1996
|
-
class: "w-5 h-5"
|
|
1728
|
+
class: "w-5 h-5",
|
|
1729
|
+
"aria-hidden": "true"
|
|
1997
1730
|
}, null, 8, ["icon"])) : createCommentVNode("", true),
|
|
1998
1731
|
createTextVNode(" " + toDisplayString(__props.title), 1)
|
|
1999
1732
|
]),
|
|
2000
1733
|
createVNode(unref(Icon), {
|
|
2001
1734
|
icon: "heroicons:chevron-down",
|
|
2002
|
-
class: normalizeClass(["w-5 h-5 transition-transform duration-200", { "rotate-180": isOpen.value }])
|
|
1735
|
+
class: normalizeClass(["w-5 h-5 transition-transform duration-200", { "rotate-180": isOpen.value }]),
|
|
1736
|
+
"aria-hidden": "true"
|
|
2003
1737
|
}, null, 8, ["class"])
|
|
2004
|
-
], 10, _hoisted_1$
|
|
1738
|
+
], 10, _hoisted_1$2),
|
|
2005
1739
|
createVNode(Transition, {
|
|
2006
1740
|
"enter-active-class": "transition-all duration-200 ease-out",
|
|
2007
1741
|
"enter-from-class": "opacity-0 max-h-0",
|
|
@@ -2011,11 +1745,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
2011
1745
|
"leave-to-class": "opacity-0 max-h-0"
|
|
2012
1746
|
}, {
|
|
2013
1747
|
default: withCtx(() => [
|
|
2014
|
-
withDirectives(createElementVNode("div",
|
|
1748
|
+
withDirectives(createElementVNode("div", {
|
|
1749
|
+
id: panelId.value,
|
|
1750
|
+
role: "region",
|
|
1751
|
+
"aria-labelledby": headerId.value,
|
|
1752
|
+
class: "overflow-hidden"
|
|
1753
|
+
}, [
|
|
2015
1754
|
createElementVNode("div", _hoisted_4$1, [
|
|
2016
1755
|
renderSlot(_ctx.$slots, "default")
|
|
2017
1756
|
])
|
|
2018
|
-
],
|
|
1757
|
+
], 8, _hoisted_3$1), [
|
|
2019
1758
|
[vShow, isOpen.value]
|
|
2020
1759
|
])
|
|
2021
1760
|
]),
|
|
@@ -2025,11 +1764,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
2025
1764
|
};
|
|
2026
1765
|
}
|
|
2027
1766
|
});
|
|
2028
|
-
const _hoisted_1 = {
|
|
1767
|
+
const _hoisted_1$1 = {
|
|
2029
1768
|
key: 0,
|
|
2030
1769
|
class: "relative"
|
|
2031
1770
|
};
|
|
2032
|
-
const _hoisted_2 = { class: "flex items-start gap-4" };
|
|
1771
|
+
const _hoisted_2$1 = { class: "flex items-start gap-4" };
|
|
2033
1772
|
const _hoisted_3 = { class: "flex-1 min-w-0 pt-0.5" };
|
|
2034
1773
|
const _hoisted_4 = { class: "flex items-center justify-between gap-2" };
|
|
2035
1774
|
const _hoisted_5 = { class: "text-sm font-medium text-gray-900 dark:text-white" };
|
|
@@ -2052,7 +1791,7 @@ const _hoisted_12 = {
|
|
|
2052
1791
|
key: 0,
|
|
2053
1792
|
class: "text-xs text-gray-500 dark:text-gray-400"
|
|
2054
1793
|
};
|
|
2055
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1794
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
2056
1795
|
__name: "Timeline",
|
|
2057
1796
|
props: {
|
|
2058
1797
|
items: {},
|
|
@@ -2098,7 +1837,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2098
1837
|
}
|
|
2099
1838
|
};
|
|
2100
1839
|
return (_ctx, _cache) => {
|
|
2101
|
-
return __props.orientation === "vertical" ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
1840
|
+
return __props.orientation === "vertical" ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
2102
1841
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
2103
1842
|
return openBlock(), createElementBlock("div", {
|
|
2104
1843
|
key: item.key,
|
|
@@ -2108,7 +1847,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2108
1847
|
key: 0,
|
|
2109
1848
|
class: normalizeClass(["absolute left-4 top-8 w-0.5 h-full -ml-px", getStatusClasses(item.status).line])
|
|
2110
1849
|
}, null, 2)) : createCommentVNode("", true),
|
|
2111
|
-
createElementVNode("div", _hoisted_2, [
|
|
1850
|
+
createElementVNode("div", _hoisted_2$1, [
|
|
2112
1851
|
createElementVNode("div", {
|
|
2113
1852
|
class: normalizeClass(["relative z-10 flex items-center justify-center w-8 h-8 rounded-full flex-shrink-0", getStatusClasses(item.status).dot])
|
|
2114
1853
|
}, [
|
|
@@ -2160,6 +1899,51 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2160
1899
|
};
|
|
2161
1900
|
}
|
|
2162
1901
|
});
|
|
1902
|
+
const _hoisted_1 = ["aria-label"];
|
|
1903
|
+
const _hoisted_2 = {
|
|
1904
|
+
key: 0,
|
|
1905
|
+
class: "text-sm font-medium"
|
|
1906
|
+
};
|
|
1907
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1908
|
+
__name: "DarkModeToggle",
|
|
1909
|
+
props: {
|
|
1910
|
+
size: { default: "md" },
|
|
1911
|
+
lightIcon: { default: "lucide:sun" },
|
|
1912
|
+
darkIcon: { default: "lucide:moon" },
|
|
1913
|
+
showLabel: { type: Boolean, default: false },
|
|
1914
|
+
storageKey: { default: "dark-mode" }
|
|
1915
|
+
},
|
|
1916
|
+
setup(__props) {
|
|
1917
|
+
const props = __props;
|
|
1918
|
+
const { isDark, toggle } = useDarkMode({ storageKey: props.storageKey });
|
|
1919
|
+
const sizeClasses = {
|
|
1920
|
+
sm: { button: "p-1.5", icon: "h-4 w-4" },
|
|
1921
|
+
md: { button: "p-2", icon: "h-5 w-5" },
|
|
1922
|
+
lg: { button: "p-2.5", icon: "h-6 w-6" }
|
|
1923
|
+
};
|
|
1924
|
+
return (_ctx, _cache) => {
|
|
1925
|
+
return openBlock(), createElementBlock("button", {
|
|
1926
|
+
type: "button",
|
|
1927
|
+
class: normalizeClass([
|
|
1928
|
+
sizeClasses[__props.size].button,
|
|
1929
|
+
"inline-flex items-center gap-2 rounded-lg transition-colors",
|
|
1930
|
+
"text-gray-600 hover:bg-gray-100 hover:text-gray-900",
|
|
1931
|
+
"dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-100",
|
|
1932
|
+
"focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2"
|
|
1933
|
+
]),
|
|
1934
|
+
"aria-label": unref(isDark) ? "Switch to light mode" : "Switch to dark mode",
|
|
1935
|
+
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
1936
|
+
(...args) => unref(toggle) && unref(toggle)(...args))
|
|
1937
|
+
}, [
|
|
1938
|
+
createVNode(unref(Icon), {
|
|
1939
|
+
icon: unref(isDark) ? __props.darkIcon : __props.lightIcon,
|
|
1940
|
+
class: normalizeClass(sizeClasses[__props.size].icon)
|
|
1941
|
+
}, null, 8, ["icon", "class"]),
|
|
1942
|
+
__props.showLabel ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(unref(isDark) ? "Dark" : "Light"), 1)) : createCommentVNode("", true)
|
|
1943
|
+
], 10, _hoisted_1);
|
|
1944
|
+
};
|
|
1945
|
+
}
|
|
1946
|
+
});
|
|
2163
1947
|
export {
|
|
2164
1948
|
_sfc_main$i as _,
|
|
2165
1949
|
_sfc_main$h as a,
|
|
@@ -2181,4 +1965,4 @@ export {
|
|
|
2181
1965
|
_sfc_main$1 as q,
|
|
2182
1966
|
_sfc_main as r
|
|
2183
1967
|
};
|
|
2184
|
-
//# sourceMappingURL=
|
|
1968
|
+
//# sourceMappingURL=DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js.map
|