@volverjs/ui-vue 0.0.5-beta.1 → 0.0.5-beta.3

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 (77) hide show
  1. package/dist/components/VvAction/VvAction.es.js +10 -0
  2. package/dist/components/VvBadge/VvBadge.es.js +10 -0
  3. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +10 -0
  4. package/dist/components/VvButton/VvButton.es.js +10 -0
  5. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +10 -0
  6. package/dist/components/VvCheckbox/VvCheckbox.es.js +10 -0
  7. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +17 -1
  8. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  9. package/dist/components/VvCombobox/VvCombobox.es.js +174 -64
  10. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  11. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +16 -11
  12. package/dist/components/VvCombobox/index.d.ts +6 -1
  13. package/dist/components/VvDialog/VvDialog.es.js +10 -0
  14. package/dist/components/VvDropdown/VvDropdown.es.js +14 -2
  15. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  16. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +27 -11
  17. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +6 -0
  18. package/dist/components/VvDropdown/index.d.ts +6 -1
  19. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +10 -0
  20. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +237 -0
  21. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -0
  22. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +10 -0
  23. package/dist/components/VvInputText/VvInputText.es.js +14 -4
  24. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  25. package/dist/components/VvInputText/VvInputText.vue.d.ts +4 -4
  26. package/dist/components/VvInputText/index.d.ts +2 -2
  27. package/dist/components/VvProgress/VvProgress.es.js +10 -0
  28. package/dist/components/VvRadio/VvRadio.es.js +10 -0
  29. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +17 -1
  30. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  31. package/dist/components/VvSelect/VvSelect.es.js +52 -10
  32. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  33. package/dist/components/VvSelect/VvSelect.vue.d.ts +4 -3
  34. package/dist/components/VvTextarea/VvTextarea.es.js +14 -4
  35. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  36. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +10 -10
  37. package/dist/components/VvTextarea/index.d.ts +2 -2
  38. package/dist/components/VvTooltip/VvTooltip.es.js +10 -0
  39. package/dist/components/index.es.js +250 -140
  40. package/dist/components/index.umd.js +1 -1
  41. package/dist/composables/useOptions.d.ts +1 -0
  42. package/dist/directives/index.d.ts +1 -0
  43. package/dist/directives/index.es.js +51 -2
  44. package/dist/directives/index.umd.js +1 -1
  45. package/dist/directives/v-contextmenu.d.ts +3 -0
  46. package/dist/directives/v-contextmenu.es.js +42 -0
  47. package/dist/directives/v-contextmenu.umd.js +1 -0
  48. package/dist/directives/v-tooltip.es.js +10 -0
  49. package/dist/icons.d.ts +3 -1
  50. package/dist/icons.es.js +6 -4
  51. package/dist/icons.umd.js +1 -1
  52. package/dist/props/index.d.ts +11 -3
  53. package/dist/resolvers/unplugin.es.js +2 -1
  54. package/dist/resolvers/unplugin.umd.js +1 -1
  55. package/dist/stories/Combobox/Combobox.settings.d.ts +12 -0
  56. package/dist/stories/Dropdown/Dropdown.settings.d.ts +12 -0
  57. package/dist/stories/argTypes.d.ts +12 -0
  58. package/package.json +58 -42
  59. package/src/assets/icons/detailed.json +1 -1
  60. package/src/assets/icons/normal.json +1 -1
  61. package/src/assets/icons/simple.json +1 -1
  62. package/src/components/VvCombobox/VvCombobox.vue +85 -28
  63. package/src/components/VvDropdown/VvDropdown.vue +3 -2
  64. package/src/components/VvDropdown/VvDropdownOptgroup.vue +18 -0
  65. package/src/components/VvInputText/VvInputText.vue +2 -2
  66. package/src/components/VvSelect/VvSelect.vue +38 -10
  67. package/src/components/VvTextarea/VvTextarea.vue +2 -2
  68. package/src/composables/useOptions.ts +6 -0
  69. package/src/directives/index.ts +2 -0
  70. package/src/directives/v-contextmenu.ts +40 -0
  71. package/src/icons.ts +1 -1
  72. package/src/props/index.ts +12 -2
  73. package/src/resolvers/unplugin.ts +2 -1
  74. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.mdx +41 -0
  75. package/src/stories/Tooltip/TooltipDirective.stories.mdx +1 -1
  76. package/src/stories/argTypes.ts +10 -0
  77. package/src/types/generic.d.ts +2 -1
@@ -295,14 +295,14 @@ function useModifiers(prefix, modifiers, others) {
295
295
  return toReturn;
296
296
  });
297
297
  }
298
- const _hoisted_1$e = ["id", "open"];
298
+ const _hoisted_1$f = ["id", "open"];
299
299
  const _hoisted_2$c = ["aria-controls", "aria-expanded"];
300
300
  const _hoisted_3$6 = ["aria-hidden"];
301
- const __default__$l = {
301
+ const __default__$m = {
302
302
  name: "VvAccordion"
303
303
  };
304
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
305
- ...__default__$l,
304
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
305
+ ...__default__$m,
306
306
  props: VvAccordionProps,
307
307
  emits: VvAccordionEvents,
308
308
  setup(__props, { emit }) {
@@ -393,7 +393,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
393
393
  createTextVNode(toDisplayString(unref(content)), 1)
394
394
  ])
395
395
  ], 8, _hoisted_3$6)
396
- ], 10, _hoisted_1$e);
396
+ ], 10, _hoisted_1$f);
397
397
  };
398
398
  }
399
399
  });
@@ -446,11 +446,11 @@ function useProvideGroupState(groupState) {
446
446
  computed(() => groupState)
447
447
  );
