@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.
Files changed (45) hide show
  1. package/README.md +25 -87
  2. package/lib/components/badge/Badge.vue.d.ts +5 -0
  3. package/lib/components/checkbox/Checkbox.vue.d.ts +1 -1
  4. package/lib/components/drawer/Drawer.vue.d.ts +3 -3
  5. package/lib/components/icon/Icon.vue.d.ts +5 -1
  6. package/lib/components/input/Input.vue.d.ts +4 -1
  7. package/lib/components/menu/Menu.vue.d.ts +16 -4
  8. package/lib/components/menu/MenuItem.vue.d.ts +18 -6
  9. package/lib/components/radio/Radio.vue.d.ts +1 -1
  10. package/lib/components/select/Select.vue.d.ts +1 -1
  11. package/lib/components/slider/Slider.vue.d.ts +1 -1
  12. package/lib/components/tab/Tab.vue.d.ts +8 -3
  13. package/lib/components/tab/TabGroup.vue.d.ts +20 -0
  14. package/lib/components/table/Table.vue.d.ts +1 -0
  15. package/lib/components/textarea/Textarea.vue.d.ts +6 -1
  16. package/lib/components/toggle/Toggle.vue.d.ts +1 -1
  17. package/lib/composables/colors.d.ts +1 -1
  18. package/lib/composables/css.d.ts +4 -4
  19. package/lib/create.d.ts +1 -0
  20. package/lib/index.cjs.js +2 -2
  21. package/lib/index.es.js +252 -85
  22. package/lib/style.css +1 -1
  23. package/lib/version.d.ts +1 -1
  24. package/package.json +17 -15
  25. package/src/components/badge/Badge.vue +13 -0
  26. package/src/components/button/Button.vue +4 -4
  27. package/src/components/checkbox/Checkbox.vue +1 -1
  28. package/src/components/container/Container.vue +1 -1
  29. package/src/components/icon/Icon.vue +77 -10
  30. package/src/components/input/Input.vue +5 -3
  31. package/src/components/link/Link.vue +1 -1
  32. package/src/components/menu/Menu.vue +8 -2
  33. package/src/components/menu/MenuItem.vue +23 -5
  34. package/src/components/modal/Modal.vue +3 -1
  35. package/src/components/radio/Radio.vue +4 -4
  36. package/src/components/scroll/Scroll.vue +1 -1
  37. package/src/components/select/Select.vue +0 -0
  38. package/src/components/tab/Tab.vue +57 -8
  39. package/src/components/tab/TabGroup.vue +25 -7
  40. package/src/components/table/Table.vue +2 -0
  41. package/src/components/textarea/Textarea.vue +4 -1
  42. package/src/components/toggle/Toggle.vue +1 -1
  43. package/src/create.ts +4 -2
  44. package/src/version.ts +1 -1
  45. 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, watchEffect, Teleport, mergeProps, toHandlers, onBeforeUnmount, TransitionGroup, useCssModule, vModelRadio, vModelSelect } from "vue";
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(/(?<=\().+?(?=\))/g)) == null ? void 0 : _a2[0].split(",");
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.1";
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$k = {
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$k, [
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
- icons,
698
+ attrs,
699
+ isWrapSVG,
700
+ computedIcon,
701
+ computedFilled,
702
+ computedViewBox,
654
703
  sizeClasses
655
704
  };
656
705
  }
657
706
  });
658
- const _hoisted_1$t = ["fill", "stroke", "viewBox", "stroke-linecap", "stroke-linejoin", "innerHTML"];
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
- class: normalizeClass([_ctx.sizeClasses, { "stroke-2": !_ctx.filled }]),
662
- fill: _ctx.filled ? "currentColor" : "none",
663
- stroke: _ctx.filled ? void 0 : "currentColor",
664
- viewBox: _ctx.viewBox,
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
- innerHTML: _ctx.icons[_ctx.icon] ? _ctx.icons[_ctx.icon] : _ctx.icon
669
- }, null, 10, _hoisted_1$t);
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
- ], 2)) : createCommentVNode("", true)
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[900],
1164
+ bg: gray[800],
1099
1165
  text: "white",
1100
1166
  border: gray[600],
1101
- hover: { bg: !props.loading ? gray[800] : "" },
1102
- active: { bg: !props.loading ? gray[700] : "" }
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 ? "mr-2" : "m-0.5"],
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-d8eeb328"]]);
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-54fce636"), n = n(), popScopeId(), n);
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-54fce636"]]);
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: "container mx-auto px-4" }, {
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
- function useSwipe(target, options = {}) {
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 "NONE";
2434
+ return SwipeDirection.NONE;
2361
2435
  if (abs(diffX.value) > abs(diffY.value)) {
2362
- return diffX.value > 0 ? "LEFT" : "RIGHT";
2436
+ return diffX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;
2363
2437
  } else {
2364
- return diffY.value > 0 ? "UP" : "DOWN";
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-ff88aa62"]]);
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-b6c57c10"), n = n(), popScopeId(), n);
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-b6c57c10"]]);
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: Boolean,
3152
- filled: Boolean,
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(() => props.filled || props.item.filled);
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.get("text", gray[300]);
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-2c7185df"]]);
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: Boolean,
3371
- filled: Boolean
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-857bd200"), n = n(), popScopeId(), n);
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
- class: "inline-block mb-1 relative cursor-pointer focus:outline-none",
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
- tabindex: "0",
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
- ], 6),
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
- ], 40, _hoisted_1$c);
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-857bd200"]]);
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 === props.value)
5743
+ selected: computed(() => tabs.state.active === cValue.value)
5613
5744
  });
5614
5745
  function onClickTab() {
5615
- tabs.activateTab(props.value);
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 _component_x_icon = resolveComponent("x-icon");
5777
+ const _component_XIcon = resolveComponent("XIcon");
5631
5778
  return openBlock(), createElementBlock("li", {
5632
- "data-value": _ctx.value,
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 ? "router-link" : _ctx.tag), {
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.size,
5803
+ size: _ctx.cSize,
5655
5804
  icon: _ctx.icon
5656
5805
  }, () => [
5657
5806
  createElementVNode("div", _hoisted_2$2, [
5658
- _ctx.icon ? (openBlock(), createBlock(_component_x_icon, {
5807
+ _ctx.icon ? (openBlock(), createBlock(_component_XIcon, {
5659
5808
  key: 0,
5660
5809
  icon: _ctx.icon,
5661
- size: _ctx.size,
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: "XTabs",
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(() => props.modelValue),
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(props.modelValue);
5891
+ updateTracker(active.value);
5731
5892
  });
5732
- watch(() => props.modelValue, (value) => {
5893
+ watch(() => active.value, (value) => {
5733
5894
  updateTracker(value);
5734
5895
  });
5735
5896
  onMounted(() => {
5736
- updateTracker(props.modelValue);
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 mb-1 pb-2", [!_ctx.disabled ? "cursor-pointer" : "cursor-not-allowed"]])
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