@volverjs/ui-vue 0.0.10-beta.32 → 0.0.10-beta.33

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 (166) hide show
  1. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +1 -131
  2. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +4 -3
  3. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  4. package/dist/components/VvAlert/VvAlert.es.js +5 -5
  5. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  6. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +6 -7
  7. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  8. package/dist/components/VvAvatar/VvAvatar.es.js +1 -6
  9. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  10. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +4 -8
  11. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  12. package/dist/components/VvBadge/VvBadge.es.js +2 -8
  13. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  14. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +3 -8
  15. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  16. package/dist/components/VvButton/VvButton.es.js +0 -22
  17. package/dist/components/VvButton/VvButton.umd.js +1 -1
  18. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +16 -7
  19. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  20. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +7 -0
  21. package/dist/components/VvButtonGroup/index.d.ts +3 -0
  22. package/dist/components/VvCard/VvCard.es.js +1 -6
  23. package/dist/components/VvCard/VvCard.umd.js +1 -1
  24. package/dist/components/VvCheckbox/VvCheckbox.es.js +2 -23
  25. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  26. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +6 -24
  27. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  28. package/dist/components/VvCombobox/VvCombobox.es.js +12 -31
  29. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  30. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +29 -23
  31. package/dist/components/VvCombobox/index.d.ts +7 -7
  32. package/dist/components/VvDialog/VvDialog.es.js +1 -6
  33. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  34. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +23 -23
  35. package/dist/components/VvDropdown/index.d.ts +7 -7
  36. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +0 -5
  37. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  38. package/dist/components/VvIcon/VvIcon.es.js +1 -6
  39. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  40. package/dist/components/VvInputFile/VvInputFile.es.js +0 -22
  41. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  42. package/dist/components/VvInputText/VvInputText.es.js +11 -3
  43. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  44. package/dist/components/VvNav/VvNav.es.js +8 -10
  45. package/dist/components/VvNav/VvNav.umd.js +1 -1
  46. package/dist/components/VvNavItem/VvNavItem.es.js +4 -1
  47. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  48. package/dist/components/VvProgress/VvProgress.es.js +3 -3
  49. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  50. package/dist/components/VvRadio/VvRadio.es.js +0 -22
  51. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  52. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +4 -23
  53. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  54. package/dist/components/VvTab/VvTab.es.js +7 -9
  55. package/dist/components/VvTab/VvTab.umd.js +1 -1
  56. package/dist/components/index.es.js +82 -68
  57. package/dist/components/index.umd.js +1 -1
  58. package/dist/icons.es.js +3 -3
  59. package/dist/icons.umd.js +1 -1
  60. package/dist/props/index.d.ts +7 -7
  61. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  62. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  63. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -181
  64. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +370 -11
  65. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  66. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  67. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  68. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  69. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  70. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  71. package/dist/stories/Button/Button.settings.d.ts +2 -193
  72. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  73. package/dist/stories/Card/Card.settings.d.ts +2 -63
  74. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  75. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  76. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -617
  77. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  78. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  79. package/dist/stories/Icon/Icon.settings.d.ts +2 -68
  80. package/dist/stories/InputFile/InputFile.settings.d.ts +2 -52
  81. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  82. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  83. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  84. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  85. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  86. package/dist/stories/Select/Select.settings.d.ts +2 -246
  87. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  88. package/dist/stories/argTypes.d.ts +27 -866
  89. package/package.json +45 -45
  90. package/src/assets/icons/detailed.json +1 -1
  91. package/src/assets/icons/normal.json +1 -1
  92. package/src/assets/icons/simple.json +1 -1
  93. package/src/components/VvAlert/index.ts +4 -4
  94. package/src/components/VvAlertGroup/VvAlertGroup.vue +0 -1
  95. package/src/components/VvBadge/VvBadge.vue +1 -1
  96. package/src/components/VvButtonGroup/VvButtonGroup.vue +11 -2
  97. package/src/components/VvButtonGroup/index.ts +1 -0
  98. package/src/components/VvCheckbox/VvCheckbox.vue +2 -5
  99. package/src/components/VvCombobox/VvCombobox.vue +2 -1
  100. package/src/components/VvInputText/VvInputText.vue +15 -4
  101. package/src/components/VvNav/VvNav.vue +1 -6
  102. package/src/components/VvNav/VvNavItem.vue +1 -1
  103. package/src/components/VvProgress/VvProgress.vue +0 -1
  104. package/src/composables/alert/useAlert.ts +3 -3
  105. package/src/stories/Accordion/Accordion.settings.ts +3 -2
  106. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +4 -3
  107. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +4 -2
  108. package/src/stories/AccordionGroup/AccordionGroup.test.ts +2 -6
  109. package/src/stories/Alert/Alert.settings.ts +8 -7
  110. package/src/stories/Alert/Alert.test.ts +1 -3
  111. package/src/stories/AlertGroup/AlertGroup.settings.ts +3 -1
  112. package/src/stories/AlertGroup/AlertGroup.test.ts +5 -7
  113. package/src/stories/Avatar/Avatar.test.ts +1 -3
  114. package/src/stories/Avatar/AvatarModifiers.stories.ts +1 -0
  115. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +2 -1
  116. package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -3
  117. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +1 -0
  118. package/src/stories/Badge/Badge.settings.ts +2 -1
  119. package/src/stories/Badge/Badge.stories.ts +2 -2
  120. package/src/stories/Badge/Badge.test.ts +1 -1
  121. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +2 -1
  122. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +1 -1
  123. package/src/stories/Breadcrumb/Breadcrumb.test.ts +1 -1
  124. package/src/stories/Button/Button.settings.ts +6 -6
  125. package/src/stories/Button/Button.stories.ts +1 -1
  126. package/src/stories/Button/Button.test.ts +1 -3
  127. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +11 -1
  128. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +1 -1
  129. package/src/stories/ButtonGroup/ButtonGroup.test.ts +2 -6
  130. package/src/stories/Card/Card.settings.ts +2 -1
  131. package/src/stories/Card/Card.test.ts +1 -3
  132. package/src/stories/Checkbox/Checkbox.settings.ts +5 -3
  133. package/src/stories/Checkbox/Checkbox.test.ts +2 -6
  134. package/src/stories/Checkbox/CheckboxBinary.stories.ts +1 -1
  135. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +2 -6
  136. package/src/stories/Combobox/Combobox.settings.ts +10 -10
  137. package/src/stories/Combobox/Combobox.test.ts +2 -6
  138. package/src/stories/Dialog/Dialog.settings.ts +2 -1
  139. package/src/stories/Dialog/Dialog.test.ts +3 -8
  140. package/src/stories/Dropdown/Dropdown.settings.ts +2 -1
  141. package/src/stories/Dropdown/Dropdown.test.ts +2 -6
  142. package/src/stories/Dropdown/DropdownSlots.stories.ts +1 -1
  143. package/src/stories/Icon/Icon.settings.ts +2 -1
  144. package/src/stories/Icon/Icon.stories.ts +0 -1
  145. package/src/stories/InputFile/InputFile.settings.ts +2 -1
  146. package/src/stories/InputText/InputText.settings.ts +8 -6
  147. package/src/stories/InputText/InputText.test.ts +2 -6
  148. package/src/stories/InputText/InputTextMinMax.stories.ts +1 -1
  149. package/src/stories/Nav/Nav.settings.ts +2 -2
  150. package/src/stories/Nav/Nav.stories.ts +1 -1
  151. package/src/stories/Nav/Nav.test.ts +2 -4
  152. package/src/stories/Progress/Progress.settings.ts +2 -1
  153. package/src/stories/Radio/Radio.test.ts +2 -6
  154. package/src/stories/RadioGroup/RadioGroup.stories.ts +1 -2
  155. package/src/stories/RadioGroup/RadioGroup.test.ts +2 -6
  156. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +1 -1
  157. package/src/stories/Select/Select.settings.ts +4 -3
  158. package/src/stories/Select/Select.test.ts +3 -9
  159. package/src/stories/Select/SelectIconPosition.stories.ts +2 -2
  160. package/src/stories/Select/SelectOptions.stories.ts +0 -1
  161. package/src/stories/Tab/Tab.test.ts +3 -5
  162. package/src/stories/Textarea/Textarea.settings.ts +5 -3
  163. package/src/stories/Textarea/Textarea.test.ts +2 -6
  164. package/src/stories/Tooltip/Tooltip.settings.ts +1 -1
  165. package/src/stories/Tooltip/Tooltip.test.ts +3 -5
  166. package/src/stories/argTypes.ts +47 -46