448
448
  }
449
- const __default__$k = {
449
+ const __default__$l = {
450
450
  name: "VvAccordionGroup"
451
451
  };
452
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
453
- ...__default__$k,
452
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
453
+ ...__default__$l,
454
454
  props: VvAccordionGroupProps,
455
455
  emits: VvAccordionGroupEvents,
456
456
  setup(__props, { emit }) {
@@ -517,7 +517,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
517
517
  }, [
518
518
  renderSlot(_ctx.$slots, "default", {}, () => [
519
519
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item) => {
520
- return openBlock(), createBlock(_sfc_main$l, mergeProps({
520
+ return openBlock(), createBlock(_sfc_main$m, mergeProps({
521
521
  key: item.title
522
522
  }, {
523
523
  name: item.name,
@@ -732,6 +732,16 @@ const DropdownProps = {
732
732
  return Object.values(Side).includes(value) || Object.values(Placement).includes(value);
733
733
  }
734
734
  },
735
+ /**
736
+ * Dropdown strategy
737
+ */
738
+ strategy: {
739
+ type: String,
740
+ default: "absolute",
741
+ validator: (value) => {
742
+ return ["fixed", "absolute"].includes(value);
743
+ }
744
+ },
735
745
  /**
736
746
  * Dropdown show / hide transition name
737
747
  */
@@ -853,14 +863,14 @@ const InputTextareaProps = {
853
863
  * Available for input types: text, search, url, tel, email, password
854
864
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
855
865
  */
856
- minlength: Number,
866
+ minlength: [String, Number],
857
867
  /**
858
868
  * Input / Textarea maxlength
859
869
  * Maximum length (number of characters) of value
860
870
  * Available for input types: text, search, url, tel, email, password
861
871
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
862
872
  */
863
- maxlength: Number,
873
+ maxlength: [String, Number],
864
874
  /**
865
875
  * Input / Textarea placeholder
866
876
  * Text that appears in the form control when it has no value set
@@ -937,11 +947,11 @@ const VvBadgeProps = {
937
947
  ...ModifiersProps,
938
948
  value: [String, Number]
939
949
  };
940
- const __default__$j = {
950
+ const __default__$k = {
941
951
  name: "VvBadge"
942
952
  };
943
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
944
- ...__default__$j,
953
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
954
+ ...__default__$k,
945
955
  props: VvBadgeProps,
946
956
  setup(__props) {
947
957
  const props = __props;
@@ -963,13 +973,13 @@ const VvBreadcrumbProps = {
963
973
  ...ModifiersProps,
964
974
  routes: Array
965
975
  };
966
- const _hoisted_1$d = { class: "vv-breadcrumb__list" };
976
+ const _hoisted_1$e = { class: "vv-breadcrumb__list" };
967
977
  const _hoisted_2$b = ["content"];
968
- const __default__$i = {
978
+ const __default__$j = {
969
979
  name: "VvBreadcrumb"
970
980
  };
971
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
972
- ...__default__$i,
981
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
982
+ ...__default__$j,
973
983
  props: VvBreadcrumbProps,
974
984
  setup(__props) {
975
985
  const props = __props;
@@ -980,7 +990,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
980
990
  class: normalizeClass(unref(bemCssClasses)),
981
991
  "aria-label": "breadcrumbs"
982
992
  }, [
983
- createElementVNode("ol", _hoisted_1$d, [
993
+ createElementVNode("ol", _hoisted_1$e, [
984
994
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.routes, (route, index) => {
985
995
  var _a, _b, _c, _d;
986
996
  return openBlock(), createElementBlock("li", {
@@ -1115,11 +1125,11 @@ const VvIconProps = {
1115
1125
  function useVolver() {
1116
1126
  return inject(INJECTION_KEY_VOLVER);
1117
1127
  }
1118
- const __default__$h = {
1128
+ const __default__$i = {
1119
1129
  name: "VvIcon"
1120
1130
  };
1121
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
1122
- ...__default__$h,
1131
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
1132
+ ...__default__$i,
1123
1133
  props: VvIconProps,
1124
1134
  setup(__props) {
1125
1135
  const props = __props;
@@ -1216,11 +1226,11 @@ function useInjectedDropdownItem() {
1216
1226
  function useInjectedDropdownAction() {
1217
1227
  return inject(INJECTION_KEY_DROPDOWN_ACTION, {});
1218
1228
  }
1219
- const __default__$g = {
1229
+ const __default__$h = {
1220
1230
  name: "VvAction"
1221
1231
  };
1222
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
1223
- ...__default__$g,
1232
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1233
+ ...__default__$h,
1224
1234
  props: VvActionProps,
1225
1235
  emits: VvActionEvents,
1226
1236
  setup(__props, { expose, emit }) {
@@ -1403,7 +1413,7 @@ function useGroupProps$2(props, emit) {
1403
1413
  };
1404
1414
  }
1405
1415
  const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || nanoid()));
1406
- const _hoisted_1$c = {
1416
+ const _hoisted_1$d = {
1407
1417
  key: 1,
1408
1418
  class: "vv-button__label"
1409
1419
  };
@@ -1411,11 +1421,11 @@ const _hoisted_2$a = {
1411
1421
  key: 1,
1412
1422
  class: "vv-button__label"
1413
1423
  };
1414
- const __default__$f = {
1424
+ const __default__$g = {
1415
1425
  name: "VvButton"
1416
1426
  };
1417
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
1418
- ...__default__$f,
1427
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1428
+ ...__default__$g,
1419
1429
  props: VvButtonProps,
1420
1430
  emits: VvButtonEvents,
1421
1431
  setup(__props, { expose, emit }) {
@@ -1490,7 +1500,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1490
1500
  }
1491
1501
  };
1492
1502
  return (_ctx, _cache) => {
1493
- return openBlock(), createBlock(_sfc_main$g, mergeProps({
1503
+ return openBlock(), createBlock(_sfc_main$h, mergeProps({
1494
1504
  disabled: unref(disabled),
1495
1505
  pressed: unref(pressed),
1496
1506
  active: _ctx.active,
@@ -1509,15 +1519,15 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1509
1519
  default: withCtx(() => [
1510
1520
  renderSlot(_ctx.$slots, "default", {}, () => [
1511
1521
  _ctx.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }, () => [
1512
- _ctx.loadingIcon ? (openBlock(), createBlock(_sfc_main$h, {
1522
+ _ctx.loadingIcon ? (openBlock(), createBlock(_sfc_main$i, {
1513
1523
  key: 0,
1514
1524
  class: "vv-button__loading-icon",
1515
1525
  name: _ctx.loadingIcon
1516
1526
  }, null, 8, ["name"])) : createCommentVNode("", true),
1517
- _ctx.loadingLabel ? (openBlock(), createElementBlock("span", _hoisted_1$c, toDisplayString(_ctx.loadingLabel), 1)) : createCommentVNode("", true)
1527
+ _ctx.loadingLabel ? (openBlock(), createElementBlock("span", _hoisted_1$d, toDisplayString(_ctx.loadingLabel), 1)) : createCommentVNode("", true)
1518
1528
  ]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1519
1529
  renderSlot(_ctx.$slots, "before"),
1520
- unref(icon) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
1530
+ unref(icon) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
1521
1531
  key: 0,
1522
1532
  class: "vv-button__icon"
1523
1533
  }, unref(hasIconProps)), null, 16)) : createCommentVNode("", true),
@@ -1548,11 +1558,11 @@ const VvButtonGroupProps = {
1548
1558
  modelValue: { type: [String, Array], default: void 0 }
1549
1559
  };
1550
1560
  const VvButtonGroupEvents = ["update:modelValue"];
1551
- const __default__$e = {
1561
+ const __default__$f = {
1552
1562
  name: "VvButtonGroup"
1553
1563
  };
1554
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
1555
- ...__default__$e,
1564
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1565
+ ...__default__$f,
1556
1566
  props: VvButtonGroupProps,
1557
1567
  emits: VvButtonGroupEvents,
1558
1568
  setup(__props, { emit }) {
@@ -1610,7 +1620,7 @@ const VvCardProps = {
1610
1620
  title: String,
1611
1621
  modifiers: [String, Array]
1612
1622
  };
1613
- const _hoisted_1$b = {
1623
+ const _hoisted_1$c = {
1614
1624
  key: 0,
1615
1625
  class: "vv-card__header"
1616
1626
  };
@@ -1622,11 +1632,11 @@ const _hoisted_3$5 = {
1622
1632
  key: 2,
1623
1633
  class: "vv-card__footer"
1624
1634
  };
1625
- const __default__$d = {
1635
+ const __default__$e = {
1626
1636
  name: "VvCard"
1627
1637
  };
1628
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
1629
- ...__default__$d,
1638
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
1639
+ ...__default__$e,
1630
1640
  props: VvCardProps,
1631
1641
  setup(__props) {
1632
1642
  const props = __props;
@@ -1636,7 +1646,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
1636
1646
  return openBlock(), createElementBlock("article", {
1637
1647
  class: normalizeClass(unref(bemCssClasses))
1638
1648
  }, [
1639
- _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("header", _hoisted_1$b, [
1649
+ _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("header", _hoisted_1$c, [
1640
1650
  renderSlot(_ctx.$slots, "header", {}, () => [
1641
1651
  createTextVNode(toDisplayString(_ctx.title), 1)
1642
1652
  ])
@@ -1809,13 +1819,13 @@ function HintSlotFactory(parentProps, parentSlots) {
1809
1819
  }
1810
1820
  };
1811
1821
  }
1812
- const _hoisted_1$a = ["for"];
1822
+ const _hoisted_1$b = ["for"];
1813
1823
  const _hoisted_2$8 = ["id", "name", "disabled", "value", "tabindex", "aria-invalid"];
1814
- const __default__$c = {
1824
+ const __default__$d = {
1815
1825
  name: "VvCheckbox"
1816
1826
  };
1817
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
1818
- ...__default__$c,
1827
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
1828
+ ...__default__$d,
1819
1829
  props: VvCheckboxProps,
1820
1830
  emits: VvCheckboxEvents,
1821
1831
  setup(__props, { emit }) {
@@ -1955,7 +1965,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
1955
1965
  class: "vv-checkbox__hint",
1956
1966
  params: { value: unref(modelValue) }
1957
1967
  }, null, 8, ["params"])
1958
- ], 10, _hoisted_1$a);
1968
+ ], 10, _hoisted_1$b);
1959
1969
  };
1960
1970
  }
1961
1971
  });
@@ -1978,20 +1988,26 @@ function useOptions(props) {
1978
1988
  return false;
1979
1989
  return typeof disabledKey.value === "function" ? disabledKey.value(option) : option[disabledKey.value];
1980
1990
  };
1991
+ const getOptionGrouped = (option) => {
1992
+ if (typeof option !== "object" && option !== null)
1993
+ return [];
1994
+ return option.options;
1995
+ };
1981
1996
  return {
1982
1997
  options,
1983
1998
  getOptionLabel,
1984
1999
  getOptionValue,
1985
- getOptionDisabled
2000
+ getOptionDisabled,
2001
+ getOptionGrouped
1986
2002
  };
1987
2003
  }
1988
- const _hoisted_1$9 = ["textContent"];
2004
+ const _hoisted_1$a = ["textContent"];
1989
2005
  const _hoisted_2$7 = { class: "vv-checkbox-group__wrapper" };
1990
- const __default__$b = {
2006
+ const __default__$c = {
1991
2007
  name: "VvCheckboxGroup"
1992
2008
  };
1993
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
1994
- ...__default__$b,
2009
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2010
+ ...__default__$c,
1995
2011
  props: VvCheckboxGroupProps,
1996
2012
  emits: VvCheckboxGroupEvents,
1997
2013
  setup(__props, { emit }) {
@@ -2035,10 +2051,10 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2035
2051
  _ctx.label ? (openBlock(), createElementBlock("legend", {
2036
2052
  key: 0,
2037
2053
  textContent: toDisplayString(_ctx.label)
2038
- }, null, 8, _hoisted_1$9)) : createCommentVNode("", true),
2054
+ }, null, 8, _hoisted_1$a)) : createCommentVNode("", true),
2039
2055
  createElementVNode("div", _hoisted_2$7, [
2040
2056
  _ctx.options.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.options, (option, index) => {
2041
- return openBlock(), createBlock(_sfc_main$c, mergeProps({ key: index }, getOptionProps(option, index)), null, 16);
2057
+ return openBlock(), createBlock(_sfc_main$d, mergeProps({ key: index }, getOptionProps(option, index)), null, 16);
2042
2058
  }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })
2043
2059
  ]),
2044
2060
  createVNode(unref(HintSlot), { class: "vv-checkbox-group__hint" })
@@ -2251,16 +2267,16 @@ function useProvideDropdownAction({
2251
2267
  expanded
2252
2268
  });
2253
2269
  }
2254
- const _hoisted_1$8 = ["id", "tabindex", "role", "aria-labelledby"];
2255
- const __default__$a = {
2270
+ const _hoisted_1$9 = ["id", "tabindex", "role", "aria-labelledby"];
2271
+ const __default__$b = {
2256
2272
  name: "VvDropdown",
2257
2273
  inheritAttrs: false
2258
2274
  };
2259
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
2260
- ...__default__$a,
2275
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2276
+ ...__default__$b,
2261
2277
  props: VvDropdownProps,
2262
2278
  emits: ["update:modelValue"],
2263
- setup(__props, { emit }) {
2279
+ setup(__props, { expose, emit }) {
2264
2280
  const props = __props;
2265
2281
  const { id } = toRefs(props);
2266
2282
  const hasId = useUniqueId(id);
@@ -2346,7 +2362,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2346
2362
  floatingEl,
2347
2363
  {
2348
2364
  whileElementsMounted: autoUpdate,
2349
- placement: props.placement,
2365
+ placement: computed(() => props.placement),
2366
+ strategy: computed(() => props.strategy),
2350
2367
  middleware
2351
2368
  }
2352
2369
  );
@@ -2404,6 +2421,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2404
2421
  const init = (el) => {
2405
2422
  referenceEl.value = el;
2406
2423
  };
2424
+ expose({ toggle, show, hide, init });
2407
2425
  watch(expanded, (newValue) => {
2408
2426
  if (newValue && props.autofocusFirst) {
2409
2427
  nextTick(() => {
@@ -2564,7 +2582,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2564
2582
  renderSlot(_ctx.$slots, "items", normalizeProps(guardReactiveProps({
2565
2583
  role: unref(itemRole)
2566
2584
  })))
2567
- ], 16, _hoisted_1$8),
2585
+ ], 16, _hoisted_1$9),
2568
2586
  renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps({ expanded: unref(expanded) })))
2569
2587
  ], 6), [
2570
2588
  [vShow, unref(expanded)]
@@ -2576,11 +2594,11 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2576
2594
  };
2577
2595
  }
2578
2596
  });
2579
- const __default__$9 = {
2597
+ const __default__$a = {
2580
2598
  name: "VvDropdownItem"
2581
2599
  };
2582
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2583
- ...__default__$9,
2600
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2601
+ ...__default__$a,
2584
2602
  setup(__props) {
2585
2603
  const { role, expanded } = useInjectedDropdownItem();
2586
2604
  const element = ref(null);
@@ -2604,12 +2622,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2604
2622
  };
2605
2623
  }
2606
2624
  });
2607
- const _hoisted_1$7 = ["title"];
2608
- const __default__$8 = {
2625
+ const _hoisted_1$8 = ["title"];
2626
+ const __default__$9 = {
2609
2627
  name: "VvDropdownOption"
2610
2628
  };
2611
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2612
- ...__default__$8,
2629
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2630
+ ...__default__$9,
2613
2631
  props: {
2614
2632
  ...DisabledProps,
2615
2633
  ...SelectedProps,
@@ -2646,7 +2664,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2646
2664
  }
2647
2665
  });
2648
2666
  return (_ctx, _cache) => {
2649
- return openBlock(), createBlock(_sfc_main$9, {
2667
+ return openBlock(), createBlock(_sfc_main$a, {
2650
2668
  class: normalizeClass(unref(bemCssClasses)),
2651
2669
  tabindex: _ctx.disabled ? -1 : 0,
2652
2670
  "aria-selected": _ctx.selected,
@@ -2661,13 +2679,33 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2661
2679
  renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps({ disabled: _ctx.disabled, selected: _ctx.selected, unselectable: _ctx.unselectable })), () => [
2662
2680
  createTextVNode(toDisplayString(unref(hintLabel)), 1)
2663
2681
  ])
2664
- ], 8, _hoisted_1$7)
2682
+ ], 8, _hoisted_1$8)
2665
2683
  ]),
2666
2684
  _: 3
2667
2685
  }, 8, ["class", "tabindex", "aria-selected", "aria-disabled"]);
2668
2686
  };
2669
2687
  }
2670
2688
  });
2689
+ const _hoisted_1$7 = {
2690
+ class: "vv-dropdown-optgroup",
2691
+ role: "presentation",
2692
+ tabindex: "-1"
2693
+ };
2694
+ const __default__$8 = {
2695
+ name: "VvDropdownOptgroup"
2696
+ };
2697
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2698
+ ...__default__$8,
2699
+ props: {
2700
+ ...LabelProps
2701
+ },
2702
+ setup(__props) {
2703
+ const props = __props;
2704
+ return (_ctx, _cache) => {
2705
+ return openBlock(), createElementBlock("li", _hoisted_1$7, toDisplayString(props.label), 1);
2706
+ };
2707
+ }
2708
+ });
2671
2709
  const VvSelectProps = {
2672
2710
  ...IdNameProps,
2673
2711
  ...AutofocusProps,
@@ -2771,7 +2809,9 @@ const _hoisted_4$3 = { class: "vv-select__inner" };
2771
2809
  const _hoisted_5$3 = ["id"];
2772
2810
  const _hoisted_6$3 = ["disabled", "hidden"];
2773
2811
  const _hoisted_7$3 = ["disabled", "value"];
2774
- const _hoisted_8$2 = {
2812
+ const _hoisted_8$2 = ["disabled", "label"];
2813
+ const _hoisted_9 = ["disabled", "value"];
2814
+ const _hoisted_10 = {
2775
2815
  key: 1,
2776
2816
  class: "vv-select__input-after"
2777
2817
  };
@@ -2863,7 +2903,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2863
2903
  invalid: props.invalid,
2864
2904
  modelValue: props.modelValue
2865
2905
  }));
2866
- const { getOptionLabel, getOptionValue, getOptionDisabled } = useOptions(props);
2906
+ const {
2907
+ getOptionLabel,
2908
+ getOptionValue,
2909
+ getOptionDisabled,
2910
+ getOptionGrouped
2911
+ } = useOptions(props);
2867
2912
  const localModelValue = computed({
2868
2913
  get: () => {
2869
2914
  return props.modelValue;
@@ -2875,6 +2920,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2875
2920
  emit("update:modelValue", newValue);
2876
2921
  }
2877
2922
  });
2923
+ const isGroup = (option) => {
2924
+ if (typeof option === "string")
2925
+ return false;
2926
+ return option && option.options && option.options.length > 0;
2927
+ };
2878
2928
  return (_ctx, _cache) => {
2879
2929
  return openBlock(), createElementBlock("div", {
2880
2930
  class: normalizeClass(unref(bemCssClasses))
@@ -2888,7 +2938,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2888
2938
  renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
2889
2939
  ])) : createCommentVNode("", true),
2890
2940
  createElementVNode("div", _hoisted_4$3, [
2891
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
2941
+ unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
2892
2942
  key: 0,
2893
2943
  class: "vv-select__icon"
2894
2944
  }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
@@ -2905,21 +2955,35 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2905
2955
  hidden: !_ctx.unselectable
2906
2956
  }, toDisplayString(_ctx.placeholder), 9, _hoisted_6$3)) : createCommentVNode("", true),
2907
2957
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index) => {
2908
- return openBlock(), createElementBlock("option", {
2909
- key: index,
2910
- disabled: unref(getOptionDisabled)(option),
2911
- value: unref(getOptionValue)(option)
2912
- }, toDisplayString(unref(getOptionLabel)(option)), 9, _hoisted_7$3);
2913
- }), 128))
2958
+ return openBlock(), createElementBlock(Fragment, null, [
2959
+ !isGroup(option) ? (openBlock(), createElementBlock("option", {
2960
+ key: index,
2961
+ disabled: unref(getOptionDisabled)(option),
2962
+ value: unref(getOptionValue)(option)
2963
+ }, toDisplayString(unref(getOptionLabel)(option)), 9, _hoisted_7$3)) : (openBlock(), createElementBlock("optgroup", {
2964
+ key: `group-${index}`,
2965
+ disabled: unref(getOptionDisabled)(option),
2966
+ label: unref(getOptionLabel)(option)
2967
+ }, [
2968
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(getOptionGrouped)(option), (item, i) => {
2969
+ return openBlock(), createElementBlock("option", {
2970
+ key: `group-${index}-item-${i}`,
2971
+ disabled: unref(getOptionDisabled)(item),
2972
+ value: unref(getOptionValue)(item)
2973
+ }, toDisplayString(unref(getOptionLabel)(item)), 9, _hoisted_9);
2974
+ }), 128))
2975
+ ], 8, _hoisted_8$2))
2976
+ ], 64);
2977
+ }), 256))
2914
2978
  ], 16, _hoisted_5$3), [
2915
2979
  [vModelSelect, unref(localModelValue)]
2916
2980
  ]),
2917
- unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
2981
+ unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
2918
2982
  key: 1,
2919
2983
  class: "vv-select__icon vv-select__icon-after"
2920
2984
  }, unref(hasIcon)), null, 16)) : createCommentVNode("", true)
2921
2985
  ]),
2922
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_8$2, [
2986
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_10, [
2923
2987
  renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
2924
2988
  ])) : createCommentVNode("", true)
2925
2989
  ]),
@@ -3000,7 +3064,7 @@ const _hoisted_8$1 = {
3000
3064
  };
3001
3065
  const __default__$6 = {
3002
3066
  name: "VvCombobox",
3003
- components: { VvDropdown: _sfc_main$a, VvDropdownOption: _sfc_main$8 }
3067
+ components: { VvDropdown: _sfc_main$b, VvDropdownOption: _sfc_main$9, VvDropdownOptgroup: _sfc_main$8 }
3004
3068
  };
3005
3069
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3006
3070
  ...__default__$6,
@@ -3120,7 +3184,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3120
3184
  const hasOptions = computed(
3121
3185
  () => props.searchable ? filteredOptions.value : props.options
3122
3186
  );
3123
- const { getOptionLabel, getOptionValue, getOptionDisabled } = useOptions(props);
3187
+ const {
3188
+ getOptionLabel,
3189
+ getOptionValue,
3190
+ getOptionDisabled,
3191
+ getOptionGrouped
3192
+ } = useOptions(props);
3124
3193
  const filteredOptions = computed(() => {
3125
3194
  var _a;
3126
3195
  return (_a = props.options) == null ? void 0 : _a.filter((option) => {
@@ -3164,7 +3233,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3164
3233
  let toReturn = value;
3165
3234
  if (props.multiple) {
3166
3235
  if (Array.isArray(props.modelValue)) {
3167
- if (props.maxValues !== void 0 && props.maxValues >= 0 && ((_a = props.modelValue) == null ? void 0 : _a.length) >= props.maxValues) {
3236
+ const maxValues = Number(props.maxValues);
3237
+ if (props.maxValues !== void 0 && maxValues >= 0 && ((_a = props.modelValue) == null ? void 0 : _a.length) >= maxValues) {
3168
3238
  if (!contains(value, props.modelValue)) {
3169
3239
  return;
3170
3240
  }
@@ -3213,6 +3283,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3213
3283
  id: hasDropdownId.value,
3214
3284
  reference: wrapperEl.value,
3215
3285
  placement: props.placement,
3286
+ strategy: props.strategy,
3216
3287
  transitionName: props.transitionName,
3217
3288
  offset: props.offset,
3218
3289
  shift: props.shift,
@@ -3239,6 +3310,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3239
3310
  toggleExpanded();
3240
3311
  }
3241
3312
  });
3313
+ const isGroup = (option) => {
3314
+ if (typeof option === "string") {
3315
+ return false;
3316
+ }
3317
+ return option.options && option.options.length > 0;
3318
+ };
3242
3319
  return (_ctx, _cache) => {
3243
3320
  return !_ctx.native ? (openBlock(), createElementBlock("div", {
3244
3321
  key: 0,
@@ -3255,7 +3332,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3255
3332
  ref: wrapperEl,
3256
3333
  class: "vv-select__wrapper"
3257
3334
  }, [
3258
- createVNode(_sfc_main$a, mergeProps({
3335
+ createVNode(_sfc_main$b, mergeProps({
3259
3336
  modelValue: unref(expanded),
3260
3337
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(expanded) ? expanded.value = $event : null)
3261
3338
  }, unref(dropdownProps), {
@@ -3266,7 +3343,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3266
3343
  renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
3267
3344
  ])) : createCommentVNode("", true),
3268
3345
  createElementVNode("div", _hoisted_5$2, [
3269
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
3346
+ unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
3270
3347
  key: 0,
3271
3348
  class: "vv-select__icon"
3272
3349
  }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
@@ -3285,7 +3362,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3285
3362
  !_ctx.badges ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3286
3363
  createTextVNode(toDisplayString(unref(hasValue)), 1)
3287
3364
  ], 64)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(selectedOptions), (option, index) => {
3288
- return openBlock(), createBlock(_sfc_main$j, {
3365
+ return openBlock(), createBlock(_sfc_main$k, {
3289
3366
  key: index,
3290
3367
  modifiers: _ctx.badgeModifiers,
3291
3368
  class: "vv-select__badge"
@@ -3297,7 +3374,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3297
3374
  "aria-label": unref(propsDefaults).deselectActionLabel,
3298
3375
  onClick: withModifiers(($event) => onInput(option), ["stop"])
3299
3376
  }, [
3300
- createVNode(_sfc_main$h, { name: "close" })
3377
+ createVNode(_sfc_main$i, { name: "close" })
3301
3378
  ], 8, _hoisted_7$2)) : createCommentVNode("", true)
3302
3379
  ]),
3303
3380
  _: 2
@@ -3308,7 +3385,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3308
3385
  ], 64))
3309
3386
  ])
3310
3387
  ], 16, _hoisted_6$2),
3311
- unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
3388
+ unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
3312
3389
  key: 1,
3313
3390
  class: "vv-select__icon vv-select__icon-after"
3314
3391
  }, unref(hasIcon)), null, 16)) : createCommentVNode("", true)
@@ -3319,31 +3396,64 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3319
3396
  ]),
3320
3397
  items: withCtx(() => [
3321
3398
  unref(filteredOptions).length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(filteredOptions), (option, index) => {
3322
- return openBlock(), createBlock(_sfc_main$8, mergeProps({
3323
- disabled: unref(getOptionDisabled)(option),
3324
- selected: getOptionSelected(option),
3325
- unselectable: _ctx.unselectable,
3326
- deselectHintLabel: unref(propsDefaults).deselectHintLabel,
3327
- selectHintLabel: unref(propsDefaults).selectHintLabel,
3328
- selectedHintLabel: unref(propsDefaults).selectedHintLabel
3329
- }, {
3330
- key: index,
3331
- class: "vv-dropdown-option",
3332
- onClickPassive: ($event) => onInput(option)
3333
- }), {
3334
- default: withCtx(() => [
3335
- renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
3336
- option,
3337
- selectedOptions: unref(selectedOptions),
3338
- selected: getOptionSelected(option),
3339
- disabled: unref(getOptionDisabled)(option)
3340
- })), () => [
3341
- createTextVNode(toDisplayString(unref(getOptionLabel)(option)), 1)
3342
- ])
3343
- ]),
3344
- _: 2
3345
- }, 1040, ["onClickPassive"]);
3346
- }), 128)) : !_ctx.options.length ? (openBlock(), createBlock(_sfc_main$8, {
3399
+ return openBlock(), createElementBlock(Fragment, { key: index }, [
3400
+ isGroup(option) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3401
+ createVNode(_sfc_main$8, {
3402
+ label: unref(getOptionLabel)(option)
3403
+ }, null, 8, ["label"]),
3404
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(getOptionGrouped)(
3405
+ option
3406
+ ), (item, i) => {
3407
+ return openBlock(), createBlock(_sfc_main$9, mergeProps({
3408
+ disabled: unref(getOptionDisabled)(item),
3409
+ selected: getOptionSelected(item),
3410
+ unselectable: _ctx.unselectable,
3411
+ deselectHintLabel: unref(propsDefaults).deselectHintLabel,
3412
+ selectHintLabel: unref(propsDefaults).selectHintLabel,
3413
+ selectedHintLabel: unref(propsDefaults).selectedHintLabel
3414
+ }, {
3415
+ key: i,
3416
+ class: "vv-dropdown-option",
3417
+ onClickPassive: ($event) => onInput(item)
3418
+ }), {
3419
+ default: withCtx(() => [
3420
+ renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
3421
+ option,
3422
+ selectedOptions: unref(selectedOptions),
3423
+ selected: getOptionSelected(item),
3424
+ disabled: unref(getOptionDisabled)(item)
3425
+ })), () => [
3426
+ createTextVNode(toDisplayString(unref(getOptionLabel)(item)), 1)
3427
+ ])
3428
+ ]),
3429
+ _: 2
3430
+ }, 1040, ["onClickPassive"]);
3431
+ }), 128))
3432
+ ], 64)) : (openBlock(), createBlock(_sfc_main$9, mergeProps({ key: 1 }, {
3433
+ disabled: unref(getOptionDisabled)(option),
3434
+ selected: getOptionSelected(option),
3435
+ unselectable: _ctx.unselectable,
3436
+ deselectHintLabel: unref(propsDefaults).deselectHintLabel,
3437
+ selectHintLabel: unref(propsDefaults).selectHintLabel,
3438
+ selectedHintLabel: unref(propsDefaults).selectedHintLabel
3439
+ }, {
3440
+ class: "vv-dropdown-option",
3441
+ onClickPassive: ($event) => onInput(option)
3442
+ }), {
3443
+ default: withCtx(() => [
3444
+ renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
3445
+ option,
3446
+ selectedOptions: unref(selectedOptions),
3447
+ selected: getOptionSelected(option),
3448
+ disabled: unref(getOptionDisabled)(option)
3449
+ })), () => [
3450
+ createTextVNode(toDisplayString(unref(getOptionLabel)(option)), 1)
3451
+ ])
3452
+ ]),
3453
+ _: 2
3454
+ }, 1040, ["onClickPassive"]))
3455
+ ], 64);
3456
+ }), 128)) : !_ctx.options.length ? (openBlock(), createBlock(_sfc_main$9, {
3347
3457
  key: 1,
3348
3458
  modifiers: "inert"
3349
3459
  }, {
@@ -3353,7 +3463,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3353
3463
  ])
3354
3464
  ]),
3355
3465
  _: 3
3356
- })) : (openBlock(), createBlock(_sfc_main$8, {
3466
+ })) : (openBlock(), createBlock(_sfc_main$9, {
3357
3467
  key: 2,
3358
3468
  modifiers: "inert"
3359
3469
  }, {
@@ -3531,7 +3641,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3531
3641
  class: "vv-dialog__close",
3532
3642
  onClickPassive: close
3533
3643
  }, [
3534
- createVNode(_sfc_main$h, { name: "close" })
3644
+ createVNode(_sfc_main$i, { name: "close" })
3535
3645
  ], 32)
3536
3646
  ])
3537
3647
  ])) : createCommentVNode("", true),
@@ -3743,7 +3853,7 @@ const VvInputTextProps = {
3743
3853
  };
3744
3854
  const VvInputPasswordAction = defineComponent({
3745
3855
  components: {
3746
- VvIcon: _sfc_main$h
3856
+ VvIcon: _sfc_main$i
3747
3857
  },
3748
3858
  props: {
3749
3859
  disabled: {
@@ -3787,7 +3897,7 @@ const VvInputPasswordAction = defineComponent({
3787
3897
  };
3788
3898
  },
3789
3899
  render() {
3790
- const icon = h(_sfc_main$h, {
3900
+ const icon = h(_sfc_main$i, {
3791
3901
  name: this.activeIcon,
3792
3902
  class: "vv-input-text__icon"
3793
3903
  });
@@ -3806,7 +3916,7 @@ const VvInputPasswordAction = defineComponent({
3806
3916
  });
3807
3917
  const VvInputStepAction = defineComponent({
3808
3918
  components: {
3809
- VvIcon: _sfc_main$h
3919
+ VvIcon: _sfc_main$i
3810
3920
  },
3811
3921
  props: {
3812
3922
  disabled: {
@@ -3851,7 +3961,7 @@ const VvInputStepAction = defineComponent({
3851
3961
  });
3852
3962
  const VvInputClearAction = defineComponent({
3853
3963
  components: {
3854
- VvIcon: _sfc_main$h
3964
+ VvIcon: _sfc_main$i
3855
3965
  },
3856
3966
  props: {
3857
3967
  disabled: {
@@ -3880,7 +3990,7 @@ const VvInputClearAction = defineComponent({
3880
3990
  };
3881
3991
  },
3882
3992
  render() {
3883
- const icon = h(_sfc_main$h, {
3993
+ const icon = h(_sfc_main$i, {
3884
3994
  name: this.icon,
3885
3995
  class: "vv-input-text__icon"
3886
3996
  });
@@ -3901,7 +4011,7 @@ function VvInputTextActionsFactory(type, parentProps) {
3901
4011
  return {
3902
4012
  name: "VvInputTextActions",
3903
4013
  components: {
3904
- VvIcon: _sfc_main$h,
4014
+ VvIcon: _sfc_main$i,
3905
4015
  VvInputPasswordAction,
3906
4016
  VvInputStepAction,
3907
4017
  VvInputClearAction
@@ -4155,8 +4265,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4155
4265
  });
4156
4266
  const { formatted: countFormatted } = useTextCount(localModelValue, {
4157
4267
  mode: props.count,
4158
- upperLimit: props.maxlength,
4159
- lowerLimit: props.minlength
4268
+ upperLimit: Number(props.maxlength),
4269
+ lowerLimit: Number(props.minlength)
4160
4270
  });
4161
4271
  const isClickable = computed(() => !props.disabled && !props.readonly);
4162
4272
  const hasTabindex = computed(
@@ -4309,7 +4419,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4309
4419
  class: "vv-input-text__inner",
4310
4420
  onClick: withModifiers(onClickInner, ["stop"])
4311
4421
  }, [
4312
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
4422
+ unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
4313
4423
  key: 0,
4314
4424
  class: "vv-input-text__icon"
4315
4425
  }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
@@ -4330,7 +4440,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4330
4440
  ])
4331
4441
  ])) : createCommentVNode("", true)
4332
4442
  ], 8, _hoisted_4$1),
4333
- unref(hasIconAfter) || unref(defaultAfterIcon) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
4443
+ unref(hasIconAfter) || unref(defaultAfterIcon) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
4334
4444
  key: 1,
4335
4445
  class: "vv-input-text__icon vv-input-text__icon-after"
4336
4446
  }, unref(hasIconAfter) ? unref(hasIcon) : unref(defaultAfterIcon)), null, 16)) : unref(isPassword) && !_ctx.hideActions && unref(isClickable) ? (openBlock(), createBlock(unref(PasswordInputActions), {
@@ -4701,8 +4811,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4701
4811
  });
4702
4812
  const { formatted: countFormatted } = useTextCount(localModelValue, {
4703
4813
  mode: props.count,
4704
- upperLimit: props.maxlength,
4705
- lowerLimit: props.minlength
4814
+ upperLimit: Number(props.maxlength),
4815
+ lowerLimit: Number(props.minlength)
4706
4816
  });
4707
4817
  const isClickable = computed(() => !props.disabled && !props.readonly);
4708
4818
  const hasTabindex = computed(
@@ -4782,7 +4892,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4782
4892
  renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
4783
4893
  ])) : createCommentVNode("", true),
4784
4894
  createElementVNode("div", _hoisted_4, [
4785
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
4895
+ unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
4786
4896
  key: 0,
4787
4897
  class: "vv-textarea__icon"
4788
4898
  }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
@@ -4796,7 +4906,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4796
4906
  }), null, 16, _hoisted_5), [
4797
4907
  [vModelText, unref(localModelValue)]
4798
4908
  ]),
4799
- unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$h, mergeProps({
4909
+ unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$i, mergeProps({
4800
4910
  key: 1,
4801
4911
  class: "vv-textarea__icon vv-textarea__icon-after"
4802
4912
  }, unref(hasIcon)), null, 16)) : createCommentVNode("", true)
@@ -4819,19 +4929,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4819
4929
  }
4820
4930
  });
4821
4931
  export {
4822
- _sfc_main$l as VvAccordion,
4823
- _sfc_main$k as VvAccordionGroup,
4824
- _sfc_main$j as VvBadge,
4825
- _sfc_main$i as VvBreadcrumb,
4826
- _sfc_main$f as VvButton,
4827
- _sfc_main$e as VvButtonGroup,
4828
- _sfc_main$d as VvCard,
4829
- _sfc_main$c as VvCheckbox,
4830
- _sfc_main$b as VvCheckboxGroup,
4932
+ _sfc_main$m as VvAccordion,
4933
+ _sfc_main$l as VvAccordionGroup,
4934
+ _sfc_main$k as VvBadge,
4935
+ _sfc_main$j as VvBreadcrumb,
4936
+ _sfc_main$g as VvButton,
4937
+ _sfc_main$f as VvButtonGroup,
4938
+ _sfc_main$e as VvCard,
4939
+ _sfc_main$d as VvCheckbox,
4940
+ _sfc_main$c as VvCheckboxGroup,
4831
4941
  _sfc_main$6 as VvCombobox,
4832
4942
  _sfc_main$5 as VvDialog,
4833
- _sfc_main$a as VvDropdown,
4834
- _sfc_main$h as VvIcon,
4943
+ _sfc_main$b as VvDropdown,
4944
+ _sfc_main$i as VvIcon,
4835
4945
  _sfc_main$4 as VvInputText,
4836
4946
  _sfc_main$3 as VvProgress,
4837
4947
  _sfc_main$2 as VvRadio,