@indielayer/ui 1.0.0-alpha.2 → 1.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -87
- package/lib/components/badge/Badge.vue.d.ts +5 -0
- package/lib/components/checkbox/Checkbox.vue.d.ts +1 -1
- package/lib/components/drawer/Drawer.vue.d.ts +3 -3
- package/lib/components/icon/Icon.vue.d.ts +5 -1
- package/lib/components/input/Input.vue.d.ts +4 -1
- package/lib/components/menu/Menu.vue.d.ts +16 -4
- package/lib/components/menu/MenuItem.vue.d.ts +18 -6
- package/lib/components/radio/Radio.vue.d.ts +1 -1
- package/lib/components/select/Select.vue.d.ts +1 -1
- package/lib/components/slider/Slider.vue.d.ts +1 -1
- package/lib/components/tab/Tab.vue.d.ts +8 -3
- package/lib/components/tab/TabGroup.vue.d.ts +20 -0
- package/lib/components/table/Table.vue.d.ts +1 -0
- package/lib/components/textarea/Textarea.vue.d.ts +6 -1
- package/lib/components/toggle/Toggle.vue.d.ts +1 -1
- package/lib/composables/colors.d.ts +1 -1
- package/lib/composables/css.d.ts +4 -4
- package/lib/create.d.ts +1 -0
- package/lib/index.cjs.js +2 -2
- package/lib/index.es.js +252 -85
- package/lib/style.css +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +17 -15
- package/src/components/badge/Badge.vue +13 -0
- package/src/components/button/Button.vue +4 -4
- package/src/components/checkbox/Checkbox.vue +1 -1
- package/src/components/container/Container.vue +1 -1
- package/src/components/icon/Icon.vue +77 -10
- package/src/components/input/Input.vue +5 -3
- package/src/components/link/Link.vue +1 -1
- package/src/components/menu/Menu.vue +8 -2
- package/src/components/menu/MenuItem.vue +23 -5
- package/src/components/modal/Modal.vue +3 -1
- package/src/components/radio/Radio.vue +4 -4
- package/src/components/scroll/Scroll.vue +1 -1
- package/src/components/select/Select.vue +0 -0
- package/src/components/tab/Tab.vue +57 -8
- package/src/components/tab/TabGroup.vue +25 -7
- package/src/components/table/Table.vue +2 -0
- package/src/components/textarea/Textarea.vue +4 -1
- package/src/components/toggle/Toggle.vue +1 -1
- package/src/create.ts +4 -2
- package/src/version.ts +1 -1
- package/volar.d.ts +1 -1
package/lib/index.es.js
CHANGED
|
@@ -17,13 +17,13 @@ var __spreadValues = (a, b) => {
|
|
|
17
17
|
return a;
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
import { inject, defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, normalizeClass, normalizeStyle, withCtx, createElementBlock, renderSlot, createCommentVNode, Fragment, pushScopeId, popScopeId, createElementVNode, ref, watch, resolveComponent, toDisplayString, createVNode, renderList, createTextVNode, provide, onMounted, onUnmounted, withKeys, withModifiers, withDirectives, vModelCheckbox, Transition, vShow, getCurrentScope, onScopeDispose, getCurrentInstance, onBeforeMount, nextTick, unref, reactive, toRefs,
|
|
20
|
+
import { inject, defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, normalizeClass, normalizeStyle, withCtx, createElementBlock, renderSlot, createCommentVNode, Fragment, pushScopeId, popScopeId, createElementVNode, ref, watchEffect, mergeProps, watch, resolveComponent, toDisplayString, createVNode, renderList, createTextVNode, provide, onMounted, onUnmounted, withKeys, withModifiers, withDirectives, vModelCheckbox, Transition, vShow, getCurrentScope, onScopeDispose, getCurrentInstance, onBeforeMount, nextTick, unref, reactive, toRefs, Teleport, toHandlers, onBeforeUnmount, TransitionGroup, useCssModule, vModelRadio, vModelSelect } from "vue";
|
|
21
21
|
const isHex = (hex) => /^#(?:[A-Fa-f0-9]{3}){1,2}$/.test(hex);
|
|
22
22
|
const isRGB = (rgb) => /^rgb[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*(?:,(?![)])|(?=[)]))){3}[)]$/.test(rgb);
|
|
23
23
|
const isRGBA = (rgba) => /^^rgba[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*,){3}\s*0*(?:\.\d+|1(?:\.0*)?)\s*[)]$/.test(rgba);
|
|
24
24
|
const parseRGB = (rgb) => {
|
|
25
25
|
var _a2;
|
|
26
|
-
return (_a2 = rgb.match(
|
|
26
|
+
return (_a2 = rgb.match(new RegExp("(?<=\\().+?(?=\\))", "g"))) == null ? void 0 : _a2[0].split(",");
|
|
27
27
|
};
|
|
28
28
|
const hexToRGB = (hex) => {
|
|
29
29
|
var _a2;
|
|
@@ -365,7 +365,7 @@ const tailwindColors = Object.freeze({
|
|
|
365
365
|
900: "#881337"
|
|
366
366
|
}
|
|
367
367
|
});
|
|
368
|
-
var version = "1.0.0-alpha.
|
|
368
|
+
var version = "1.0.0-alpha.6";
|
|
369
369
|
const injectTabKey = Symbol();
|
|
370
370
|
const injectFormKey = Symbol();
|
|
371
371
|
const injectIconsKey = Symbol();
|
|
@@ -536,7 +536,7 @@ const _hoisted_1$u = {
|
|
|
536
536
|
key: 0,
|
|
537
537
|
class: "flex-none pr-2"
|
|
538
538
|
};
|
|
539
|
-
const _hoisted_2$
|
|
539
|
+
const _hoisted_2$l = {
|
|
540
540
|
key: 1,
|
|
541
541
|
width: "24",
|
|
542
542
|
height: "24",
|
|
@@ -580,7 +580,7 @@ function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
580
580
|
default: withCtx(() => [
|
|
581
581
|
_ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_1$u, [
|
|
582
582
|
renderSlot(_ctx.$slots, "icon", {}, void 0, true)
|
|
583
|
-
])) : _ctx.type ? (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
583
|
+
])) : _ctx.type ? (openBlock(), createElementBlock("svg", _hoisted_2$l, [
|
|
584
584
|
_ctx.type === "info" ? (openBlock(), createElementBlock("path", _hoisted_3$f)) : createCommentVNode("", true),
|
|
585
585
|
_ctx.type === "success" ? (openBlock(), createElementBlock("path", _hoisted_4$d)) : createCommentVNode("", true),
|
|
586
586
|
_ctx.type === "error" ? (openBlock(), createElementBlock("path", _hoisted_5$7)) : createCommentVNode("", true),
|
|
@@ -637,7 +637,8 @@ const _sfc_main$H = defineComponent({
|
|
|
637
637
|
}
|
|
638
638
|
}),
|
|
639
639
|
setup(props) {
|
|
640
|
-
const icons = inject(injectIconsKey, {
|
|
640
|
+
const icons = inject(injectIconsKey, () => {
|
|
641
|
+
}, false);
|
|
641
642
|
const sizeClasses = computed(() => {
|
|
642
643
|
if (props.size === "xs")
|
|
643
644
|
return "h-3 w-3";
|
|
@@ -649,24 +650,77 @@ const _sfc_main$H = defineComponent({
|
|
|
649
650
|
return "h-9 w-9";
|
|
650
651
|
return "h-5 w-5";
|
|
651
652
|
});
|
|
653
|
+
const isWrapSVG = ref(false);
|
|
654
|
+
const computedIcon = ref("");
|
|
655
|
+
const computedFilled = ref(props.filled);
|
|
656
|
+
const computedViewBox = ref(props.viewBox);
|
|
657
|
+
const attrs = ref({});
|
|
658
|
+
watchEffect(() => {
|
|
659
|
+
const injectedIcon = icons[props.icon];
|
|
660
|
+
isWrapSVG.value = false;
|
|
661
|
+
computedIcon.value = injectedIcon;
|
|
662
|
+
if (injectedIcon) {
|
|
663
|
+
if (typeof injectedIcon === "string") {
|
|
664
|
+
if (injectedIcon.startsWith("<svg")) {
|
|
665
|
+
isWrapSVG.value = true;
|
|
666
|
+
const { content, attributes } = getSVG(injectedIcon);
|
|
667
|
+
attrs.value = attributes;
|
|
668
|
+
computedIcon.value = content;
|
|
669
|
+
} else {
|
|
670
|
+
isWrapSVG.value = false;
|
|
671
|
+
computedIcon.value = injectedIcon;
|
|
672
|
+
}
|
|
673
|
+
} else if (typeof injectedIcon === "object") {
|
|
674
|
+
computedIcon.value = injectedIcon.icon;
|
|
675
|
+
computedFilled.value = injectedIcon.filled || props.filled;
|
|
676
|
+
computedViewBox.value = injectedIcon.viewBox || injectedIcon.viewbox || props.viewBox;
|
|
677
|
+
}
|
|
678
|
+
} else {
|
|
679
|
+
computedIcon.value = props.icon;
|
|
680
|
+
}
|
|
681
|
+
});
|
|
682
|
+
function getSVG(svgString) {
|
|
683
|
+
svgString = svgString.trim();
|
|
684
|
+
const content = svgString.substring(svgString.indexOf(">") + 1, svgString.lastIndexOf("</svg>"));
|
|
685
|
+
const attrsRaw = svgString.substring(svgString.indexOf("<svg") + 4, svgString.indexOf(">")).trim().match(/[\w-]+="[^"]*"/g);
|
|
686
|
+
const attributes = {};
|
|
687
|
+
attrsRaw == null ? void 0 : attrsRaw.forEach((a) => {
|
|
688
|
+
const [attribute, value] = a.split("=");
|
|
689
|
+
if (!["height", "width", "class"].includes(attribute))
|
|
690
|
+
attributes[attribute] = value.replace(/(^"|"$)/g, "");
|
|
691
|
+
});
|
|
692
|
+
return {
|
|
693
|
+
attributes,
|
|
694
|
+
content
|
|
695
|
+
};
|
|
696
|
+
}
|
|
652
697
|
return {
|
|
653
|
-
|
|
698
|
+
attrs,
|
|
699
|
+
isWrapSVG,
|
|
700
|
+
computedIcon,
|
|
701
|
+
computedFilled,
|
|
702
|
+
computedViewBox,
|
|
654
703
|
sizeClasses
|
|
655
704
|
};
|
|
656
705
|
}
|
|
657
706
|
});
|
|
658
|
-
const _hoisted_1$t = ["
|
|
707
|
+
const _hoisted_1$t = ["innerHTML"];
|
|
708
|
+
const _hoisted_2$k = ["stroke-linejoin", "stroke-linecap", "stroke", "fill", "viewBox", "innerHTML"];
|
|
659
709
|
function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
|
|
660
|
-
return openBlock(), createElementBlock("svg", {
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
"stroke-linecap": _ctx.filled ? void 0 : "round",
|
|
666
|
-
"stroke-linejoin": _ctx.filled ? void 0 : "round",
|
|
710
|
+
return _ctx.isWrapSVG ? (openBlock(), createElementBlock("svg", mergeProps({
|
|
711
|
+
key: 0,
|
|
712
|
+
class: ["inline", _ctx.sizeClasses]
|
|
713
|
+
}, _ctx.attrs, { innerHTML: _ctx.computedIcon }), null, 16, _hoisted_1$t)) : (openBlock(), createElementBlock("svg", {
|
|
714
|
+
key: 1,
|
|
667
715
|
xmlns: "http://www.w3.org/2000/svg",
|
|
668
|
-
|
|
669
|
-
|
|
716
|
+
class: normalizeClass(["inline", [_ctx.sizeClasses, { "stroke-2": !_ctx.computedFilled }]]),
|
|
717
|
+
"stroke-linejoin": _ctx.computedFilled ? void 0 : "round",
|
|
718
|
+
"stroke-linecap": _ctx.computedFilled ? void 0 : "round",
|
|
719
|
+
stroke: _ctx.computedFilled ? void 0 : "currentColor",
|
|
720
|
+
fill: _ctx.computedFilled ? "currentColor" : "none",
|
|
721
|
+
viewBox: _ctx.computedViewBox,
|
|
722
|
+
innerHTML: _ctx.computedIcon
|
|
723
|
+
}, null, 10, _hoisted_2$k));
|
|
670
724
|
}
|
|
671
725
|
var XIcon = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$H]]);
|
|
672
726
|
const avatar = "_avatar_v7jzc_2";
|
|
@@ -802,6 +856,8 @@ const _sfc_main$F = defineComponent({
|
|
|
802
856
|
type: String,
|
|
803
857
|
default: "right"
|
|
804
858
|
},
|
|
859
|
+
offsetX: [Number, String],
|
|
860
|
+
offsetY: [Number, String],
|
|
805
861
|
animated: Boolean,
|
|
806
862
|
outlined: Boolean,
|
|
807
863
|
icon: String,
|
|
@@ -836,8 +892,17 @@ const _sfc_main$F = defineComponent({
|
|
|
836
892
|
}
|
|
837
893
|
return classes;
|
|
838
894
|
});
|
|
895
|
+
const offsetStyle = computed(() => {
|
|
896
|
+
const style = {};
|
|
897
|
+
if (props.offsetX)
|
|
898
|
+
style[props.align === "left" ? "marginLeft" : "marginRight"] = props.offsetX + "px";
|
|
899
|
+
if (props.offsetY)
|
|
900
|
+
style[props.position === "top" ? "marginTop" : "marginBottom"] = props.offsetY + "px";
|
|
901
|
+
return style;
|
|
902
|
+
});
|
|
839
903
|
return {
|
|
840
904
|
styles,
|
|
905
|
+
offsetStyle,
|
|
841
906
|
positionClasses
|
|
842
907
|
};
|
|
843
908
|
}
|
|
@@ -862,7 +927,8 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
862
927
|
{
|
|
863
928
|
"border-2 border-gray-50 dark:border-gray-900": _ctx.outlined
|
|
864
929
|
}
|
|
865
|
-
]])
|
|
930
|
+
]]),
|
|
931
|
+
style: normalizeStyle(_ctx.offsetStyle)
|
|
866
932
|
}, [
|
|
867
933
|
_ctx.animated ? (openBlock(), createElementBlock("div", _hoisted_2$i)) : createCommentVNode("", true),
|
|
868
934
|
createElementVNode("div", {
|
|
@@ -878,7 +944,7 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
878
944
|
}, [
|
|
879
945
|
renderSlot(_ctx.$slots, "content")
|
|
880
946
|
], 2)
|
|
881
|
-
],
|
|
947
|
+
], 6)) : createCommentVNode("", true)
|
|
882
948
|
])
|
|
883
949
|
]),
|
|
884
950
|
_: 3
|
|
@@ -1095,11 +1161,11 @@ const _sfc_main$C = defineComponent({
|
|
|
1095
1161
|
hover: { bg: !props.loading ? gray[100] : "" },
|
|
1096
1162
|
active: { bg: !props.loading ? gray[200] : "" },
|
|
1097
1163
|
dark: {
|
|
1098
|
-
bg: gray[
|
|
1164
|
+
bg: gray[800],
|
|
1099
1165
|
text: "white",
|
|
1100
1166
|
border: gray[600],
|
|
1101
|
-
hover: { bg: !props.loading ? gray[
|
|
1102
|
-
active: { bg: !props.loading ? gray[
|
|
1167
|
+
hover: { bg: !props.loading ? gray[700] : "" },
|
|
1168
|
+
active: { bg: !props.loading ? gray[600] : "" }
|
|
1103
1169
|
}
|
|
1104
1170
|
}));
|
|
1105
1171
|
}
|
|
@@ -1349,7 +1415,7 @@ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1349
1415
|
size: _ctx.computedSize,
|
|
1350
1416
|
icon: _ctx.iconRight,
|
|
1351
1417
|
class: normalizeClass(["shrink-0", [
|
|
1352
|
-
[_ctx.$slots.default ? "
|
|
1418
|
+
[_ctx.$slots.default ? "ml-2" : "m-0.5"],
|
|
1353
1419
|
{
|
|
1354
1420
|
invisible: _ctx.loading
|
|
1355
1421
|
}
|
|
@@ -1362,7 +1428,7 @@ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1362
1428
|
const cssModules$7 = {
|
|
1363
1429
|
"$style": style0$7
|
|
1364
1430
|
};
|
|
1365
|
-
var XButton = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$C], ["__cssModules", cssModules$7], ["__scopeId", "data-v-
|
|
1431
|
+
var XButton = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$C], ["__cssModules", cssModules$7], ["__scopeId", "data-v-6cb75733"]]);
|
|
1366
1432
|
var style0$6 = {
|
|
1367
1433
|
"button-group": "_button-group_s7fyl_2",
|
|
1368
1434
|
"button-group--rounded": "_button-group--rounded_s7fyl_1"
|
|
@@ -1543,7 +1609,7 @@ const _sfc_main$z = defineComponent({
|
|
|
1543
1609
|
const checked = ref(false);
|
|
1544
1610
|
watch(() => props.modelValue, (value) => {
|
|
1545
1611
|
checked.value = !!value;
|
|
1546
|
-
});
|
|
1612
|
+
}, { immediate: true });
|
|
1547
1613
|
watch(() => checked.value, (value) => {
|
|
1548
1614
|
emit("update:modelValue", value);
|
|
1549
1615
|
});
|
|
@@ -1626,7 +1692,7 @@ const _sfc_main$z = defineComponent({
|
|
|
1626
1692
|
});
|
|
1627
1693
|
}
|
|
1628
1694
|
});
|
|
1629
|
-
const _withScopeId$2 = (n) => (pushScopeId("data-v-
|
|
1695
|
+
const _withScopeId$2 = (n) => (pushScopeId("data-v-05f49cb5"), n = n(), popScopeId(), n);
|
|
1630
1696
|
const _hoisted_1$p = { class: "inline-block relative cursor-pointer align-middle mb-1 pb-2" };
|
|
1631
1697
|
const _hoisted_2$g = ["aria-checked", "aria-disabled", "disabled", "name", "required"];
|
|
1632
1698
|
const _hoisted_3$d = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("path", { d: "M0 11l2-2 5 5L18 3l2 2L7 18z" }, null, -1));
|
|
@@ -1699,7 +1765,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1699
1765
|
const cssModules$5 = {
|
|
1700
1766
|
"$style": style0$5
|
|
1701
1767
|
};
|
|
1702
|
-
var Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", _sfc_render$z], ["__cssModules", cssModules$5], ["__scopeId", "data-v-
|
|
1768
|
+
var Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", _sfc_render$z], ["__cssModules", cssModules$5], ["__scopeId", "data-v-05f49cb5"]]);
|
|
1703
1769
|
const _sfc_main$y = defineComponent({
|
|
1704
1770
|
name: "XCollapse",
|
|
1705
1771
|
components: {
|
|
@@ -1888,7 +1954,7 @@ const _sfc_main$x = defineComponent({
|
|
|
1888
1954
|
}
|
|
1889
1955
|
});
|
|
1890
1956
|
function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
|
|
1891
|
-
return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), { class: "
|
|
1957
|
+
return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), { class: "max-w-screen-2xl mx-auto px-4" }, {
|
|
1892
1958
|
default: withCtx(() => [
|
|
1893
1959
|
renderSlot(_ctx.$slots, "default")
|
|
1894
1960
|
]),
|
|
@@ -2339,7 +2405,15 @@ function useScroll(element, options = {}) {
|
|
|
2339
2405
|
directions
|
|
2340
2406
|
};
|
|
2341
2407
|
}
|
|
2342
|
-
|
|
2408
|
+
var SwipeDirection;
|
|
2409
|
+
(function(SwipeDirection2) {
|
|
2410
|
+
SwipeDirection2["UP"] = "UP";
|
|
2411
|
+
SwipeDirection2["RIGHT"] = "RIGHT";
|
|
2412
|
+
SwipeDirection2["DOWN"] = "DOWN";
|
|
2413
|
+
SwipeDirection2["LEFT"] = "LEFT";
|
|
2414
|
+
SwipeDirection2["NONE"] = "NONE";
|
|
2415
|
+
})(SwipeDirection || (SwipeDirection = {}));
|
|
2416
|
+
function useSwipe(target, options) {
|
|
2343
2417
|
const {
|
|
2344
2418
|
threshold = 50,
|
|
2345
2419
|
onSwipe,
|
|
@@ -2357,11 +2431,11 @@ function useSwipe(target, options = {}) {
|
|
|
2357
2431
|
const isSwiping = ref(false);
|
|
2358
2432
|
const direction = computed(() => {
|
|
2359
2433
|
if (!isThresholdExceeded.value)
|
|
2360
|
-
return
|
|
2434
|
+
return SwipeDirection.NONE;
|
|
2361
2435
|
if (abs(diffX.value) > abs(diffY.value)) {
|
|
2362
|
-
return diffX.value > 0 ?
|
|
2436
|
+
return diffX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;
|
|
2363
2437
|
} else {
|
|
2364
|
-
return diffY.value > 0 ?
|
|
2438
|
+
return diffY.value > 0 ? SwipeDirection.UP : SwipeDirection.DOWN;
|
|
2365
2439
|
}
|
|
2366
2440
|
});
|
|
2367
2441
|
const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];
|
|
@@ -2462,7 +2536,7 @@ const _sfc_main$v = defineComponent({
|
|
|
2462
2536
|
useResizeObserver(scrollEl, triggerScroll);
|
|
2463
2537
|
if (props.horizontal && props.mousewheel)
|
|
2464
2538
|
useEventListener(scrollEl, "wheel", (e) => {
|
|
2465
|
-
if (!scrollEl.value)
|
|
2539
|
+
if (!scrollEl.value || scrollEl.value.scrollWidth <= scrollEl.value.clientWidth)
|
|
2466
2540
|
return;
|
|
2467
2541
|
e.preventDefault();
|
|
2468
2542
|
scrollEl.value.scrollLeft += e.deltaY + e.deltaX;
|
|
@@ -2515,7 +2589,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2515
2589
|
const cssModules$4 = {
|
|
2516
2590
|
"$style": style0$4
|
|
2517
2591
|
};
|
|
2518
|
-
var XScroll = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render$v], ["__cssModules", cssModules$4], ["__scopeId", "data-v-
|
|
2592
|
+
var XScroll = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render$v], ["__cssModules", cssModules$4], ["__scopeId", "data-v-7362ac18"]]);
|
|
2519
2593
|
const _sfc_main$u = defineComponent({
|
|
2520
2594
|
name: "XDrawer",
|
|
2521
2595
|
components: {
|
|
@@ -2878,7 +2952,8 @@ const _sfc_main$r = defineComponent({
|
|
|
2878
2952
|
type: String,
|
|
2879
2953
|
default: "text"
|
|
2880
2954
|
},
|
|
2881
|
-
inputClass: String
|
|
2955
|
+
inputClass: String,
|
|
2956
|
+
block: Boolean
|
|
2882
2957
|
}),
|
|
2883
2958
|
emits: useInputtable.emits(),
|
|
2884
2959
|
setup(props, { emit }) {
|
|
@@ -2914,8 +2989,8 @@ const _sfc_main$r = defineComponent({
|
|
|
2914
2989
|
if (!e.target)
|
|
2915
2990
|
return;
|
|
2916
2991
|
const target = e.target;
|
|
2917
|
-
const value = Number(target.value);
|
|
2918
2992
|
if (props.type === "number") {
|
|
2993
|
+
const value = Number(target.value);
|
|
2919
2994
|
if (typeof props.min !== "undefined") {
|
|
2920
2995
|
if (value < props.min)
|
|
2921
2996
|
target.value = props.min.toString();
|
|
@@ -2955,7 +3030,7 @@ const _hoisted_8$1 = ["textContent"];
|
|
|
2955
3030
|
function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
|
|
2956
3031
|
const _component_x_icon = resolveComponent("x-icon");
|
|
2957
3032
|
return openBlock(), createElementBlock("label", {
|
|
2958
|
-
class: normalizeClass(["inline-block relative align-bottom text-left", { "mb-3": _ctx.isInsideForm }])
|
|
3033
|
+
class: normalizeClass(["inline-block relative align-bottom text-left", { "mb-3": _ctx.isInsideForm, "w-full": _ctx.block }])
|
|
2959
3034
|
}, [
|
|
2960
3035
|
_ctx.label ? (openBlock(), createElementBlock("p", {
|
|
2961
3036
|
key: 0,
|
|
@@ -2993,7 +3068,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2993
3068
|
placeholder: _ctx.placeholder,
|
|
2994
3069
|
readonly: _ctx.readonly,
|
|
2995
3070
|
type: _ctx.currentType,
|
|
2996
|
-
value: _ctx.modelValue
|
|
3071
|
+
value: _ctx.modelValue || ""
|
|
2997
3072
|
}, _ctx.$attrs, toHandlers(_ctx.inputListeners), {
|
|
2998
3073
|
onChange: _cache[0] || (_cache[0] = (...args) => _ctx.onChange && _ctx.onChange(...args))
|
|
2999
3074
|
}), null, 16, _hoisted_3$b),
|
|
@@ -3072,7 +3147,7 @@ const _sfc_main$q = defineComponent({
|
|
|
3072
3147
|
};
|
|
3073
3148
|
}
|
|
3074
3149
|
});
|
|
3075
|
-
const _withScopeId$1 = (n) => (pushScopeId("data-v-
|
|
3150
|
+
const _withScopeId$1 = (n) => (pushScopeId("data-v-af336fea"), n = n(), popScopeId(), n);
|
|
3076
3151
|
const _hoisted_1$i = {
|
|
3077
3152
|
key: 0,
|
|
3078
3153
|
class: "inline-flex items-center"
|
|
@@ -3099,7 +3174,7 @@ const _hoisted_2$d = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ create
|
|
|
3099
3174
|
function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3100
3175
|
return openBlock(), createBlock(resolveDynamicComponent(_ctx.to ? "router-link" : _ctx.tag), {
|
|
3101
3176
|
to: _ctx.to,
|
|
3102
|
-
class: normalizeClass(["transition duration-300 ease-in-out cursor-pointer text-[color:var(--x-text)] dark:text-[color:var(--x-dark-text)]", [
|
|
3177
|
+
class: normalizeClass(["transition duration-300 ease-in-out cursor-pointer inline-flex text-[color:var(--x-text)] dark:text-[color:var(--x-dark-text)]", [
|
|
3103
3178
|
[_ctx.shadow ? _ctx.$style["link--shadow"] : ""],
|
|
3104
3179
|
{
|
|
3105
3180
|
"underline": _ctx.underline
|
|
@@ -3119,7 +3194,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3119
3194
|
const cssModules$3 = {
|
|
3120
3195
|
"$style": style0$3
|
|
3121
3196
|
};
|
|
3122
|
-
var XLink = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q], ["__cssModules", cssModules$3], ["__scopeId", "data-v-
|
|
3197
|
+
var XLink = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q], ["__cssModules", cssModules$3], ["__scopeId", "data-v-af336fea"]]);
|
|
3123
3198
|
var style0$2 = {
|
|
3124
3199
|
"menu-item": "_menu-item_1v1kj_2",
|
|
3125
3200
|
"menu-item--active": "_menu-item--active_1v1kj_1"
|
|
@@ -3148,8 +3223,14 @@ const _sfc_main$p = defineComponent({
|
|
|
3148
3223
|
icon: String,
|
|
3149
3224
|
iconRight: String,
|
|
3150
3225
|
loading: Boolean,
|
|
3151
|
-
rounded:
|
|
3152
|
-
|
|
3226
|
+
rounded: {
|
|
3227
|
+
type: Boolean,
|
|
3228
|
+
default: true
|
|
3229
|
+
},
|
|
3230
|
+
filled: {
|
|
3231
|
+
type: Boolean,
|
|
3232
|
+
default: true
|
|
3233
|
+
},
|
|
3153
3234
|
selected: Boolean,
|
|
3154
3235
|
disabled: Boolean
|
|
3155
3236
|
}),
|
|
@@ -3157,7 +3238,10 @@ const _sfc_main$p = defineComponent({
|
|
|
3157
3238
|
setup(props, { emit }) {
|
|
3158
3239
|
const elRef = ref();
|
|
3159
3240
|
const isActive = ref(false);
|
|
3160
|
-
const filled = computed(() =>
|
|
3241
|
+
const filled = computed(() => {
|
|
3242
|
+
var _a2;
|
|
3243
|
+
return props.filled || ((_a2 = props.item) == null ? void 0 : _a2.filled);
|
|
3244
|
+
});
|
|
3161
3245
|
const cItem = computed(() => __spreadValues(__spreadValues({}, props), props.item));
|
|
3162
3246
|
const htmlTag = cItem.value.to || cItem.value.href ? "x-link" : "div";
|
|
3163
3247
|
const isSupported = window && "MutationObserver" in window;
|
|
@@ -3177,6 +3261,11 @@ const _sfc_main$p = defineComponent({
|
|
|
3177
3261
|
classObserver.disconnect();
|
|
3178
3262
|
});
|
|
3179
3263
|
function onItemClick(e) {
|
|
3264
|
+
if (cItem.value.disabled) {
|
|
3265
|
+
e.stopPropagation();
|
|
3266
|
+
e.preventDefault();
|
|
3267
|
+
return;
|
|
3268
|
+
}
|
|
3180
3269
|
cItem.value.onClick && cItem.value.onClick(e);
|
|
3181
3270
|
emit("click", e);
|
|
3182
3271
|
}
|
|
@@ -3201,7 +3290,12 @@ const _sfc_main$p = defineComponent({
|
|
|
3201
3290
|
const color = colors.getPalette(cItem.value.color || "gray");
|
|
3202
3291
|
const gray = colors.getPalette("gray");
|
|
3203
3292
|
if (cItem.value.disabled)
|
|
3204
|
-
return css.
|
|
3293
|
+
return css.variables({
|
|
3294
|
+
text: gray[300],
|
|
3295
|
+
dark: {
|
|
3296
|
+
text: gray[600]
|
|
3297
|
+
}
|
|
3298
|
+
});
|
|
3205
3299
|
if (filled.value) {
|
|
3206
3300
|
if (isActive.value) {
|
|
3207
3301
|
return css.variables({
|
|
@@ -3295,7 +3389,7 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3295
3389
|
href: _ctx.cItem.href,
|
|
3296
3390
|
target: _ctx.cItem.target,
|
|
3297
3391
|
color: _ctx.cItem.color,
|
|
3298
|
-
class: normalizeClass(["relative flex items-center whitespace-nowrap px-3 mt-1", [
|
|
3392
|
+
class: normalizeClass(["relative !flex items-center whitespace-nowrap px-3 mt-1", [
|
|
3299
3393
|
_ctx.$style["menu-item"],
|
|
3300
3394
|
[_ctx.isActive ? _ctx.$style["menu-item--active"] : ""],
|
|
3301
3395
|
{
|
|
@@ -3350,7 +3444,7 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3350
3444
|
const cssModules$2 = {
|
|
3351
3445
|
"$style": style0$2
|
|
3352
3446
|
};
|
|
3353
|
-
var XMenuItem = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p], ["__cssModules", cssModules$2], ["__scopeId", "data-v-
|
|
3447
|
+
var XMenuItem = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p], ["__cssModules", cssModules$2], ["__scopeId", "data-v-11179d66"]]);
|
|
3354
3448
|
const _sfc_main$o = defineComponent({
|
|
3355
3449
|
name: "XMenu",
|
|
3356
3450
|
components: {
|
|
@@ -3367,8 +3461,14 @@ const _sfc_main$o = defineComponent({
|
|
|
3367
3461
|
collapseIcon: String,
|
|
3368
3462
|
expanded: Boolean,
|
|
3369
3463
|
disabled: Boolean,
|
|
3370
|
-
rounded:
|
|
3371
|
-
|
|
3464
|
+
rounded: {
|
|
3465
|
+
type: Boolean,
|
|
3466
|
+
default: true
|
|
3467
|
+
},
|
|
3468
|
+
filled: {
|
|
3469
|
+
type: Boolean,
|
|
3470
|
+
default: true
|
|
3471
|
+
}
|
|
3372
3472
|
}),
|
|
3373
3473
|
emits: ["expand"]
|
|
3374
3474
|
});
|
|
@@ -3459,7 +3559,8 @@ var Menu = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]])
|
|
|
3459
3559
|
const _sfc_main$n = defineComponent({
|
|
3460
3560
|
name: "XModal",
|
|
3461
3561
|
components: {
|
|
3462
|
-
XScroll
|
|
3562
|
+
XScroll,
|
|
3563
|
+
XIcon
|
|
3463
3564
|
},
|
|
3464
3565
|
props: {
|
|
3465
3566
|
size: {
|
|
@@ -3584,7 +3685,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3584
3685
|
}, [
|
|
3585
3686
|
_ctx.showClose ? (openBlock(), createElementBlock("div", {
|
|
3586
3687
|
key: 0,
|
|
3587
|
-
class: normalizeClass(["absolute p-1 top-4 right-4 rounded-full bg-opacity-10 hover:bg-opacity-30 cursor-pointer", [
|
|
3688
|
+
class: normalizeClass(["flex absolute p-1 top-4 z-10 right-4 rounded-full bg-opacity-10 hover:bg-opacity-30 cursor-pointer", [
|
|
3588
3689
|
_ctx.$slots.image ? "bg-gray-900 text-white" : "bg-gray-500 text-gray-800 dark:text-gray-300"
|
|
3589
3690
|
]]),
|
|
3590
3691
|
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.close && _ctx.close(...args))
|
|
@@ -4421,7 +4522,7 @@ const _sfc_main$g = defineComponent({
|
|
|
4421
4522
|
});
|
|
4422
4523
|
}
|
|
4423
4524
|
});
|
|
4424
|
-
const _withScopeId = (n) => (pushScopeId("data-v-
|
|
4525
|
+
const _withScopeId = (n) => (pushScopeId("data-v-4e34dad2"), n = n(), popScopeId(), n);
|
|
4425
4526
|
const _hoisted_1$c = ["aria-selected", "aria-disabled"];
|
|
4426
4527
|
const _hoisted_2$8 = ["name", "required", "disabled"];
|
|
4427
4528
|
const _hoisted_3$6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("circle", {
|
|
@@ -4438,10 +4539,11 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4438
4539
|
const _component_x_spinner = resolveComponent("x-spinner");
|
|
4439
4540
|
return openBlock(), createElementBlock("label", {
|
|
4440
4541
|
ref: "elRef",
|
|
4441
|
-
|
|
4542
|
+
tabindex: "0",
|
|
4543
|
+
class: "inline-block mb-1 relative cursor-pointer focus:outline-none group",
|
|
4442
4544
|
"aria-selected": _ctx.selected ? "true" : "false",
|
|
4443
4545
|
"aria-disabled": _ctx.disabled || _ctx.loading ? "true" : void 0,
|
|
4444
|
-
|
|
4546
|
+
style: normalizeStyle(_ctx.styles),
|
|
4445
4547
|
onKeypress: _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => _ctx.$emit("update:modelValue", _ctx.value), ["prevent", "stop"]), ["space"]))
|
|
4446
4548
|
}, [
|
|
4447
4549
|
createElementVNode("div", {
|
|
@@ -4458,15 +4560,14 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4458
4560
|
[vModelRadio, _ctx.selected]
|
|
4459
4561
|
]),
|
|
4460
4562
|
createElementVNode("div", {
|
|
4461
|
-
class: normalizeClass(["rounded-full flex justify-center items-center flex-shrink-0 border-2 border-[color:var(--x-border)] bg-[color:var(--x-bg)] dark:border-[color:var(--x-dark-border)] dark:bg-[color:var(--x-dark-bg)]", [
|
|
4563
|
+
class: normalizeClass(["rounded-full flex justify-center items-center flex-shrink-0 border-2 outline-offset-2 outline-slate-300 dark:outline-slate-500 group-focus:outline-1 group-focus:outline border-[color:var(--x-border)] bg-[color:var(--x-bg)] dark:border-[color:var(--x-dark-border)] dark:bg-[color:var(--x-dark-bg)]", [
|
|
4462
4564
|
[_ctx.glow && !_ctx.disabled && !_ctx.loading ? _ctx.$style["radio--glow"] : ""],
|
|
4463
4565
|
{
|
|
4464
4566
|
"h-4 w-4": _ctx.size === "sm" || _ctx.size === "xs",
|
|
4465
4567
|
"h-5 w-5": !_ctx.size || !["xs", "sm", "xl"].includes(_ctx.size),
|
|
4466
4568
|
"h-6 w-6": _ctx.size === "xl"
|
|
4467
4569
|
}
|
|
4468
|
-
]])
|
|
4469
|
-
style: normalizeStyle(_ctx.styles)
|
|
4570
|
+
]])
|
|
4470
4571
|
}, [
|
|
4471
4572
|
_ctx.loading ? (openBlock(), createBlock(_component_x_spinner, {
|
|
4472
4573
|
key: 0,
|
|
@@ -4483,7 +4584,7 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4483
4584
|
}]),
|
|
4484
4585
|
viewBox: "0 0 20 20"
|
|
4485
4586
|
}, _hoisted_4$5, 2))
|
|
4486
|
-
],
|
|
4587
|
+
], 2),
|
|
4487
4588
|
_ctx.label ? (openBlock(), createElementBlock("span", {
|
|
4488
4589
|
key: 0,
|
|
4489
4590
|
class: normalizeClass(["font-medium text-gray-800 dark:text-gray-200 pl-2", {
|
|
@@ -4512,12 +4613,12 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4512
4613
|
class: "text-sm text-red-500 mt-1",
|
|
4513
4614
|
textContent: toDisplayString(_ctx.errorInternal)
|
|
4514
4615
|
}, null, 8, _hoisted_6$2)) : createCommentVNode("", true)
|
|
4515
|
-
],
|
|
4616
|
+
], 44, _hoisted_1$c);
|
|
4516
4617
|
}
|
|
4517
4618
|
const cssModules = {
|
|
4518
4619
|
"$style": style0
|
|
4519
4620
|
};
|
|
4520
|
-
var Radio = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$g], ["__cssModules", cssModules], ["__scopeId", "data-v-
|
|
4621
|
+
var Radio = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$g], ["__cssModules", cssModules], ["__scopeId", "data-v-4e34dad2"]]);
|
|
4521
4622
|
const _sfc_main$f = defineComponent({
|
|
4522
4623
|
name: "XTag",
|
|
4523
4624
|
props: __spreadProps(__spreadValues(__spreadValues({}, useCommon.props()), useColors.props("gray")), {
|
|
@@ -5527,13 +5628,14 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5527
5628
|
"text-align": header.align,
|
|
5528
5629
|
sort: _ctx.getSort(header.value, _ctx.sort),
|
|
5529
5630
|
sortable: header.sortable,
|
|
5631
|
+
width: header.width,
|
|
5530
5632
|
onClick: ($event) => header.sortable ? _ctx.sortHeader(header) : null
|
|
5531
5633
|
}, {
|
|
5532
5634
|
default: withCtx(() => [
|
|
5533
5635
|
createTextVNode(toDisplayString(header.text), 1)
|
|
5534
5636
|
]),
|
|
5535
5637
|
_: 2
|
|
5536
|
-
}, 1032, ["sticky-header", "text-align", "sort", "sortable", "onClick"]);
|
|
5638
|
+
}, 1032, ["sticky-header", "text-align", "sort", "sortable", "width", "onClick"]);
|
|
5537
5639
|
}), 128))
|
|
5538
5640
|
]),
|
|
5539
5641
|
_: 1
|
|
@@ -5578,10 +5680,13 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5578
5680
|
var Table = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5]]);
|
|
5579
5681
|
const _sfc_main$4 = defineComponent({
|
|
5580
5682
|
name: "XTab",
|
|
5683
|
+
components: {
|
|
5684
|
+
XIcon,
|
|
5685
|
+
XLink
|
|
5686
|
+
},
|
|
5581
5687
|
props: __spreadProps(__spreadValues({}, useCommon.props()), {
|
|
5582
5688
|
value: {
|
|
5583
|
-
type: [String, Number]
|
|
5584
|
-
required: true
|
|
5689
|
+
type: [String, Number]
|
|
5585
5690
|
},
|
|
5586
5691
|
tag: {
|
|
5587
5692
|
type: String,
|
|
@@ -5590,11 +5695,14 @@ const _sfc_main$4 = defineComponent({
|
|
|
5590
5695
|
to: String,
|
|
5591
5696
|
label: String,
|
|
5592
5697
|
icon: String,
|
|
5593
|
-
disabled: Boolean
|
|
5698
|
+
disabled: Boolean,
|
|
5699
|
+
exact: Boolean
|
|
5594
5700
|
}),
|
|
5595
5701
|
setup(props) {
|
|
5702
|
+
const cValue = computed(() => props.to || props.value);
|
|
5596
5703
|
const cLabel = computed(() => props.label || props.value);
|
|
5597
5704
|
const teleportTo = ref(null);
|
|
5705
|
+
const elRef = ref();
|
|
5598
5706
|
const tabs = inject(injectTabKey, {
|
|
5599
5707
|
tabsContentRef: ref(null),
|
|
5600
5708
|
activateTab: () => {
|
|
@@ -5605,20 +5713,59 @@ const _sfc_main$4 = defineComponent({
|
|
|
5605
5713
|
grow: false
|
|
5606
5714
|
})
|
|
5607
5715
|
});
|
|
5716
|
+
const isSupported = window && "MutationObserver" in window;
|
|
5717
|
+
const mutationObserver = isSupported ? new MutationObserver(check) : null;
|
|
5718
|
+
const cExact = computed(() => tabs.state.exact || props.exact);
|
|
5719
|
+
const cSize = computed(() => props.size || tabs.state.size);
|
|
5608
5720
|
onMounted(() => {
|
|
5609
5721
|
teleportTo.value = tabs.tabsContentRef.value;
|
|
5722
|
+
if (props.to)
|
|
5723
|
+
check();
|
|
5724
|
+
if (isSupported && props.to)
|
|
5725
|
+
mutationObserver == null ? void 0 : mutationObserver.observe(elRef.value.$el, {
|
|
5726
|
+
attributes: true,
|
|
5727
|
+
attributeFilter: ["class"]
|
|
5728
|
+
});
|
|
5729
|
+
});
|
|
5730
|
+
onBeforeUnmount(() => {
|
|
5731
|
+
if (mutationObserver)
|
|
5732
|
+
mutationObserver.disconnect();
|
|
5610
5733
|
});
|
|
5734
|
+
function check() {
|
|
5735
|
+
var _a2;
|
|
5736
|
+
if (elRef.value && elRef.value.$el && props.to) {
|
|
5737
|
+
const active = (_a2 = elRef.value) == null ? void 0 : _a2.$el.classList.contains(cExact.value ? "router-link-exact-active" : "router-link-active");
|
|
5738
|
+
if (active)
|
|
5739
|
+
tabs.activateTab(cValue.value);
|
|
5740
|
+
}
|
|
5741
|
+
}
|
|
5611
5742
|
const state = reactive({
|
|
5612
|
-
selected: computed(() => tabs.state.active ===
|
|
5743
|
+
selected: computed(() => tabs.state.active === cValue.value)
|
|
5613
5744
|
});
|
|
5614
5745
|
function onClickTab() {
|
|
5615
|
-
|
|
5746
|
+
if (!props.to)
|
|
5747
|
+
tabs.activateTab(cValue.value);
|
|
5616
5748
|
}
|
|
5749
|
+
const sizeClasses = computed(() => {
|
|
5750
|
+
if (cSize.value === "xs")
|
|
5751
|
+
return "text-xs";
|
|
5752
|
+
else if (cSize.value === "sm")
|
|
5753
|
+
return "text-sm";
|
|
5754
|
+
else if (cSize.value === "lg")
|
|
5755
|
+
return "text-lg";
|
|
5756
|
+
else if (cSize.value === "xl")
|
|
5757
|
+
return "text-xl";
|
|
5758
|
+
return "";
|
|
5759
|
+
});
|
|
5617
5760
|
return __spreadProps(__spreadValues({}, toRefs(state)), {
|
|
5618
5761
|
variant: tabs.state.variant,
|
|
5619
5762
|
grow: tabs.state.grow,
|
|
5763
|
+
elRef,
|
|
5620
5764
|
cLabel,
|
|
5765
|
+
cValue,
|
|
5766
|
+
cSize,
|
|
5621
5767
|
tabs,
|
|
5768
|
+
sizeClasses,
|
|
5622
5769
|
teleportTo,
|
|
5623
5770
|
onClickTab
|
|
5624
5771
|
});
|
|
@@ -5627,14 +5774,16 @@ const _sfc_main$4 = defineComponent({
|
|
|
5627
5774
|
const _hoisted_1$3 = ["data-value"];
|
|
5628
5775
|
const _hoisted_2$2 = { class: "flex items-center justify-center" };
|
|
5629
5776
|
function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
5630
|
-
const
|
|
5777
|
+
const _component_XIcon = resolveComponent("XIcon");
|
|
5631
5778
|
return openBlock(), createElementBlock("li", {
|
|
5632
|
-
"data-value": _ctx.
|
|
5779
|
+
"data-value": _ctx.cValue,
|
|
5633
5780
|
class: normalizeClass(["shrink-0 font-medium", { "flex-1": _ctx.grow }])
|
|
5634
5781
|
}, [
|
|
5635
|
-
(openBlock(), createBlock(resolveDynamicComponent(_ctx.to ? "
|
|
5782
|
+
(openBlock(), createBlock(resolveDynamicComponent(_ctx.to ? "x-link" : _ctx.tag), {
|
|
5783
|
+
ref: "elRef",
|
|
5636
5784
|
to: _ctx.to,
|
|
5637
5785
|
class: normalizeClass(["py-2 transition-colors duration-150 ease-in-out whitespace-nowrap text-center", [
|
|
5786
|
+
_ctx.sizeClasses,
|
|
5638
5787
|
{
|
|
5639
5788
|
"px-8": _ctx.variant === "block",
|
|
5640
5789
|
"text-[color:var(--x-tabs-text)] dark:text-[color:var(--x-dark-tabs-text)]": _ctx.selected,
|
|
@@ -5651,14 +5800,14 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5651
5800
|
renderSlot(_ctx.$slots, "tab", {
|
|
5652
5801
|
label: _ctx.label,
|
|
5653
5802
|
value: _ctx.value,
|
|
5654
|
-
size: _ctx.
|
|
5803
|
+
size: _ctx.cSize,
|
|
5655
5804
|
icon: _ctx.icon
|
|
5656
5805
|
}, () => [
|
|
5657
5806
|
createElementVNode("div", _hoisted_2$2, [
|
|
5658
|
-
_ctx.icon ? (openBlock(), createBlock(
|
|
5807
|
+
_ctx.icon ? (openBlock(), createBlock(_component_XIcon, {
|
|
5659
5808
|
key: 0,
|
|
5660
5809
|
icon: _ctx.icon,
|
|
5661
|
-
size: _ctx.
|
|
5810
|
+
size: _ctx.cSize,
|
|
5662
5811
|
class: "mr-1.5 shrink-0"
|
|
5663
5812
|
}, null, 8, ["icon", "size"])) : createCommentVNode("", true),
|
|
5664
5813
|
createElementVNode("span", null, toDisplayString(_ctx.cLabel), 1)
|
|
@@ -5677,18 +5826,23 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5677
5826
|
}
|
|
5678
5827
|
var Tab = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4]]);
|
|
5679
5828
|
const _sfc_main$3 = defineComponent({
|
|
5680
|
-
name: "
|
|
5829
|
+
name: "XTabGroup",
|
|
5681
5830
|
components: {
|
|
5682
5831
|
XScroll
|
|
5683
5832
|
},
|
|
5684
|
-
props: __spreadProps(__spreadValues({}, useColors.props("primary")), {
|
|
5833
|
+
props: __spreadProps(__spreadValues(__spreadValues({}, useCommon.props()), useColors.props("primary")), {
|
|
5685
5834
|
modelValue: [String, Number],
|
|
5686
5835
|
variant: {
|
|
5687
5836
|
type: String,
|
|
5688
5837
|
default: "line"
|
|
5689
5838
|
},
|
|
5839
|
+
align: {
|
|
5840
|
+
type: String,
|
|
5841
|
+
default: "left"
|
|
5842
|
+
},
|
|
5690
5843
|
ghost: Boolean,
|
|
5691
|
-
grow: Boolean
|
|
5844
|
+
grow: Boolean,
|
|
5845
|
+
exact: Boolean
|
|
5692
5846
|
}),
|
|
5693
5847
|
emits: ["update:modelValue"],
|
|
5694
5848
|
setup(props, { emit }) {
|
|
@@ -5697,13 +5851,20 @@ const _sfc_main$3 = defineComponent({
|
|
|
5697
5851
|
const trackerRef = ref();
|
|
5698
5852
|
const tabsRef = ref();
|
|
5699
5853
|
const tabsContentRef = ref();
|
|
5854
|
+
const active = ref();
|
|
5855
|
+
watchEffect(() => {
|
|
5856
|
+
active.value = props.modelValue;
|
|
5857
|
+
});
|
|
5700
5858
|
const state = reactive({
|
|
5701
|
-
active: computed(() =>
|
|
5859
|
+
active: computed(() => active.value),
|
|
5702
5860
|
variant: computed(() => props.variant),
|
|
5703
5861
|
ghost: computed(() => props.ghost),
|
|
5704
|
-
grow: computed(() => props.grow)
|
|
5862
|
+
grow: computed(() => props.grow),
|
|
5863
|
+
exact: computed(() => props.exact),
|
|
5864
|
+
size: computed(() => props.size)
|
|
5705
5865
|
});
|
|
5706
5866
|
function activateTab(tab) {
|
|
5867
|
+
active.value = tab;
|
|
5707
5868
|
emit("update:modelValue", tab);
|
|
5708
5869
|
}
|
|
5709
5870
|
provide(injectTabKey, {
|
|
@@ -5727,13 +5888,13 @@ const _sfc_main$3 = defineComponent({
|
|
|
5727
5888
|
scrollRef.value.scrollEl.scrollTo({ left: center, behavior: "smooth" });
|
|
5728
5889
|
}, 100);
|
|
5729
5890
|
useResizeObserver(wrapperRef, () => {
|
|
5730
|
-
updateTracker(
|
|
5891
|
+
updateTracker(active.value);
|
|
5731
5892
|
});
|
|
5732
|
-
watch(() =>
|
|
5893
|
+
watch(() => active.value, (value) => {
|
|
5733
5894
|
updateTracker(value);
|
|
5734
5895
|
});
|
|
5735
5896
|
onMounted(() => {
|
|
5736
|
-
updateTracker(
|
|
5897
|
+
updateTracker(active.value);
|
|
5737
5898
|
});
|
|
5738
5899
|
const css = useCSS("tabs");
|
|
5739
5900
|
const colors = useColors();
|
|
@@ -5784,7 +5945,9 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5784
5945
|
class: normalizeClass(["flex relative min-w-full w-fit", {
|
|
5785
5946
|
"border-b border-gray-200 dark:border-gray-700": _ctx.variant === "line",
|
|
5786
5947
|
"space-x-8": _ctx.variant === "line" && !_ctx.grow,
|
|
5787
|
-
"z-[1]": _ctx.variant === "block"
|
|
5948
|
+
"z-[1]": _ctx.variant === "block",
|
|
5949
|
+
"justify-center": _ctx.align === "center",
|
|
5950
|
+
"justify-end": _ctx.align === "right"
|
|
5788
5951
|
}])
|
|
5789
5952
|
}, [
|
|
5790
5953
|
renderSlot(_ctx.$slots, "default")
|
|
@@ -5814,6 +5977,7 @@ const _sfc_main$2 = defineComponent({
|
|
|
5814
5977
|
type: String,
|
|
5815
5978
|
default: "ltr"
|
|
5816
5979
|
},
|
|
5980
|
+
rows: Number,
|
|
5817
5981
|
max: Number,
|
|
5818
5982
|
maxlength: Number,
|
|
5819
5983
|
min: Number,
|
|
@@ -5824,7 +5988,8 @@ const _sfc_main$2 = defineComponent({
|
|
|
5824
5988
|
default: true
|
|
5825
5989
|
},
|
|
5826
5990
|
preventEnter: Boolean,
|
|
5827
|
-
inputClass: String
|
|
5991
|
+
inputClass: String,
|
|
5992
|
+
block: Boolean
|
|
5828
5993
|
}),
|
|
5829
5994
|
emits: useInputtable.emits(),
|
|
5830
5995
|
setup(props, { emit }) {
|
|
@@ -5874,13 +6039,13 @@ const _sfc_main$2 = defineComponent({
|
|
|
5874
6039
|
}
|
|
5875
6040
|
});
|
|
5876
6041
|
const _hoisted_1$1 = ["textContent"];
|
|
5877
|
-
const _hoisted_2$1 = ["disabled", "max", "maxlength", "min", "dir", "minlength", "name", "placeholder", "readonly", "value"];
|
|
6042
|
+
const _hoisted_2$1 = ["disabled", "max", "maxlength", "min", "dir", "rows", "minlength", "name", "placeholder", "readonly", "value"];
|
|
5878
6043
|
const _hoisted_3$1 = ["textContent"];
|
|
5879
6044
|
const _hoisted_4$1 = ["textContent"];
|
|
5880
6045
|
function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
5881
6046
|
var _a2;
|
|
5882
6047
|
return openBlock(), createElementBlock("label", {
|
|
5883
|
-
class: normalizeClass(["inline-block relative align-bottom text-left", { "mb-3": _ctx.isInsideForm }])
|
|
6048
|
+
class: normalizeClass(["inline-block relative align-bottom text-left", { "mb-3": _ctx.isInsideForm, "w-full": _ctx.block }])
|
|
5884
6049
|
}, [
|
|
5885
6050
|
_ctx.label ? (openBlock(), createElementBlock("p", {
|
|
5886
6051
|
key: 0,
|
|
@@ -5914,6 +6079,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5914
6079
|
maxlength: _ctx.maxlength,
|
|
5915
6080
|
min: _ctx.min,
|
|
5916
6081
|
dir: _ctx.dir,
|
|
6082
|
+
rows: _ctx.rows,
|
|
5917
6083
|
minlength: _ctx.minlength,
|
|
5918
6084
|
name: _ctx.name,
|
|
5919
6085
|
placeholder: _ctx.placeholder,
|
|
@@ -5983,7 +6149,7 @@ const _hoisted_4 = ["textContent"];
|
|
|
5983
6149
|
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
5984
6150
|
const _component_x_spinner = resolveComponent("x-spinner");
|
|
5985
6151
|
return openBlock(), createElementBlock("label", {
|
|
5986
|
-
class: normalizeClass(["inline-block
|
|
6152
|
+
class: normalizeClass(["inline-block", [!_ctx.disabled ? "cursor-pointer" : "cursor-not-allowed"]])
|
|
5987
6153
|
}, [
|
|
5988
6154
|
createElementVNode("div", _hoisted_1, [
|
|
5989
6155
|
createElementVNode("div", {
|
|
@@ -6153,6 +6319,7 @@ const create = (createOptions = {}) => {
|
|
|
6153
6319
|
app.component(`${options.prefix}${component.name.slice(1)}`, component);
|
|
6154
6320
|
});
|
|
6155
6321
|
app.provide(injectColorsKey, options.colors);
|
|
6322
|
+
app.provide(injectIconsKey, options.icons);
|
|
6156
6323
|
};
|
|
6157
6324
|
return {
|
|
6158
6325
|
install: install2
|