@@ -717,7 +717,7 @@ function useModifiers(prefix, modifiers, others) {
717
717
  return toReturn;
718
718
  });
719
719
  }
720
- const _hoisted_1$l = ["id", "open"];
720
+ const _hoisted_1$m = ["id", "open"];
721
721
  const _hoisted_2$f = ["aria-controls", "aria-expanded"];
722
722
  const _hoisted_3$8 = ["aria-hidden"];
723
723
  const __default__$r = {
@@ -876,7 +876,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
876
876
  )
877
877
  ])
878
878
  ], 8, _hoisted_3$8)
879
- ], 10, _hoisted_1$l);
879
+ ], 10, _hoisted_1$m);
880
880
  };
881
881
  }
882
882
  });
@@ -1170,7 +1170,8 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1170
1170
  return openBlock(), createBlock(
1171
1171
  _sfc_main$x,
1172
1172
  mergeProps({
1173
- key: item.title
1173
+ key: item.title,
1174
+ ref_for: true
1174
1175
  }, {
1175
1176
  name: item.name,
1176
1177
  title: item.title,
@@ -1183,14 +1184,14 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1183
1184
  _ctx.$slots[`summary::${item.name}`] ? {
1184
1185
  name: "summary",
1185
1186
  fn: withCtx((data) => [
1186
- renderSlot(_ctx.$slots, `summary::${item.name}`, normalizeProps(guardReactiveProps(data)))
1187
+ renderSlot(_ctx.$slots, `summary::${item.name}`, mergeProps({ ref_for: true }, data))
1187
1188
  ]),
1188
1189
  key: "0"
1189
1190
  } : void 0,
1190
1191
  _ctx.$slots[`content::${item.name}`] ? {
1191
1192
  name: "default",
1192
1193
  fn: withCtx((data) => [
1193
- renderSlot(_ctx.$slots, `content::${item.name}`, normalizeProps(guardReactiveProps(data)))
1194
+ renderSlot(_ctx.$slots, `content::${item.name}`, mergeProps({ ref_for: true }, data))
1194
1195
  ]),
1195
1196
  key: "1"
1196
1197
  } : void 0
@@ -1644,18 +1645,18 @@ const useVvAlert = (props, emit) => {
1644
1645
  }
1645
1646
  );
1646
1647
  const isMouseover = ref(false);
1647
- const onMouseover = withModifiers(() => {
1648
+ const onMouseover = () => {
1648
1649
  isMouseover.value = true;
1649
1650
  if (timeout) {
1650
1651
  clearTimeout(timeout);
1651
1652
  }
1652
- }, ["passive"]);
1653
- const onMouseleave = withModifiers(() => {
1653
+ };
1654
+ const onMouseleave = () => {
1654
1655
  isMouseover.value = false;
1655
1656
  if (props.autoClose > 0) {
1656
1657
  timeout = setTimeout(close, props.autoClose);
1657
1658
  }
1658
- }, ["passive"]);
1659
+ };
1659
1660
  return {
1660
1661
  close,
1661
1662
  hasIcon,
@@ -1670,7 +1671,7 @@ const useVvAlert = (props, emit) => {
1670
1671
  }))
1671
1672
  };
1672
1673
  };
1673
- const _hoisted_1$k = {
1674
+ const _hoisted_1$l = {
1674
1675
  key: 0,
1675
1676
  class: "vv-alert__header"
1676
1677
  };
@@ -1711,7 +1712,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1711
1712
  "div",
1712
1713
  normalizeProps(guardReactiveProps(unref(hasProps))),
1713
1714
  [
1714
- _ctx.$slots.header || _ctx.$slots.title || _ctx.$slots.close || _ctx.$slots["title::before"] || _ctx.$slots["title::after"] || _ctx.title || _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("div", _hoisted_1$k, [
1715
+ _ctx.$slots.header || _ctx.$slots.title || _ctx.$slots.close || _ctx.$slots["title::before"] || _ctx.$slots["title::after"] || _ctx.title || _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("div", _hoisted_1$l, [
1715
1716
  unref(hasIcon) ? (openBlock(), createBlock(
1716
1717
  _sfc_main$u,
1717
1718
  mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }),
@@ -1932,7 +1933,6 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1932
1933
  renderSlot(_ctx.$slots, "before"),
1933
1934
  createVNode(TransitionGroup, mergeProps({
1934
1935
  tag: "div",
1935
- role: "group",
1936
1936
  name: unref(hasTransition),
1937
1937
  class: "vv-alert-group__list"
1938
1938
  }, toHandlers(alertGroupTransitionHandlers)), {
@@ -1944,7 +1944,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1944
1944
  renderList(_ctx.items, (item) => {
1945
1945
  return openBlock(), createBlock(
1946
1946
  _sfc_main$t,
1947
- mergeProps(item, {
1947
+ mergeProps({ ref_for: true }, item, {
1948
1948
  key: item.id
1949
1949
  }),
1950
1950
  null,
@@ -1975,7 +1975,7 @@ const VvAvatarProps = {
1975
1975
  */
1976
1976
  imgSrc: String
1977
1977
  };
1978
- const _hoisted_1$j = ["role", "aria-label"];
1978
+ const _hoisted_1$k = ["role", "aria-label"];
1979
1979
  const _hoisted_2$d = ["src"];
1980
1980
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
1981
1981
  __name: "VvAvatar",
@@ -1997,7 +1997,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1997
1997
  alt: "avatar"
1998
1998
  }, null, 8, _hoisted_2$d)) : createCommentVNode("v-if", true)
1999
1999
  ])
2000
- ], 10, _hoisted_1$j);
2000
+ ], 10, _hoisted_1$k);
2001
2001
  };
2002
2002
  }
2003
2003
  });
@@ -2020,7 +2020,7 @@ const VvAvatarGroupProps = {
2020
2020
  },
2021
2021
  avatarModifiers: [String, Array]
2022
2022
  };
2023
- const _hoisted_1$i = { key: 0 };
2023
+ const _hoisted_1$j = { key: 0 };
2024
2024
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
2025
2025
  __name: "VvAvatarGroup",
2026
2026
  props: VvAvatarGroupProps,
@@ -2066,7 +2066,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2066
2066
  return openBlock(), createBlock(
2067
2067
  _sfc_main$r,
2068
2068
  mergeProps({
2069
- key: avatarItem.key
2069
+ key: avatarItem.key,
2070
+ ref_for: true
2070
2071
  }, {
2071
2072
  modifiers: avatarItem.modifiers,
2072
2073
  imgSrc: avatarItem.imgSrc
@@ -2075,7 +2076,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2075
2076
  default: withCtx(() => [
2076
2077
  avatarItem.text ? (openBlock(), createElementBlock(
2077
2078
  "span",
2078
- _hoisted_1$i,
2079
+ _hoisted_1$j,
2079
2080
  toDisplayString(avatarItem.text),
2080
2081
  1
2081
2082
  /* TEXT */
@@ -2131,8 +2132,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
2131
2132
  return openBlock(), createElementBlock(
2132
2133
  "span",
2133
2134
  {
2134
- class: normalizeClass(unref(bemCssClasses)),
2135
- role: "status"
2135
+ class: normalizeClass(unref(bemCssClasses))
2136
2136
  },
2137
2137
  [
2138
2138
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -2153,7 +2153,7 @@ const VvBreadcrumbProps = {
2153
2153
  ...ModifiersProps,
2154
2154
  routes: Array
2155
2155
  };
2156
- const _hoisted_1$h = { class: "vv-breadcrumb__list" };
2156
+ const _hoisted_1$i = { class: "vv-breadcrumb__list" };
2157
2157
  const _hoisted_2$c = ["content"];
2158
2158
  const __default__$k = {
2159
2159
  name: "VvBreadcrumb"
@@ -2178,7 +2178,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2178
2178
  "aria-label": "breadcrumbs"
2179
2179
  },
2180
2180
  [
2181
- createElementVNode("ol", _hoisted_1$h, [
2181
+ createElementVNode("ol", _hoisted_1$i, [
2182
2182
  (openBlock(true), createElementBlock(
2183
2183
  Fragment,
2184
2184
  null,
@@ -2195,14 +2195,14 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2195
2195
  itemscope: ""
2196
2196
  },
2197
2197
  [
2198
- createVNode(_sfc_main$v, mergeProps(route, {
2198
+ createVNode(_sfc_main$v, mergeProps({ ref_for: true }, route, {
2199
2199
  class: !isLast(index) ? "vv-breadcrumb__link" : "vv-breadcrumb__label",
2200
2200
  "aria-current": isLast(index) ? "page" : void 0,
2201
2201
  itemprop: "item",
2202
2202
  "default-tag": "span"
2203
2203
  }), {
2204
2204
  default: withCtx(() => [
2205
- renderSlot(_ctx.$slots, "label", normalizeProps(guardReactiveProps({ route, index })), () => [
2205
+ renderSlot(_ctx.$slots, "label", mergeProps({ ref_for: true }, { route, index }), () => [
2206
2206
  createTextVNode(
2207
2207
  toDisplayString(label),
2208
2208
  1
@@ -2329,9 +2329,6 @@ function useGroupProps$2(props, emit) {
2329
2329
  };
2330
2330
  }
2331
2331
  function equals(obj1, obj2, field) {
2332
- if (field) {
2333
- return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);
2334
- }
2335
2332
  return deepEquals(obj1, obj2);
2336
2333
  }
2337
2334
  function deepEquals(a, b) {
@@ -2378,25 +2375,6 @@ function deepEquals(a, b) {
2378
2375
  }
2379
2376
  return a !== a && b !== b;
2380
2377
  }
2381
- function resolveFieldData(data, field) {
2382
- if (data && Object.keys(data).length && field) {
2383
- if (field.indexOf(".") === -1) {
2384
- return data[field];
2385
- } else {
2386
- const fields = field.split(".");
2387
- let value = data;
2388
- for (let i = 0, len = fields.length; i < len; ++i) {
2389
- if (data == null) {
2390
- return null;
2391
- }
2392
- value = value[fields[i]];
2393
- }
2394
- return value;
2395
- }
2396
- } else {
2397
- return null;
2398
- }
2399
- }
2400
2378
  function findIndexInList(value, list) {
2401
2379
  let index = -1;
2402
2380
  if (list) {
@@ -2433,7 +2411,7 @@ function removeFromList(value, list) {
2433
2411
  function isString(value) {
2434
2412
  return typeof value === "string" || value instanceof String;
2435
2413
  }
2436
- const _hoisted_1$g = {
2414
+ const _hoisted_1$h = {
2437
2415
  key: 1,
2438
2416
  class: "vv-button__label"
2439
2417
  };
@@ -2559,7 +2537,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2559
2537
  }, null, 8, ["name"])) : createCommentVNode("v-if", true),
2560
2538
  _ctx.loadingLabel ? (openBlock(), createElementBlock(
2561
2539
  "span",
2562
- _hoisted_1$g,
2540
+ _hoisted_1$h,
2563
2541
  toDisplayString(_ctx.loadingLabel),
2564
2542
  1
2565
2543
  /* TEXT */
@@ -2602,6 +2580,7 @@ const VvButtonGroupProps = {
2602
2580
  ...ModifiersProps,
2603
2581
  ...DisabledProps,
2604
2582
  ...UnselectableProps,
2583
+ legendLabel: { type: String },
2605
2584
  /**
2606
2585
  * String or String[] of css classes (modifiers) that will be provided to each button'
2607
2586
  */
@@ -2617,6 +2596,10 @@ const VvButtonGroupProps = {
2617
2596
  }
2618
2597
  };
2619
2598
  const VvButtonGroupEvents = ["update:modelValue"];
2599
+ const _hoisted_1$g = {
2600
+ key: 0,
2601
+ class: "vv-button-group__legend"
2602
+ };
2620
2603
  const __default__$i = {
2621
2604
  name: "VvButtonGroup"
2622
2605
  };
@@ -2667,12 +2650,21 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2667
2650
  const bemCssClasses = useModifiers("vv-button-group", modifiers);
2668
2651
  return (_ctx, _cache) => {
2669
2652
  return openBlock(), createElementBlock(
2670
- "div",
2653
+ "fieldset",
2671
2654
  {
2672
2655
  class: normalizeClass(unref(bemCssClasses)),
2673
2656
  role: "group"
2674
2657
  },
2675
2658
  [
2659
+ _ctx.$slots.legend || _ctx.legendLabel ? (openBlock(), createElementBlock("legend", _hoisted_1$g, [
2660
+ renderSlot(_ctx.$slots, "legend", {}, () => [
2661
+ createTextVNode(
2662
+ toDisplayString(_ctx.legendLabel),
2663
+ 1
2664
+ /* TEXT */
2665
+ )
2666
+ ])
2667
+ ])) : createCommentVNode("v-if", true),
2676
2668
  renderSlot(_ctx.$slots, "default")
2677
2669
  ],
2678
2670
  2
@@ -3027,8 +3019,9 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
3027
3019
  if (isBinary.value) {
3028
3020
  modelValue.value = newValue ? props.value : props.uncheckedValue;
3029
3021
  } else if (Array.isArray(modelValue.value) || isInGroup.value) {
3022
+ const currentValue = modelValue.value ?? [];
3030
3023
  const toReturn = new Set(
3031
- Array.isArray(modelValue.value) ? modelValue.value : modelValue.value !== void 0 ? [modelValue.value] : []
3024
+ Array.isArray(currentValue) ? currentValue : [currentValue]
3032
3025
  );
3033
3026
  if (newValue) {
3034
3027
  toReturn.add(props.value);
@@ -3252,7 +3245,10 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
3252
3245
  renderList(_ctx.options, (option, index) => {
3253
3246
  return openBlock(), createBlock(
3254
3247
  _sfc_main$k,
3255
- mergeProps({ key: index }, getOptionProps(option, index)),
3248
+ mergeProps({
3249
+ key: index,
3250
+ ref_for: true
3251
+ }, getOptionProps(option, index)),
3256
3252
  null,
3257
3253
  16
3258
3254
  /* FULL_PROPS */
@@ -4447,7 +4443,7 @@ const _hoisted_4$3 = {
4447
4443
  class: "vv-select__input-before"
4448
4444
  };
4449
4445
  const _hoisted_5$3 = { class: "vv-select__inner" };
4450
- const _hoisted_6$3 = ["aria-expanded", "aria-labelledby", "aria-describedby", "aria-errormessage", "tabindex"];
4446
+ const _hoisted_6$3 = ["aria-controls", "aria-expanded", "aria-labelledby", "aria-describedby", "aria-errormessage", "tabindex"];
4451
4447
  const _hoisted_7$3 = {
4452
4448
  key: 0,
4453
4449
  class: "vv-select__value"
@@ -4785,6 +4781,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4785
4781
  }, aria, {
4786
4782
  class: "vv-select__input",
4787
4783
  role: "combobox",
4784
+ "aria-controls": unref(hasDropdownId),
4788
4785
  "aria-expanded": unref(expanded),
4789
4786
  "aria-labelledby": unref(hasLabelId),
4790
4787
  "aria-describedby": unref(hasHintLabelOrSlot) ? unref(hasHintId) : void 0,
@@ -4888,7 +4885,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4888
4885
  renderList(unref(getOptionGrouped)(
4889
4886
  option
4890
4887
  ), (item, i) => {
4891
- return openBlock(), createBlock(_sfc_main$g, mergeProps({
4888
+ return openBlock(), createBlock(_sfc_main$g, mergeProps({ ref_for: true }, {
4892
4889
  selected: isOptionSelected(item),
4893
4890
  disabled: unref(isOptionDisabled)(item),
4894
4891
  unselectable: _ctx.unselectable,
@@ -4902,12 +4899,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4902
4899
  onClickPassive: ($event) => onInput(item)
4903
4900
  }), {
4904
4901
  default: withCtx(() => [
4905
- renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
4902
+ renderSlot(_ctx.$slots, "option", mergeProps({ ref_for: true }, {
4906
4903
  option,
4907
4904
  selectedOptions: unref(selectedOptions),
4908
4905
  selected: isOptionSelected(item),
4909
4906
  disabled: unref(isOptionDisabled)(item)
4910
- })), () => [
4907
+ }), () => [
4911
4908
  createTextVNode(
4912
4909
  toDisplayString(unref(getOptionLabel)(item)),
4913
4910
  1
@@ -4925,7 +4922,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4925
4922
  ],
4926
4923
  64
4927
4924
  /* STABLE_FRAGMENT */
4928
- )) : (openBlock(), createBlock(_sfc_main$g, mergeProps({ key: 1 }, {
4925
+ )) : (openBlock(), createBlock(_sfc_main$g, mergeProps({
4926
+ key: 1,
4927
+ ref_for: true
4928
+ }, {
4929
4929
  selected: isOptionSelected(option),
4930
4930
  disabled: unref(isOptionDisabled)(option),
4931
4931
  unselectable: _ctx.unselectable,
@@ -4938,12 +4938,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4938
4938
  onClickPassive: ($event) => onInput(option)
4939
4939
  }), {
4940
4940
  default: withCtx(() => [
4941
- renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
4941
+ renderSlot(_ctx.$slots, "option", mergeProps({ ref_for: true }, {
4942
4942
  option,
4943
4943
  selectedOptions: unref(selectedOptions),
4944
4944
  selected: isOptionSelected(option),
4945
4945
  disabled: unref(isOptionDisabled)(option)
4946
- })), () => [
4946
+ }), () => [
4947
4947
  createTextVNode(
4948
4948
  toDisplayString(unref(getOptionLabel)(option)),
4949
4949
  1
@@ -5895,6 +5895,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5895
5895
  emit,
5896
5896
  (debounce == null ? void 0 : debounce.value) ?? 0
5897
5897
  );
5898
+ const NEGATIVE_ZERO_REGEX = /^-0?[.,]?[0*]?$/;
5898
5899
  const maskReady = ref(false);
5899
5900
  const { el, mask, typed, masked, unmasked } = useIMask(
5900
5901
  computed(
@@ -5910,13 +5911,17 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5910
5911
  }
5911
5912
  emit("update:masked", masked.value);
5912
5913
  if (type.value === INPUT_TYPES.NUMBER) {
5913
- if (masked.value === "") {
5914
+ if (/^-$|^$/.test(unmasked.value)) {
5914
5915
  if (localModelValue.value === null || localModelValue.value === void 0) {
5915
5916
  return;
5916
5917
  }
5917
5918
  localModelValue.value = void 0;
5918
5919
  return;
5919
5920
  }
5921
+ if (NEGATIVE_ZERO_REGEX.test(unmasked.value)) {
5922
+ localModelValue.value = 0;
5923
+ return;
5924
+ }
5920
5925
  if (typeof typed.value !== "number") {
5921
5926
  localModelValue.value = Number(typed.value);
5922
5927
  return;
@@ -5981,6 +5986,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5981
5986
  typed.value = new Date(newValue);
5982
5987
  return;
5983
5988
  }
5989
+ if (type.value === INPUT_TYPES.NUMBER && NEGATIVE_ZERO_REGEX.test(unmasked.value) && newValue === 0) {
5990
+ return;
5991
+ }
5984
5992
  typed.value = newValue;
5985
5993
  unmasked.value = `${typed.value}`;
5986
5994
  }
@@ -6411,7 +6419,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6411
6419
  }, {
6412
6420
  default: withCtx(() => [
6413
6421
  createElementVNode("div", _hoisted_7$2, [
6414
- renderSlot(_ctx.$slots, "suggestion", normalizeProps(guardReactiveProps({ value })), () => [
6422
+ renderSlot(_ctx.$slots, "suggestion", mergeProps({ ref_for: true }, { value }), () => [
6415
6423
  createTextVNode(
6416
6424
  toDisplayString(value),
6417
6425
  1
@@ -6429,7 +6437,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6429
6437
  }, [
6430
6438
  createVNode(
6431
6439
  _sfc_main$u,
6432
- normalizeProps(guardReactiveProps(unref(hasIconRemoveSuggestion))),
6440
+ mergeProps({ ref_for: true }, unref(hasIconRemoveSuggestion)),
6433
6441
  null,
6434
6442
  16
6435
6443
  /* FULL_PROPS */
@@ -6474,7 +6482,10 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
6474
6482
  return openBlock(), createElementBlock("li", _hoisted_1$5, [
6475
6483
  createVNode(
6476
6484
  _sfc_main$v,
6477
- mergeProps(_ctx.$attrs, { class: "vv-nav__item-label" }),
6485
+ mergeProps(_ctx.$attrs, {
6486
+ class: "vv-nav__item-label",
6487
+ role: "menuitem"
6488
+ }),
6478
6489
  {
6479
6490
  default: withCtx(() => [
6480
6491
  renderSlot(_ctx.$slots, "default")
@@ -6520,7 +6531,6 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
6520
6531
  createElementVNode("ul", {
6521
6532
  class: "vv-nav__menu",
6522
6533
  role: "menu",
6523
- "aria-busy": "true",
6524
6534
  onClick: withModifiers(onClick, ["stop"])
6525
6535
  }, [
6526
6536
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -6530,10 +6540,11 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
6530
6540
  renderList(_ctx.items, ({ on = {}, data, ...item }, index) => {
6531
6541
  return openBlock(), createBlock(_sfc_main$9, mergeProps({
6532
6542
  key: index,
6533
- "data-index": index
6543
+ "data-index": index,
6544
+ ref_for: true
6534
6545
  }, item, toHandlers(on)), {
6535
6546
  default: withCtx(() => [
6536
- renderSlot(_ctx.$slots, "item", normalizeProps(guardReactiveProps({ item, data, index })))
6547
+ renderSlot(_ctx.$slots, "item", mergeProps({ ref_for: true }, { item, data, index }))
6537
6548
  ]),
6538
6549
  _: 2
6539
6550
  /* DYNAMIC */
@@ -6620,12 +6631,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6620
6631
  return (_ctx, _cache) => {
6621
6632
  return openBlock(), createElementBlock(
6622
6633
  "progress",
6623
- mergeProps({ role: "progressbar" }, {
6634
+ normalizeProps(guardReactiveProps({
6624
6635
  class: unref(bemCssClasses),
6625
6636
  ariaLabel: unref(ariaLabel),
6626
6637
  max: unref(max),
6627
6638
  value: unref(value)
6628
- }),
6639
+ })),
6629
6640
  null,
6630
6641
  16
6631
6642
  /* FULL_PROPS */
@@ -6866,7 +6877,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6866
6877
  renderList(_ctx.options, (option, index) => {
6867
6878
  return openBlock(), createBlock(
6868
6879
  _sfc_main$5,
6869
- mergeProps({ key: index }, getOptionProps(option, index)),
6880
+ mergeProps({
6881
+ key: index,
6882
+ ref_for: true
6883
+ }, getOptionProps(option, index)),
6870
6884
  null,
6871
6885
  16
6872
6886
  /* FULL_PROPS */