@volverjs/ui-vue 0.0.10-beta.1 → 0.0.10-beta.11

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 (182) hide show
  1. package/README.md +64 -1
  2. package/auto-imports.d.ts +1 -1
  3. package/bin/icons.cjs +1 -1
  4. package/bin/icons.js +34 -19
  5. package/dist/components/VvAccordion/VvAccordion.es.js +33 -4
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +4 -4
  8. package/dist/components/VvAccordion/index.d.ts +1 -1
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +75 -27
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +5 -5
  12. package/dist/components/VvAction/VvAction.es.js +26 -4
  13. package/dist/components/VvAction/VvAction.umd.js +1 -1
  14. package/dist/components/VvAction/VvAction.vue.d.ts +17 -4
  15. package/dist/components/VvAction/index.d.ts +5 -0
  16. package/dist/components/VvAlert/VvAlert.es.js +96 -45
  17. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  18. package/dist/components/VvAlert/VvAlert.vue.d.ts +4 -4
  19. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +136 -66
  20. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  21. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +4 -4
  22. package/dist/components/VvAvatar/VvAvatar.es.js +22 -1
  23. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  24. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +79 -28
  25. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  26. package/dist/components/VvBadge/VvBadge.es.js +39 -8
  27. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  28. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +224 -41
  29. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  30. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +15 -3
  31. package/dist/components/VvBreadcrumb/index.d.ts +2 -9
  32. package/dist/components/VvButton/VvButton.es.js +67 -22
  33. package/dist/components/VvButton/VvButton.umd.js +1 -1
  34. package/dist/components/VvButton/VvButton.vue.d.ts +25 -9
  35. package/dist/components/VvButton/index.d.ts +5 -0
  36. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +33 -6
  37. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  38. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +6 -6
  39. package/dist/components/VvCard/VvCard.es.js +47 -16
  40. package/dist/components/VvCard/VvCard.umd.js +1 -1
  41. package/dist/components/VvCheckbox/VvCheckbox.es.js +32 -4
  42. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  43. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +8 -8
  44. package/dist/components/VvCheckbox/index.d.ts +1 -1
  45. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +101 -46
  46. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  47. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +7 -7
  48. package/dist/components/VvCheckboxGroup/index.d.ts +1 -1
  49. package/dist/components/VvCombobox/VvCombobox.es.js +625 -379
  50. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  51. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +112 -112
  52. package/dist/components/VvCombobox/index.d.ts +32 -32
  53. package/dist/components/VvDialog/VvDialog.es.js +65 -27
  54. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  55. package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
  56. package/dist/components/VvDropdown/VvDropdown.es.js +87 -46
  57. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  58. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +203 -189
  59. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +12 -0
  60. package/dist/components/VvDropdown/index.d.ts +32 -32
  61. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +46 -12
  62. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  63. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +13 -7
  64. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +28 -1
  65. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  66. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +40 -8
  67. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  68. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  69. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  70. package/dist/components/VvInputText/VvInputClearAction.d.ts +1 -1
  71. package/dist/components/VvInputText/VvInputText.es.js +149 -99
  72. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  73. package/dist/components/VvInputText/VvInputText.vue.d.ts +10 -10
  74. package/dist/components/VvInputText/index.d.ts +8 -2
  75. package/dist/components/VvNav/VvNav.es.js +115 -63
  76. package/dist/components/VvNav/VvNav.umd.js +1 -1
  77. package/dist/components/VvNav/VvNav.vue.d.ts +32 -12
  78. package/dist/components/VvNav/VvNavItem.vue.d.ts +9 -0
  79. package/dist/components/VvNav/index.d.ts +1 -12
  80. package/dist/components/VvNavItem/VvNavItem.es.js +413 -0
  81. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -0
  82. package/dist/components/VvNavSeparator/VvNavSeparator.es.js +24 -0
  83. package/dist/components/VvNavSeparator/VvNavSeparator.umd.js +1 -0
  84. package/dist/components/VvProgress/VvProgress.es.js +33 -6
  85. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  86. package/dist/components/VvRadio/VvRadio.es.js +32 -4
  87. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  88. package/dist/components/VvRadio/VvRadio.vue.d.ts +8 -8
  89. package/dist/components/VvRadio/index.d.ts +1 -1
  90. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +101 -46
  91. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  92. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +7 -7
  93. package/dist/components/VvRadioGroup/index.d.ts +1 -1
  94. package/dist/components/VvSelect/VvSelect.es.js +156 -96
  95. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  96. package/dist/components/VvSelect/VvSelect.vue.d.ts +13 -13
  97. package/dist/components/VvSelect/index.d.ts +1 -1
  98. package/dist/components/VvTab/VvTab.es.js +214 -99
  99. package/dist/components/VvTab/VvTab.umd.js +1 -1
  100. package/dist/components/VvTab/VvTab.vue.d.ts +40 -11
  101. package/dist/components/VvTab/index.d.ts +9 -3
  102. package/dist/components/VvTextarea/VvTextarea.es.js +123 -77
  103. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  104. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +10 -10
  105. package/dist/components/VvTooltip/VvTooltip.es.js +40 -9
  106. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  107. package/dist/components/index.d.ts +9 -0
  108. package/dist/components/index.es.js +2015 -1012
  109. package/dist/components/index.umd.js +1 -1
  110. package/dist/composables/group/useInjectedGroupState.d.ts +1 -1
  111. package/dist/composables/useVolver.d.ts +1 -1
  112. package/dist/directives/index.d.ts +3 -5
  113. package/dist/directives/index.es.js +60 -23
  114. package/dist/directives/index.umd.js +1 -1
  115. package/dist/directives/v-tooltip.es.js +58 -18
  116. package/dist/directives/v-tooltip.umd.js +1 -1
  117. package/dist/icons.es.js +3 -3
  118. package/dist/icons.umd.js +1 -1
  119. package/dist/index.d.ts +3 -1
  120. package/dist/index.es.js +19 -16
  121. package/dist/index.umd.js +1 -1
  122. package/dist/props/index.d.ts +58 -34
  123. package/dist/resolvers/unplugin.d.ts +6 -1
  124. package/dist/resolvers/unplugin.es.js +20 -5
  125. package/dist/resolvers/unplugin.umd.js +1 -1
  126. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +50 -15
  127. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +332 -83
  128. package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
  129. package/dist/stories/Tab/Tab.settings.d.ts +4 -37
  130. package/dist/types/alert.d.ts +13 -0
  131. package/dist/types/floating-ui.d.ts +6 -0
  132. package/dist/types/generic.d.ts +4 -0
  133. package/dist/types/group.d.ts +37 -0
  134. package/dist/types/index.d.ts +5 -0
  135. package/dist/types/nav.d.ts +18 -0
  136. package/package.json +60 -51
  137. package/src/Volver.ts +22 -16
  138. package/src/assets/icons/detailed.json +1 -1
  139. package/src/assets/icons/normal.json +1 -1
  140. package/src/assets/icons/simple.json +1 -1
  141. package/src/components/VvAccordion/VvAccordion.vue +2 -2
  142. package/src/components/VvAction/VvAction.vue +5 -2
  143. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  144. package/src/components/VvBreadcrumb/index.ts +2 -8
  145. package/src/components/VvCombobox/VvCombobox.vue +19 -8
  146. package/src/components/VvCombobox/index.ts +4 -0
  147. package/src/components/VvInputText/VvInputText.vue +2 -2
  148. package/src/components/VvNav/VvNav.vue +30 -50
  149. package/src/components/VvNav/VvNavItem.vue +18 -0
  150. package/src/components/VvNav/VvNavSeparator.vue +11 -0
  151. package/src/components/VvNav/index.ts +2 -15
  152. package/src/components/VvTab/VvTab.vue +63 -35
  153. package/src/components/VvTab/index.ts +10 -4
  154. package/src/components/VvTextarea/VvTextarea.vue +1 -1
  155. package/src/components/index.ts +9 -0
  156. package/src/composables/useUniqueId.ts +2 -2
  157. package/src/directives/index.ts +1 -4
  158. package/src/directives/v-tooltip.ts +19 -10
  159. package/src/index.ts +3 -1
  160. package/src/props/index.ts +27 -3
  161. package/src/resolvers/unplugin.ts +22 -2
  162. package/src/stories/Button/ButtonModifiers.stories.ts +4 -14
  163. package/src/stories/Combobox/Combobox.settings.ts +8 -0
  164. package/src/stories/Nav/Nav.settings.ts +3 -4
  165. package/src/stories/Nav/Nav.test.ts +4 -15
  166. package/src/stories/Tab/Tab.settings.ts +9 -9
  167. package/src/stories/Tab/Tab.stories.ts +2 -2
  168. package/src/stories/Tab/Tab.test.ts +6 -14
  169. package/src/stories/argTypes.ts +1 -1
  170. package/src/types/generic.ts +6 -0
  171. package/src/types/index.ts +5 -0
  172. package/src/types/nav.ts +20 -0
  173. package/dist/components/VvNav/VvNavItemTitle.vue.d.ts +0 -6
  174. package/dist/components/VvNavItemTitle/VvNavItemTitle.es.js +0 -19
  175. package/dist/components/VvNavItemTitle/VvNavItemTitle.umd.js +0 -1
  176. package/src/components/VvNav/VvNavItemTitle.vue +0 -11
  177. package/src/components/VvNav/VvNavSeparator.ts +0 -8
  178. package/src/types/generic.d.ts +0 -6
  179. /package/dist/components/VvNav/{VvNavSeparator.d.ts → VvNavSeparator.vue.d.ts} +0 -0
  180. /package/src/types/{alert.d.ts → alert.ts} +0 -0
  181. /package/src/types/{floating-ui.d.ts → floating-ui.ts} +0 -0
  182. /package/src/types/{group.d.ts → group.ts} +0 -0
@@ -1,10 +1,10 @@
1
- import { unref, inject, computed, toRef, toRefs, defineComponent, useAttrs, ref, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, isRef, provide, watchEffect, watch, Fragment, renderList, createBlock, mergeProps, withCtx, resolveDynamicComponent, createCommentVNode, useSlots, h, onMounted, withDirectives, vModelCheckbox, createVNode, createSlots, nextTick, Transition, toHandlers, normalizeStyle, vShow, vModelSelect, vModelText, vModelRadio } from "vue";
2
- import { nanoid } from "nanoid";
1
+ import { unref, inject, computed, toRef, toRefs, defineComponent, useAttrs, ref, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, isRef, provide, watchEffect, watch, Fragment, renderList, createBlock, mergeProps, withCtx, resolveDynamicComponent, createCommentVNode, createVNode, TransitionGroup, toHandlers, useSlots, h, onMounted, withDirectives, vModelCheckbox, createSlots, nextTick, Transition, normalizeStyle, vShow, vModelSelect, vModelText, vModelRadio } from "vue";
2
+ import { uid } from "uid";
3
3
  import { useToggle, useStorage, useVModel, useMutationObserver, onClickOutside, useFocusWithin, onKeyStroke, useElementHover, useFocus, useElementVisibility, refDebounced, computedAsync } from "@vueuse/core";
4
4
  import { iconExists, Icon, addIcon } from "@iconify/vue";
5
+ import mitt from "mitt";
5
6
  import { get } from "ts-dot-prop";
6
7
  import { autoPlacement, flip, shift, size, offset, arrow, useFloating, autoUpdate } from "@floating-ui/vue";
7
- import mitt from "mitt";
8
8
  import { useIMask } from "vue-imask";
9
9
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
10
10
  Strategy2["absolute"] = "absolute";
@@ -165,6 +165,12 @@ const ActiveProps = {
165
165
  */
166
166
  active: Boolean
167
167
  };
168
+ const CurrentProps = {
169
+ /**
170
+ * Whether the item is current
171
+ */
172
+ current: Boolean
173
+ };
168
174
  const PressedProps = {
169
175
  /**
170
176
  * Whether the item is pressed
@@ -480,6 +486,7 @@ const ActionProps = {
480
486
  ...LabelProps,
481
487
  ...PressedProps,
482
488
  ...ActiveProps,
489
+ ...CurrentProps,
483
490
  ...LinkProps,
484
491
  /**
485
492
  * Button type
@@ -495,6 +502,19 @@ const ActionProps = {
495
502
  ariaLabel: {
496
503
  type: String,
497
504
  default: void 0
505
+ },
506
+ /**
507
+ * Default tag for the action
508
+ */
509
+ defaultTag: {
510
+ type: String,
511
+ default: ActionTag.button
512
+ }
513
+ };
514
+ const NavProps = {
515
+ items: {
516
+ type: Array,
517
+ default: () => []
498
518
  }
499
519
  };
500
520
  function equals(obj1, obj2, field) {
@@ -734,21 +754,21 @@ function useModifiers(prefix, modifiers, others) {
734
754
  return toReturn;
735
755
  });
736
756
  }
737
- const _hoisted_1$i = ["id", "open"];
738
- const _hoisted_2$d = ["aria-controls", "aria-expanded"];
757
+ const _hoisted_1$l = ["id", "open"];
758
+ const _hoisted_2$e = ["aria-controls", "aria-expanded"];
739
759
  const _hoisted_3$7 = ["aria-hidden"];
740
- const __default__$n = {
760
+ const __default__$q = {
741
761
  name: "VvAccordion"
742
762
  };
743
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
744
- ...__default__$n,
763
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
764
+ ...__default__$q,
745
765
  props: VvAccordionProps,
746
766
  emits: VvAccordionEvents,
747
767
  setup(__props, { emit }) {
748
768
  const props = __props;
749
769
  const attrs = useAttrs();
750
770
  const accordionName = computed(
751
- () => props.name || (attrs == null ? void 0 : attrs.id) || nanoid()
771
+ () => props.name || (attrs == null ? void 0 : attrs.id) || uid()
752
772
  );
753
773
  const {
754
774
  modifiers,
@@ -821,18 +841,26 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
821
841
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(onClick)(), ["prevent"]))
822
842
  }, [
823
843
  renderSlot(_ctx.$slots, "summary", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
824
- createTextVNode(toDisplayString(unref(title)), 1)
844
+ createTextVNode(
845
+ toDisplayString(unref(title)),
846
+ 1
847
+ /* TEXT */
848
+ )
825
849
  ])
826
- ], 8, _hoisted_2$d),
850
+ ], 8, _hoisted_2$e),
827
851
  createElementVNode("div", {
828
852
  "aria-hidden": !unref(isOpen),
829
853
  class: "vv-accordion__content"
830
854
  }, [
831
855
  renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
832
- createTextVNode(toDisplayString(unref(content)), 1)
856
+ createTextVNode(
857
+ toDisplayString(unref(content)),
858
+ 1
859
+ /* TEXT */
860
+ )
833
861
  ])
834
862
  ], 8, _hoisted_3$7)
835
- ], 10, _hoisted_1$i);
863
+ ], 10, _hoisted_1$l);
836
864
  };
837
865
  }
838
866
  });
@@ -885,11 +913,11 @@ function useProvideGroupState(groupState) {
885
913
  computed(() => groupState)
886
914
  );
887
915
  }
888
- const __default__$m = {
916
+ const __default__$p = {
889
917
  name: "VvAccordionGroup"
890
918
  };
891
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
892
- ...__default__$m,
919
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
920
+ ...__default__$p,
893
921
  props: VvAccordionGroupProps,
894
922
  emits: VvAccordionGroupEvents,
895
923
  setup(__props, { emit }) {
@@ -951,29 +979,48 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
951
979
  }))
952
980
  );
953
981
  return (_ctx, _cache) => {
954
- return openBlock(), createElementBlock("div", {
955
- class: normalizeClass(unref(bemCssClasses))
956
- }, [
957
- renderSlot(_ctx.$slots, "default", {}, () => [
958
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item) => {
959
- return openBlock(), createBlock(_sfc_main$q, mergeProps({
960
- key: item.title
961
- }, {
962
- name: item.name,
963
- title: item.title,
964
- content: item.content
965
- }), {
966
- header: withCtx((data) => [
967
- renderSlot(_ctx.$slots, `header::${item.name}`, normalizeProps(guardReactiveProps(data)))
968
- ]),
969
- details: withCtx((data) => [
970
- renderSlot(_ctx.$slots, `details::${item.name}`, normalizeProps(guardReactiveProps(data)))
971
- ]),
972
- _: 2
973
- }, 1040);
974
- }), 128))
975
- ])
976
- ], 2);
982
+ return openBlock(), createElementBlock(
983
+ "div",
984
+ {
985
+ class: normalizeClass(unref(bemCssClasses))
986
+ },
987
+ [
988
+ renderSlot(_ctx.$slots, "default", {}, () => [
989
+ (openBlock(true), createElementBlock(
990
+ Fragment,
991
+ null,
992
+ renderList(unref(items), (item) => {
993
+ return openBlock(), createBlock(
994
+ _sfc_main$w,
995
+ mergeProps({
996
+ key: item.title
997
+ }, {
998
+ name: item.name,
999
+ title: item.title,
1000
+ content: item.content
1001
+ }),
1002
+ {
1003
+ header: withCtx((data) => [
1004
+ renderSlot(_ctx.$slots, `header::${item.name}`, normalizeProps(guardReactiveProps(data)))
1005
+ ]),
1006
+ details: withCtx((data) => [
1007
+ renderSlot(_ctx.$slots, `details::${item.name}`, normalizeProps(guardReactiveProps(data)))
1008
+ ]),
1009
+ _: 2
1010
+ /* DYNAMIC */
1011
+ },
1012
+ 1040
1013
+ /* FULL_PROPS, DYNAMIC_SLOTS */
1014
+ );
1015
+ }),
1016
+ 128
1017
+ /* KEYED_FRAGMENT */
1018
+ ))
1019
+ ])
1020
+ ],
1021
+ 2
1022
+ /* CLASS */
1023
+ );
977
1024
  };
978
1025
  }
979
1026
  });
@@ -991,11 +1038,11 @@ function useInjectedDropdownItem() {
991
1038
  function useInjectedDropdownAction() {
992
1039
  return inject(INJECTION_KEY_DROPDOWN_ACTION, {});
993
1040
  }
994
- const __default__$l = {
1041
+ const __default__$o = {
995
1042
  name: "VvAction"
996
1043
  };
997
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
998
- ...__default__$l,
1044
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1045
+ ...__default__$o,
999
1046
  props: VvActionProps,
1000
1047
  emits: VvActionEvents,
1001
1048
  setup(__props, { expose: __expose, emit }) {
@@ -1030,7 +1077,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1030
1077
  case props.href !== void 0:
1031
1078
  return ActionTag.a;
1032
1079
  default:
1033
- return ActionTag.button;
1080
+ return props.defaultTag;
1034
1081
  }
1035
1082
  });
1036
1083
  const hasProps = computed(() => {
@@ -1055,12 +1102,14 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1055
1102
  to: props.to,
1056
1103
  target: props.target
1057
1104
  };
1058
- default:
1105
+ case ActionTag.button:
1059
1106
  return {
1060
1107
  ...toReturn,
1061
1108
  type: props.type,
1062
1109
  disabled: props.disabled
1063
1110
  };
1111
+ default:
1112
+ return toReturn;
1064
1113
  }
1065
1114
  });
1066
1115
  const onClick = (e) => {
@@ -1086,7 +1135,8 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1086
1135
  class: {
1087
1136
  active: _ctx.active,
1088
1137
  pressed: unref(pressed),
1089
- disabled: _ctx.disabled
1138
+ disabled: _ctx.disabled,
1139
+ current: _ctx.current
1090
1140
  },
1091
1141
  onClickPassive: onClick,
1092
1142
  onMouseoverPassive: onMouseover,
@@ -1094,10 +1144,15 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1094
1144
  }), {
1095
1145
  default: withCtx(() => [
1096
1146
  renderSlot(_ctx.$slots, "default", {}, () => [
1097
- createTextVNode(toDisplayString(_ctx.label), 1)
1147
+ createTextVNode(
1148
+ toDisplayString(_ctx.label),
1149
+ 1
1150
+ /* TEXT */
1151
+ )
1098
1152
  ])
1099
1153
  ]),
1100
1154
  _: 3
1155
+ /* FORWARDED */
1101
1156
  }, 16, ["class"]);
1102
1157
  };
1103
1158
  }
@@ -1196,11 +1251,11 @@ const VvIconProps = {
1196
1251
  type: [String, Array]
1197
1252
  }
1198
1253
  };
1199
- const __default__$k = {
1254
+ const __default__$n = {
1200
1255
  name: "VvIcon"
1201
1256
  };
1202
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
1203
- ...__default__$k,
1257
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1258
+ ...__default__$n,
1204
1259
  props: VvIconProps,
1205
1260
  setup(__props) {
1206
1261
  const props = __props;
@@ -1288,14 +1343,14 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1288
1343
  color: _ctx.color,
1289
1344
  onLoad: _ctx.onLoad,
1290
1345
  icon: unref(icon)
1291
- }), null, 16, ["class"])) : createCommentVNode("", true);
1346
+ }), null, 16, ["class"])) : createCommentVNode("v-if", true);
1292
1347
  };
1293
1348
  }
1294
1349
  });
1295
1350
  function useInjectedAlertGroup() {
1296
1351
  return inject(INJECTION_KEY_ALERT_GROUP, {});
1297
1352
  }
1298
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || nanoid()));
1353
+ const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
1299
1354
  const VvAlertProps = {
1300
1355
  ...IdProps,
1301
1356
  ...ModifiersProps,
@@ -1437,13 +1492,19 @@ const useVvAlert = (props, emit) => {
1437
1492
  }))
1438
1493
  };
1439
1494
  };
1440
- const _hoisted_1$h = {
1495
+ const _hoisted_1$k = {
1441
1496
  key: 0,
1442
1497
  class: "vv-alert__header"
1443
1498
  };
1444
- const _hoisted_2$c = ["id"];
1499
+ const _hoisted_2$d = ["id"];
1445
1500
  const _hoisted_3$6 = ["aria-label"];
1446
- const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("div", { class: "vv-alert__close-mask" }, null, -1);
1501
+ const _hoisted_4$5 = /* @__PURE__ */ createElementVNode(
1502
+ "div",
1503
+ { class: "vv-alert__close-mask" },
1504
+ null,
1505
+ -1
1506
+ /* HOISTED */
1507
+ );
1447
1508
  const _hoisted_5$4 = [
1448
1509
  _hoisted_4$5
1449
1510
  ];
@@ -1455,11 +1516,11 @@ const _hoisted_7$4 = {
1455
1516
  key: 2,
1456
1517
  class: "vv-alert__footer"
1457
1518
  };
1458
- const __default__$j = {
1519
+ const __default__$m = {
1459
1520
  name: "VvAlert"
1460
1521
  };
1461
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
1462
- ...__default__$j,
1522
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1523
+ ...__default__$m,
1463
1524
  props: VvAlertProps,
1464
1525
  emits: VvAlertEvents,
1465
1526
  setup(__props, { expose: __expose, emit }) {
@@ -1467,47 +1528,408 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1467
1528
  const { hasProps, hasTitleId, hasIcon, close } = useVvAlert(props, emit);
1468
1529
  __expose({ close });
1469
1530
  return (_ctx, _cache) => {
1470
- return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(unref(hasProps))), [
1471
- _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$h, [
1472
- unref(hasIcon) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }), null, 16)) : createCommentVNode("", true),
1473
- renderSlot(_ctx.$slots, "header", {}, () => [
1474
- renderSlot(_ctx.$slots, "title::before"),
1475
- _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("strong", {
1476
- key: 0,
1477
- id: unref(hasTitleId),
1478
- class: "vv-alert__title"
1479
- }, [
1480
- renderSlot(_ctx.$slots, "title", {}, () => [
1481
- createTextVNode(toDisplayString(_ctx.title), 1)
1531
+ return openBlock(), createElementBlock(
1532
+ "div",
1533
+ normalizeProps(guardReactiveProps(unref(hasProps))),
1534
+ [
1535
+ _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, [
1536
+ unref(hasIcon) ? (openBlock(), createBlock(
1537
+ _sfc_main$t,
1538
+ mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }),
1539
+ null,
1540
+ 16
1541
+ /* FULL_PROPS */
1542
+ )) : createCommentVNode("v-if", true),
1543
+ renderSlot(_ctx.$slots, "header", {}, () => [
1544
+ renderSlot(_ctx.$slots, "title::before"),
1545
+ _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("strong", {
1546
+ key: 0,
1547
+ id: unref(hasTitleId),
1548
+ class: "vv-alert__title"
1549
+ }, [
1550
+ renderSlot(_ctx.$slots, "title", {}, () => [
1551
+ createTextVNode(
1552
+ toDisplayString(_ctx.title),
1553
+ 1
1554
+ /* TEXT */
1555
+ )
1556
+ ])
1557
+ ], 8, _hoisted_2$d)) : createCommentVNode("v-if", true),
1558
+ renderSlot(_ctx.$slots, "title::after")
1559
+ ]),
1560
+ renderSlot(_ctx.$slots, "close", normalizeProps(guardReactiveProps({ close: unref(close) })), () => [
1561
+ _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("button", {
1562
+ key: 0,
1563
+ class: "vv-alert__close",
1564
+ type: "button",
1565
+ "aria-label": _ctx.closeLabel,
1566
+ onClick: _cache[0] || (_cache[0] = withModifiers(
1567
+ //@ts-ignore
1568
+ (...args) => unref(close) && unref(close)(...args),
1569
+ ["stop"]
1570
+ ))
1571
+ }, _hoisted_5$4, 8, _hoisted_3$6)) : createCommentVNode("v-if", true)
1572
+ ])
1573
+ ])) : createCommentVNode("v-if", true),
1574
+ _ctx.$slots.default || _ctx.content ? (openBlock(), createElementBlock("div", _hoisted_6$4, [
1575
+ renderSlot(_ctx.$slots, "default", {}, () => [
1576
+ createTextVNode(
1577
+ toDisplayString(_ctx.content),
1578
+ 1
1579
+ /* TEXT */
1580
+ )
1581
+ ])
1582
+ ])) : createCommentVNode("v-if", true),
1583
+ _ctx.$slots.footer || _ctx.footer ? (openBlock(), createElementBlock("div", _hoisted_7$4, [
1584
+ renderSlot(_ctx.$slots, "footer", {}, () => [
1585
+ createTextVNode(
1586
+ toDisplayString(_ctx.footer),
1587
+ 1
1588
+ /* TEXT */
1589
+ )
1590
+ ])
1591
+ ])) : createCommentVNode("v-if", true)
1592
+ ],
1593
+ 16
1594
+ /* FULL_PROPS */
1595
+ );
1596
+ };
1597
+ }
1598
+ });
1599
+ function useProvideAlertGroup({
1600
+ name
1601
+ }) {
1602
+ const bus = mitt();
1603
+ provide(INJECTION_KEY_ALERT_GROUP, {
1604
+ name,
1605
+ bus
1606
+ });
1607
+ return bus;
1608
+ }
1609
+ const VvAlertGroupProps = {
1610
+ ...ModifiersProps,
1611
+ name: {
1612
+ type: String,
1613
+ required: true
1614
+ },
1615
+ items: {
1616
+ type: Array,
1617
+ default: () => []
1618
+ },
1619
+ stack: {
1620
+ type: Boolean,
1621
+ default: false
1622
+ },
1623
+ reverse: {
1624
+ type: Boolean,
1625
+ default: false
1626
+ },
1627
+ inline: {
1628
+ type: String,
1629
+ default: void 0
1630
+ },
1631
+ block: {
1632
+ type: String,
1633
+ default: void 0
1634
+ },
1635
+ position: {
1636
+ type: String,
1637
+ default: void 0
1638
+ },
1639
+ transition: {
1640
+ type: String,
1641
+ default: void 0
1642
+ }
1643
+ };
1644
+ const VvAlertGroupEvents = [
1645
+ "close",
1646
+ "before-enter",
1647
+ "after-leave",
1648
+ "enter",
1649
+ "after-enter",
1650
+ "enter-cancelled",
1651
+ "before-leave",
1652
+ "leave",
1653
+ "leave-cancelled"
1654
+ ];
1655
+ const useVvAlertGroup = (props, emit) => {
1656
+ const bus = useProvideAlertGroup({ name: computed(() => props.name) });
1657
+ if (props.block && !props.inline || !props.block && props.inline) {
1658
+ console.warn(
1659
+ `[VvAlertGroup]: block and inline props must coexist at the same time.`
1660
+ );
1661
+ }
1662
+ const hasClass = computed(() => {
1663
+ const toReturn = [
1664
+ useModifiers(
1665
+ "vv-alert-group",
1666
+ computed(() => props.modifiers),
1667
+ computed(() => ({
1668
+ stack: props.stack,
1669
+ reverse: props.reverse,
1670
+ absolute: props.position === "absolute",
1671
+ fixed: props.position === "fixed"
1672
+ }))
1673
+ ).value
1674
+ ];
1675
+ if (props.inline && props.block) {
1676
+ toReturn.push(`vv-alert-group--${props.block}-${props.inline}`);
1677
+ }
1678
+ return toReturn;
1679
+ });
1680
+ const hasTransition = computed(() => {
1681
+ if (props.transition) {
1682
+ return props.transition;
1683
+ }
1684
+ if (!props.position) {
1685
+ return "vv-alert--fade";
1686
+ }
1687
+ if (props.inline === "start") {
1688
+ return "vv-alert--fade-inline-start";
1689
+ }
1690
+ if (props.inline === "end") {
1691
+ return "vv-alert--fade-inline-end";
1692
+ }
1693
+ if (props.block === "top") {
1694
+ return "vv-alert--fade-block-top";
1695
+ }
1696
+ if (props.block === "bottom") {
1697
+ return "vv-alert--fade-block-bottom";
1698
+ }
1699
+ return "vv-alert--fade";
1700
+ });
1701
+ bus.on("close", (id) => {
1702
+ emit("close", id);
1703
+ });
1704
+ return {
1705
+ hasTransition,
1706
+ hasProps: computed(() => ({
1707
+ class: hasClass.value
1708
+ }))
1709
+ };
1710
+ };
1711
+ const __default__$l = {
1712
+ name: "VvAlertGroup"
1713
+ };
1714
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1715
+ ...__default__$l,
1716
+ props: VvAlertGroupProps,
1717
+ emits: VvAlertGroupEvents,
1718
+ setup(__props, { emit }) {
1719
+ const props = __props;
1720
+ const { hasProps, hasTransition } = useVvAlertGroup(props, emit);
1721
+ const alertGroupTransitionHandlers = {
1722
+ "before-enter": () => {
1723
+ emit("before-enter");
1724
+ },
1725
+ "after-leave": () => {
1726
+ emit("after-leave");
1727
+ },
1728
+ enter: () => {
1729
+ emit("enter");
1730
+ },
1731
+ "after-enter": () => {
1732
+ emit("after-enter");
1733
+ },
1734
+ "enter-cancelled": () => {
1735
+ emit("enter-cancelled");
1736
+ },
1737
+ "before-leave": () => {
1738
+ emit("before-leave");
1739
+ },
1740
+ leave: () => {
1741
+ emit("leave");
1742
+ },
1743
+ "leave-cancelled": () => {
1744
+ emit("leave-cancelled");
1745
+ }
1746
+ };
1747
+ return (_ctx, _cache) => {
1748
+ return openBlock(), createElementBlock(
1749
+ "div",
1750
+ normalizeProps(guardReactiveProps(unref(hasProps))),
1751
+ [
1752
+ renderSlot(_ctx.$slots, "before"),
1753
+ createVNode(TransitionGroup, mergeProps({
1754
+ tag: "div",
1755
+ role: "group",
1756
+ name: unref(hasTransition),
1757
+ class: "vv-alert-group__list"
1758
+ }, toHandlers(alertGroupTransitionHandlers)), {
1759
+ default: withCtx(() => [
1760
+ renderSlot(_ctx.$slots, "default", {}, () => [
1761
+ (openBlock(true), createElementBlock(
1762
+ Fragment,
1763
+ null,
1764
+ renderList(_ctx.items, (item) => {
1765
+ return openBlock(), createBlock(
1766
+ _sfc_main$s,
1767
+ mergeProps(item, {
1768
+ key: item.id
1769
+ }),
1770
+ null,
1771
+ 16
1772
+ /* FULL_PROPS */
1773
+ );
1774
+ }),
1775
+ 128
1776
+ /* KEYED_FRAGMENT */
1777
+ ))
1482
1778
  ])
1483
- ], 8, _hoisted_2$c)) : createCommentVNode("", true),
1484
- renderSlot(_ctx.$slots, "title::after")
1485
- ]),
1486
- renderSlot(_ctx.$slots, "close", normalizeProps(guardReactiveProps({ close: unref(close) })), () => [
1487
- _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("button", {
1488
- key: 0,
1489
- class: "vv-alert__close",
1490
- type: "button",
1491
- "aria-label": _ctx.closeLabel,
1492
- onClick: _cache[0] || (_cache[0] = withModifiers(
1493
- //@ts-ignore
1494
- (...args) => unref(close) && unref(close)(...args),
1495
- ["stop"]
1496
- ))
1497
- }, _hoisted_5$4, 8, _hoisted_3$6)) : createCommentVNode("", true)
1498
- ])
1499
- ])) : createCommentVNode("", true),
1500
- _ctx.$slots.default || _ctx.content ? (openBlock(), createElementBlock("div", _hoisted_6$4, [
1779
+ ]),
1780
+ _: 3
1781
+ /* FORWARDED */
1782
+ }, 16, ["name"]),
1783
+ renderSlot(_ctx.$slots, "after")
1784
+ ],
1785
+ 16
1786
+ /* FULL_PROPS */
1787
+ );
1788
+ };
1789
+ }
1790
+ });
1791
+ const VvAvatarProps = {
1792
+ ...ModifiersProps,
1793
+ /**
1794
+ * Image src for avatar
1795
+ */
1796
+ imgSrc: String
1797
+ };
1798
+ const _hoisted_1$j = ["role", "aria-label"];
1799
+ const _hoisted_2$c = ["src"];
1800
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1801
+ __name: "VvAvatar",
1802
+ props: VvAvatarProps,
1803
+ setup(__props) {
1804
+ const props = __props;
1805
+ const { modifiers } = toRefs(props);
1806
+ const bemCssClasses = useModifiers("vv-avatar", modifiers);
1807
+ return (_ctx, _cache) => {
1808
+ return openBlock(), createElementBlock("span", {
1809
+ class: normalizeClass(unref(bemCssClasses)),
1810
+ role: _ctx.imgSrc ? void 0 : "img",
1811
+ "aria-label": _ctx.imgSrc ? void 0 : "avatar"
1812
+ }, [
1813
+ renderSlot(_ctx.$slots, "default", {}, () => [
1814
+ _ctx.imgSrc ? (openBlock(), createElementBlock("img", {
1815
+ key: 0,
1816
+ src: _ctx.imgSrc,
1817
+ alt: "avatar"
1818
+ }, null, 8, _hoisted_2$c)) : createCommentVNode("v-if", true)
1819
+ ])
1820
+ ], 10, _hoisted_1$j);
1821
+ };
1822
+ }
1823
+ });
1824
+ const VvAvatarGroupProps = {
1825
+ ...ModifiersProps,
1826
+ /**
1827
+ * avatar items
1828
+ */
1829
+ items: {
1830
+ type: Array,
1831
+ default: () => [],
1832
+ required: true
1833
+ },
1834
+ toShow: {
1835
+ type: Number,
1836
+ default: 3
1837
+ },
1838
+ totalItems: {
1839
+ type: Number
1840
+ },
1841
+ avatarModifiers: [String, Array]
1842
+ };
1843
+ const _hoisted_1$i = { key: 0 };
1844
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1845
+ __name: "VvAvatarGroup",
1846
+ props: VvAvatarGroupProps,
1847
+ setup(__props) {
1848
+ const props = __props;
1849
+ const { modifiers, items, toShow, totalItems, avatarModifiers } = toRefs(props);
1850
+ const bemCssClasses = useModifiers("vv-avatar-group", modifiers);
1851
+ const stringModifiers = computed(() => {
1852
+ if ((avatarModifiers == null ? void 0 : avatarModifiers.value) && Array.isArray(avatarModifiers == null ? void 0 : avatarModifiers.value)) {
1853
+ return avatarModifiers.value.join(" ");
1854
+ }
1855
+ return (avatarModifiers == null ? void 0 : avatarModifiers.value) || "";
1856
+ });
1857
+ const avatarItems = computed(() => {
1858
+ return items.value.slice(0, toShow.value).map((item) => {
1859
+ let modifiers2 = [];
1860
+ let itemModifiers = [];
1861
+ if (avatarModifiers == null ? void 0 : avatarModifiers.value) {
1862
+ modifiers2 = Array.isArray(avatarModifiers == null ? void 0 : avatarModifiers.value) ? avatarModifiers == null ? void 0 : avatarModifiers.value : [avatarModifiers == null ? void 0 : avatarModifiers.value];
1863
+ }
1864
+ if (item.modifiers) {
1865
+ itemModifiers = Array.isArray(item.modifiers) ? item.modifiers : [item.modifiers];
1866
+ }
1867
+ return {
1868
+ ...item,
1869
+ key: item.key || useUniqueId().value,
1870
+ modifiers: [...modifiers2, ...itemModifiers]
1871
+ };
1872
+ });
1873
+ });
1874
+ return (_ctx, _cache) => {
1875
+ return openBlock(), createElementBlock(
1876
+ "span",
1877
+ {
1878
+ class: normalizeClass(unref(bemCssClasses))
1879
+ },
1880
+ [
1501
1881
  renderSlot(_ctx.$slots, "default", {}, () => [
1502
- createTextVNode(toDisplayString(_ctx.content), 1)
1503
- ])
1504
- ])) : createCommentVNode("", true),
1505
- _ctx.$slots.footer || _ctx.footer ? (openBlock(), createElementBlock("div", _hoisted_7$4, [
1506
- renderSlot(_ctx.$slots, "footer", {}, () => [
1507
- createTextVNode(toDisplayString(_ctx.footer), 1)
1882
+ (openBlock(true), createElementBlock(
1883
+ Fragment,
1884
+ null,
1885
+ renderList(unref(avatarItems), (avatarItem) => {
1886
+ return openBlock(), createBlock(
1887
+ _sfc_main$q,
1888
+ mergeProps({
1889
+ key: avatarItem.key
1890
+ }, {
1891
+ modifiers: avatarItem.modifiers,
1892
+ imgSrc: avatarItem.imgSrc
1893
+ }),
1894
+ {
1895
+ default: withCtx(() => [
1896
+ avatarItem.text ? (openBlock(), createElementBlock(
1897
+ "span",
1898
+ _hoisted_1$i,
1899
+ toDisplayString(avatarItem.text),
1900
+ 1
1901
+ /* TEXT */
1902
+ )) : createCommentVNode("v-if", true)
1903
+ ]),
1904
+ _: 2
1905
+ /* DYNAMIC */
1906
+ },
1907
+ 1040
1908
+ /* FULL_PROPS, DYNAMIC_SLOTS */
1909
+ );
1910
+ }),
1911
+ 128
1912
+ /* KEYED_FRAGMENT */
1913
+ )),
1914
+ (unref(totalItems) || unref(items).length) > unref(toShow) ? (openBlock(), createBlock(_sfc_main$q, {
1915
+ key: 0,
1916
+ modifiers: `${unref(stringModifiers)} surface bordered`
1917
+ }, {
1918
+ default: withCtx(() => [
1919
+ createTextVNode(
1920
+ toDisplayString(`+${(unref(totalItems) || unref(items).length) - unref(toShow)}`),
1921
+ 1
1922
+ /* TEXT */
1923
+ )
1924
+ ]),
1925
+ _: 1
1926
+ /* STABLE */
1927
+ }, 8, ["modifiers"])) : createCommentVNode("v-if", true)
1508
1928
  ])
1509
- ])) : createCommentVNode("", true)
1510
- ], 16);
1929
+ ],
1930
+ 2
1931
+ /* CLASS */
1932
+ );
1511
1933
  };
1512
1934
  }
1513
1935
  });
@@ -1515,25 +1937,35 @@ const VvBadgeProps = {
1515
1937
  ...ModifiersProps,
1516
1938
  value: [String, Number]
1517
1939
  };
1518
- const __default__$i = {
1940
+ const __default__$k = {
1519
1941
  name: "VvBadge"
1520
1942
  };
1521
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
1522
- ...__default__$i,
1943
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1944
+ ...__default__$k,
1523
1945
  props: VvBadgeProps,
1524
1946
  setup(__props) {
1525
1947
  const props = __props;
1526
1948
  const { modifiers } = toRefs(props);
1527
1949
  const bemCssClasses = useModifiers("vv-badge", modifiers);
1528
1950
  return (_ctx, _cache) => {
1529
- return openBlock(), createElementBlock("span", {
1530
- class: normalizeClass(unref(bemCssClasses)),
1531
- role: "status"
1532
- }, [
1533
- renderSlot(_ctx.$slots, "default", {}, () => [
1534
- createTextVNode(toDisplayString(_ctx.value), 1)
1535
- ])
1536
- ], 2);
1951
+ return openBlock(), createElementBlock(
1952
+ "span",
1953
+ {
1954
+ class: normalizeClass(unref(bemCssClasses)),
1955
+ role: "status"
1956
+ },
1957
+ [
1958
+ renderSlot(_ctx.$slots, "default", {}, () => [
1959
+ createTextVNode(
1960
+ toDisplayString(_ctx.value),
1961
+ 1
1962
+ /* TEXT */
1963
+ )
1964
+ ])
1965
+ ],
1966
+ 2
1967
+ /* CLASS */
1968
+ );
1537
1969
  };
1538
1970
  }
1539
1971
  });
@@ -1541,58 +1973,83 @@ const VvBreadcrumbProps = {
1541
1973
  ...ModifiersProps,
1542
1974
  routes: Array
1543
1975
  };
1544
- const _hoisted_1$g = { class: "vv-breadcrumb__list" };
1976
+ const _hoisted_1$h = { class: "vv-breadcrumb__list" };
1545
1977
  const _hoisted_2$b = ["content"];
1546
- const __default__$h = {
1978
+ const __default__$j = {
1547
1979
  name: "VvBreadcrumb"
1548
1980
  };
1549
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
1550
- ...__default__$h,
1981
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1982
+ ...__default__$j,
1551
1983
  props: VvBreadcrumbProps,
1552
1984
  setup(__props) {
1553
1985
  const props = __props;
1554
1986
  const { modifiers } = toRefs(props);
1555
1987
  const bemCssClasses = useModifiers("vv-breadcrumb", modifiers);
1988
+ const length = computed(() => {
1989
+ var _a;
1990
+ return ((_a = props.routes) == null ? void 0 : _a.length) ?? 0;
1991
+ });
1992
+ const isLast = (index) => index === length.value - 1;
1556
1993
  return (_ctx, _cache) => {
1557
- return openBlock(), createElementBlock("nav", {
1558
- class: normalizeClass(unref(bemCssClasses)),
1559
- "aria-label": "breadcrumbs"
1560
- }, [
1561
- createElementVNode("ol", _hoisted_1$g, [
1562
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.routes, (route, index) => {
1563
- var _a, _b, _c, _d;
1564
- return openBlock(), createElementBlock("li", {
1565
- key: `${route.label}-${index}`,
1566
- class: normalizeClass({
1567
- "vv-breadcrumb__item": index < Number((_a = _ctx.routes) == null ? void 0 : _a.length) - 1,
1568
- "vv-breadcrumb__item-active": index === Number((_b = _ctx.routes) == null ? void 0 : _b.length) - 1
1994
+ return openBlock(), createElementBlock(
1995
+ "nav",
1996
+ {
1997
+ class: normalizeClass(unref(bemCssClasses)),
1998
+ "aria-label": "breadcrumbs"
1999
+ },
2000
+ [
2001
+ createElementVNode("ol", _hoisted_1$h, [
2002
+ (openBlock(true), createElementBlock(
2003
+ Fragment,
2004
+ null,
2005
+ renderList(_ctx.routes, ({ label, ...route }, index) => {
2006
+ return openBlock(), createElementBlock(
2007
+ "li",
2008
+ {
2009
+ key: `${label}-${index}`,
2010
+ class: normalizeClass(
2011
+ !isLast(index) ? "vv-breadcrumb__item" : "vv-breadcrumb__item-active"
2012
+ ),
2013
+ itemprop: "itemListElement",
2014
+ itemtype: "https://schema.org/ListItem",
2015
+ itemscope: ""
2016
+ },
2017
+ [
2018
+ createVNode(_sfc_main$u, mergeProps(route, {
2019
+ class: !isLast(index) ? "vv-breadcrumb__link" : "vv-breadcrumb__label",
2020
+ "aria-current": isLast(index) ? "page" : void 0,
2021
+ itemprop: "item",
2022
+ "default-tag": "span"
2023
+ }), {
2024
+ default: withCtx(() => [
2025
+ renderSlot(_ctx.$slots, "label", normalizeProps(guardReactiveProps({ route, index })), () => [
2026
+ createTextVNode(
2027
+ toDisplayString(label),
2028
+ 1
2029
+ /* TEXT */
2030
+ )
2031
+ ])
2032
+ ]),
2033
+ _: 2
2034
+ /* DYNAMIC */
2035
+ }, 1040, ["class", "aria-current"]),
2036
+ createElementVNode("meta", {
2037
+ itemprop: "position",
2038
+ content: `${index + 1}`
2039
+ }, null, 8, _hoisted_2$b)
2040
+ ],
2041
+ 2
2042
+ /* CLASS */
2043
+ );
1569
2044
  }),
1570
- itemprop: "itemListElement",
1571
- itemtype: "https://schema.org/ListItem",
1572
- itemscope: ""
1573
- }, [
1574
- (openBlock(), createBlock(resolveDynamicComponent(route.to ? "router-link" : route.href ? "a" : "span"), mergeProps(route, {
1575
- class: {
1576
- "vv-breadcrumb__link": index < Number((_c = _ctx.routes) == null ? void 0 : _c.length) - 1
1577
- },
1578
- "aria-current": index === Number((_d = _ctx.routes) == null ? void 0 : _d.length) - 1 ? "page" : void 0,
1579
- itemprop: "item"
1580
- }), {
1581
- default: withCtx(() => [
1582
- renderSlot(_ctx.$slots, "label", normalizeProps(guardReactiveProps({ route, index })), () => [
1583
- createTextVNode(toDisplayString(route.label), 1)
1584
- ])
1585
- ]),
1586
- _: 2
1587
- }, 1040, ["class", "aria-current"])),
1588
- createElementVNode("meta", {
1589
- itemprop: "position",
1590
- content: `${index + 1}`
1591
- }, null, 8, _hoisted_2$b)
1592
- ], 2);
1593
- }), 128))
1594
- ])
1595
- ], 2);
2045
+ 128
2046
+ /* KEYED_FRAGMENT */
2047
+ ))
2048
+ ])
2049
+ ],
2050
+ 2
2051
+ /* CLASS */
2052
+ );
1596
2053
  };
1597
2054
  }
1598
2055
  });
@@ -1700,7 +2157,7 @@ function useGroupProps$2(props, emit) {
1700
2157
  label
1701
2158
  };
1702
2159
  }
1703
- const _hoisted_1$f = {
2160
+ const _hoisted_1$g = {
1704
2161
  key: 1,
1705
2162
  class: "vv-button__label"
1706
2163
  };
@@ -1708,11 +2165,11 @@ const _hoisted_2$a = {
1708
2165
  key: 1,
1709
2166
  class: "vv-button__label"
1710
2167
  };
1711
- const __default__$g = {
2168
+ const __default__$i = {
1712
2169
  name: "VvButton"
1713
2170
  };
1714
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
1715
- ...__default__$g,
2171
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2172
+ ...__default__$i,
1716
2173
  props: VvButtonProps,
1717
2174
  emits: VvButtonEvents,
1718
2175
  setup(__props, { expose: __expose, emit }) {
@@ -1790,7 +2247,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
1790
2247
  }
1791
2248
  };
1792
2249
  return (_ctx, _cache) => {
1793
- return openBlock(), createBlock(_sfc_main$o, mergeProps({
2250
+ return openBlock(), createBlock(_sfc_main$u, mergeProps({
1794
2251
  disabled: unref(disabled),
1795
2252
  pressed: unref(pressed),
1796
2253
  active: _ctx.active,
@@ -1810,28 +2267,51 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
1810
2267
  default: withCtx(() => [
1811
2268
  renderSlot(_ctx.$slots, "default", {}, () => [
1812
2269
  _ctx.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }, () => [
1813
- _ctx.loadingIcon ? (openBlock(), createBlock(_sfc_main$n, {
2270
+ _ctx.loadingIcon ? (openBlock(), createBlock(_sfc_main$t, {
1814
2271
  key: 0,
1815
2272
  class: "vv-button__loading-icon",
1816
2273
  name: _ctx.loadingIcon
1817
- }, null, 8, ["name"])) : createCommentVNode("", true),
1818
- _ctx.loadingLabel ? (openBlock(), createElementBlock("span", _hoisted_1$f, toDisplayString(_ctx.loadingLabel), 1)) : createCommentVNode("", true)
1819
- ]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1820
- renderSlot(_ctx.$slots, "before"),
1821
- unref(icon) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
1822
- key: 0,
1823
- class: "vv-button__icon"
1824
- }, unref(hasIconProps)), null, 16)) : createCommentVNode("", true),
1825
- unref(label) ? (openBlock(), createElementBlock("span", _hoisted_2$a, [
1826
- renderSlot(_ctx.$slots, "label", {}, () => [
1827
- createTextVNode(toDisplayString(unref(label)), 1)
1828
- ])
1829
- ])) : createCommentVNode("", true),
1830
- renderSlot(_ctx.$slots, "after")
1831
- ], 64))
2274
+ }, null, 8, ["name"])) : createCommentVNode("v-if", true),
2275
+ _ctx.loadingLabel ? (openBlock(), createElementBlock(
2276
+ "span",
2277
+ _hoisted_1$g,
2278
+ toDisplayString(_ctx.loadingLabel),
2279
+ 1
2280
+ /* TEXT */
2281
+ )) : createCommentVNode("v-if", true)
2282
+ ]) : (openBlock(), createElementBlock(
2283
+ Fragment,
2284
+ { key: 1 },
2285
+ [
2286
+ renderSlot(_ctx.$slots, "before"),
2287
+ unref(icon) ? (openBlock(), createBlock(
2288
+ _sfc_main$t,
2289
+ mergeProps({
2290
+ key: 0,
2291
+ class: "vv-button__icon"
2292
+ }, unref(hasIconProps)),
2293
+ null,
2294
+ 16
2295
+ /* FULL_PROPS */
2296
+ )) : createCommentVNode("v-if", true),
2297
+ unref(label) ? (openBlock(), createElementBlock("span", _hoisted_2$a, [
2298
+ renderSlot(_ctx.$slots, "label", {}, () => [
2299
+ createTextVNode(
2300
+ toDisplayString(unref(label)),
2301
+ 1
2302
+ /* TEXT */
2303
+ )
2304
+ ])
2305
+ ])) : createCommentVNode("v-if", true),
2306
+ renderSlot(_ctx.$slots, "after")
2307
+ ],
2308
+ 64
2309
+ /* STABLE_FRAGMENT */
2310
+ ))
1832
2311
  ])
1833
2312
  ]),
1834
2313
  _: 3
2314
+ /* FORWARDED */
1835
2315
  }, 16, ["id", "class"]);
1836
2316
  };
1837
2317
  }
@@ -1855,11 +2335,11 @@ const VvButtonGroupProps = {
1855
2335
  }
1856
2336
  };
1857
2337
  const VvButtonGroupEvents = ["update:modelValue"];
1858
- const __default__$f = {
2338
+ const __default__$h = {
1859
2339
  name: "VvButtonGroup"
1860
2340
  };
1861
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
1862
- ...__default__$f,
2341
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2342
+ ...__default__$h,
1863
2343
  props: VvButtonGroupProps,
1864
2344
  emits: VvButtonGroupEvents,
1865
2345
  setup(__props, { emit }) {
@@ -1904,12 +2384,18 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
1904
2384
  });
1905
2385
  const bemCssClasses = useModifiers("vv-button-group", modifiers);
1906
2386
  return (_ctx, _cache) => {
1907
- return openBlock(), createElementBlock("div", {
1908
- class: normalizeClass(unref(bemCssClasses)),
1909
- role: "group"
1910
- }, [
1911
- renderSlot(_ctx.$slots, "default")
1912
- ], 2);
2387
+ return openBlock(), createElementBlock(
2388
+ "div",
2389
+ {
2390
+ class: normalizeClass(unref(bemCssClasses)),
2391
+ role: "group"
2392
+ },
2393
+ [
2394
+ renderSlot(_ctx.$slots, "default")
2395
+ ],
2396
+ 2
2397
+ /* CLASS */
2398
+ );
1913
2399
  };
1914
2400
  }
1915
2401
  });
@@ -1917,7 +2403,7 @@ const VvCardProps = {
1917
2403
  ...ModifiersProps,
1918
2404
  title: String
1919
2405
  };
1920
- const _hoisted_1$e = {
2406
+ const _hoisted_1$f = {
1921
2407
  key: 0,
1922
2408
  class: "vv-card__header"
1923
2409
  };
@@ -1929,33 +2415,43 @@ const _hoisted_3$5 = {
1929
2415
  key: 2,
1930
2416
  class: "vv-card__footer"
1931
2417
  };
1932
- const __default__$e = {
2418
+ const __default__$g = {
1933
2419
  name: "VvCard"
1934
2420
  };
1935
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
1936
- ...__default__$e,
2421
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2422
+ ...__default__$g,
1937
2423
  props: VvCardProps,
1938
2424
  setup(__props) {
1939
2425
  const props = __props;
1940
2426
  const { modifiers } = toRefs(props);
1941
2427
  const bemCssClasses = useModifiers("vv-card", modifiers);
1942
2428
  return (_ctx, _cache) => {
1943
- return openBlock(), createElementBlock("article", {
1944
- class: normalizeClass(unref(bemCssClasses))
1945
- }, [
1946
- _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("header", _hoisted_1$e, [
1947
- renderSlot(_ctx.$slots, "header", {}, () => [
1948
- createTextVNode(toDisplayString(_ctx.title), 1)
1949
- ])
1950
- ])) : createCommentVNode("", true),
1951
- renderSlot(_ctx.$slots, "default"),
1952
- _ctx.$slots.content ? (openBlock(), createElementBlock("div", _hoisted_2$9, [
1953
- renderSlot(_ctx.$slots, "content")
1954
- ])) : createCommentVNode("", true),
1955
- _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", _hoisted_3$5, [
1956
- renderSlot(_ctx.$slots, "footer")
1957
- ])) : createCommentVNode("", true)
1958
- ], 2);
2429
+ return openBlock(), createElementBlock(
2430
+ "article",
2431
+ {
2432
+ class: normalizeClass(unref(bemCssClasses))
2433
+ },
2434
+ [
2435
+ _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("header", _hoisted_1$f, [
2436
+ renderSlot(_ctx.$slots, "header", {}, () => [
2437
+ createTextVNode(
2438
+ toDisplayString(_ctx.title),
2439
+ 1
2440
+ /* TEXT */
2441
+ )
2442
+ ])
2443
+ ])) : createCommentVNode("v-if", true),
2444
+ renderSlot(_ctx.$slots, "default"),
2445
+ _ctx.$slots.content ? (openBlock(), createElementBlock("div", _hoisted_2$9, [
2446
+ renderSlot(_ctx.$slots, "content")
2447
+ ])) : createCommentVNode("v-if", true),
2448
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", _hoisted_3$5, [
2449
+ renderSlot(_ctx.$slots, "footer")
2450
+ ])) : createCommentVNode("v-if", true)
2451
+ ],
2452
+ 2
2453
+ /* CLASS */
2454
+ );
1959
2455
  };
1960
2456
  }
1961
2457
  });
@@ -2180,13 +2676,13 @@ function useDefaults(componentName, propsDefinition, props) {
2180
2676
  }, {});
2181
2677
  });
2182
2678
  }
2183
- const _hoisted_1$d = ["for"];
2679
+ const _hoisted_1$e = ["for"];
2184
2680
  const _hoisted_2$8 = ["id", "name", "disabled", "value", "tabindex", "aria-invalid", "aria-describedby", "aria-errormessage"];
2185
- const __default__$d = {
2681
+ const __default__$f = {
2186
2682
  name: "VvCheckbox"
2187
2683
  };
2188
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
2189
- ...__default__$d,
2684
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2685
+ ...__default__$f,
2190
2686
  props: VvCheckboxProps,
2191
2687
  emits: VvCheckboxEvents,
2192
2688
  setup(__props, { emit }) {
@@ -2333,12 +2829,19 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2333
2829
  [vModelCheckbox, unref(localModelValue)]
2334
2830
  ]),
2335
2831
  renderSlot(_ctx.$slots, "default", { value: unref(modelValue) }, () => [
2336
- createTextVNode(toDisplayString(_ctx.label), 1)
2832
+ createTextVNode(
2833
+ toDisplayString(_ctx.label),
2834
+ 1
2835
+ /* TEXT */
2836
+ )
2337
2837
  ]),
2338
2838
  createVNode(unref(HintSlot), {
2339
2839
  id: unref(hasHintId),
2340
2840
  class: "vv-checkbox__hint"
2341
- }, createSlots({ _: 2 }, [
2841
+ }, createSlots({
2842
+ _: 2
2843
+ /* DYNAMIC */
2844
+ }, [
2342
2845
  _ctx.$slots.hint ? {
2343
2846
  name: "hint",
2344
2847
  fn: withCtx(() => [
@@ -2368,7 +2871,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2368
2871
  key: "3"
2369
2872
  } : void 0
2370
2873
  ]), 1032, ["id"])
2371
- ], 10, _hoisted_1$d);
2874
+ ], 10, _hoisted_1$e);
2372
2875
  };
2373
2876
  }
2374
2877
  });
@@ -2406,13 +2909,13 @@ function useOptions(props) {
2406
2909
  getOptionGrouped
2407
2910
  };
2408
2911
  }
2409
- const _hoisted_1$c = ["textContent"];
2912
+ const _hoisted_1$d = ["textContent"];
2410
2913
  const _hoisted_2$7 = { class: "vv-checkbox-group__wrapper" };
2411
- const __default__$c = {
2914
+ const __default__$e = {
2412
2915
  name: "VvCheckboxGroup"
2413
2916
  };
2414
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
2415
- ...__default__$c,
2917
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2918
+ ...__default__$e,
2416
2919
  props: VvCheckboxGroupProps,
2417
2920
  emits: VvCheckboxGroupEvents,
2418
2921
  setup(__props, { emit }) {
@@ -2455,54 +2958,85 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2455
2958
  };
2456
2959
  const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
2457
2960
  return (_ctx, _cache) => {
2458
- return openBlock(), createElementBlock("fieldset", {
2459
- class: normalizeClass(unref(bemCssClasses))
2460
- }, [
2461
- _ctx.label ? (openBlock(), createElementBlock("legend", {
2462
- key: 0,
2463
- textContent: toDisplayString(_ctx.label)
2464
- }, null, 8, _hoisted_1$c)) : createCommentVNode("", true),
2465
- createElementVNode("div", _hoisted_2$7, [
2466
- _ctx.options.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.options, (option, index) => {
2467
- return openBlock(), createBlock(_sfc_main$g, mergeProps({ key: index }, getOptionProps(option, index)), null, 16);
2468
- }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })
2469
- ]),
2470
- createVNode(unref(HintSlot), { class: "vv-checkbox-group__hint" }, createSlots({ _: 2 }, [
2471
- _ctx.$slots.hint ? {
2472
- name: "hint",
2473
- fn: withCtx(() => [
2474
- renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
2475
- ]),
2476
- key: "0"
2477
- } : void 0,
2478
- _ctx.$slots.loading ? {
2479
- name: "loading",
2480
- fn: withCtx(() => [
2481
- renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
2482
- ]),
2483
- key: "1"
2484
- } : void 0,
2485
- _ctx.$slots.valid ? {
2486
- name: "valid",
2487
- fn: withCtx(() => [
2488
- renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
2489
- ]),
2490
- key: "2"
2491
- } : void 0,
2492
- _ctx.$slots.invalid ? {
2493
- name: "invalid",
2494
- fn: withCtx(() => [
2495
- renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
2961
+ return openBlock(), createElementBlock(
2962
+ "fieldset",
2963
+ {
2964
+ class: normalizeClass(unref(bemCssClasses))
2965
+ },
2966
+ [
2967
+ _ctx.label ? (openBlock(), createElementBlock("legend", {
2968
+ key: 0,
2969
+ textContent: toDisplayString(_ctx.label)
2970
+ }, null, 8, _hoisted_1$d)) : createCommentVNode("v-if", true),
2971
+ createElementVNode("div", _hoisted_2$7, [
2972
+ _ctx.options.length > 0 ? (openBlock(true), createElementBlock(
2973
+ Fragment,
2974
+ { key: 0 },
2975
+ renderList(_ctx.options, (option, index) => {
2976
+ return openBlock(), createBlock(
2977
+ _sfc_main$j,
2978
+ mergeProps({ key: index }, getOptionProps(option, index)),
2979
+ null,
2980
+ 16
2981
+ /* FULL_PROPS */
2982
+ );
2983
+ }),
2984
+ 128
2985
+ /* KEYED_FRAGMENT */
2986
+ )) : renderSlot(_ctx.$slots, "default", { key: 1 })
2987
+ ]),
2988
+ createVNode(
2989
+ unref(HintSlot),
2990
+ { class: "vv-checkbox-group__hint" },
2991
+ createSlots({
2992
+ _: 2
2993
+ /* DYNAMIC */
2994
+ }, [
2995
+ _ctx.$slots.hint ? {
2996
+ name: "hint",
2997
+ fn: withCtx(() => [
2998
+ renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
2999
+ ]),
3000
+ key: "0"
3001
+ } : void 0,
3002
+ _ctx.$slots.loading ? {
3003
+ name: "loading",
3004
+ fn: withCtx(() => [
3005
+ renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
3006
+ ]),
3007
+ key: "1"
3008
+ } : void 0,
3009
+ _ctx.$slots.valid ? {
3010
+ name: "valid",
3011
+ fn: withCtx(() => [
3012
+ renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
3013
+ ]),
3014
+ key: "2"
3015
+ } : void 0,
3016
+ _ctx.$slots.invalid ? {
3017
+ name: "invalid",
3018
+ fn: withCtx(() => [
3019
+ renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
3020
+ ]),
3021
+ key: "3"
3022
+ } : void 0
2496
3023
  ]),
2497
- key: "3"
2498
- } : void 0
2499
- ]), 1024)
2500
- ], 2);
3024
+ 1024
3025
+ /* DYNAMIC_SLOTS */
3026
+ )
3027
+ ],
3028
+ 2
3029
+ /* CLASS */
3030
+ );
2501
3031
  };
2502
3032
  }
2503
3033
  });
2504
3034
  const VvComboboxEvents = [
2505
3035
  "update:modelValue",
3036
+ "update:search",
3037
+ /**
3038
+ * @deprecated change:search should not be used, use update:search instead
3039
+ */
2506
3040
  "change:search",
2507
3041
  "focus",
2508
3042
  "blur"
@@ -2726,13 +3260,13 @@ function useProvideDropdownAction({
2726
3260
  expanded
2727
3261
  });
2728
3262
  }
2729
- const _hoisted_1$b = ["id", "tabindex", "role", "aria-labelledby"];
2730
- const __default__$b = {
3263
+ const _hoisted_1$c = ["id", "tabindex", "role", "aria-labelledby"];
3264
+ const __default__$d = {
2731
3265
  name: "VvDropdown",
2732
3266
  inheritAttrs: false
2733
3267
  };
2734
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
2735
- ...__default__$b,
3268
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
3269
+ ...__default__$d,
2736
3270
  props: VvDropdownProps,
2737
3271
  emits: [
2738
3272
  "update:modelValue",
@@ -3086,58 +3620,78 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
3086
3620
  }
3087
3621
  };
3088
3622
  return (_ctx, _cache) => {
3089
- return openBlock(), createElementBlock(Fragment, null, [
3090
- createVNode(unref(VvDropdownTriggerProvider), null, {
3091
- default: withCtx(() => [
3092
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ init, show, hide, toggle, expanded: unref(expanded), aria: unref(referenceAria) })))
3093
- ]),
3094
- _: 3
3095
- }),
3096
- createVNode(Transition, mergeProps({ name: _ctx.transitionName }, toHandlers(dropdownTransitionHandlers)), {
3097
- default: withCtx(() => [
3098
- withDirectives(createElementVNode("div", {
3099
- ref_key: "floatingEl",
3100
- ref: floatingEl,
3101
- style: normalizeStyle(unref(dropdownPlacement)),
3102
- class: normalizeClass(unref(bemCssClasses))
3103
- }, [
3104
- props.arrow ? (openBlock(), createElementBlock("div", {
3105
- key: 0,
3106
- ref_key: "arrowEl",
3107
- ref: arrowEl,
3108
- style: normalizeStyle(unref(arrowPlacement)),
3109
- class: "vv-dropdown__arrow"
3110
- }, null, 4)) : createCommentVNode("", true),
3111
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps({ expanded: unref(expanded) }))),
3112
- createElementVNode("div", mergeProps(unref(attrs), {
3113
- id: unref(hasId),
3114
- ref_key: "listEl",
3115
- ref: listEl,
3116
- tabindex: !unref(expanded) ? -1 : void 0,
3117
- role: unref(role),
3118
- "aria-labelledby": unref(hasAriaLabelledby),
3119
- class: "vv-dropdown__list"
3120
- }), [
3121
- renderSlot(_ctx.$slots, "items", normalizeProps(guardReactiveProps({
3122
- role: unref(itemRole)
3123
- })))
3124
- ], 16, _hoisted_1$b),
3125
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps({ expanded: unref(expanded) })))
3126
- ], 6), [
3127
- [vShow, unref(expanded)]
3128
- ])
3129
- ]),
3130
- _: 3
3131
- }, 16, ["name"])
3132
- ], 64);
3623
+ return openBlock(), createElementBlock(
3624
+ Fragment,
3625
+ null,
3626
+ [
3627
+ createVNode(unref(VvDropdownTriggerProvider), null, {
3628
+ default: withCtx(() => [
3629
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ init, show, hide, toggle, expanded: unref(expanded), aria: unref(referenceAria) })))
3630
+ ]),
3631
+ _: 3
3632
+ /* FORWARDED */
3633
+ }),
3634
+ createVNode(Transition, mergeProps({ name: _ctx.transitionName }, toHandlers(dropdownTransitionHandlers), { persisted: "" }), {
3635
+ default: withCtx(() => [
3636
+ withDirectives(createElementVNode(
3637
+ "div",
3638
+ {
3639
+ ref_key: "floatingEl",
3640
+ ref: floatingEl,
3641
+ style: normalizeStyle(unref(dropdownPlacement)),
3642
+ class: normalizeClass(unref(bemCssClasses))
3643
+ },
3644
+ [
3645
+ props.arrow ? (openBlock(), createElementBlock(
3646
+ "div",
3647
+ {
3648
+ key: 0,
3649
+ ref_key: "arrowEl",
3650
+ ref: arrowEl,
3651
+ style: normalizeStyle(unref(arrowPlacement)),
3652
+ class: "vv-dropdown__arrow"
3653
+ },
3654
+ null,
3655
+ 4
3656
+ /* STYLE */
3657
+ )) : createCommentVNode("v-if", true),
3658
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps({ expanded: unref(expanded) }))),
3659
+ createElementVNode("div", mergeProps(unref(attrs), {
3660
+ id: unref(hasId),
3661
+ ref_key: "listEl",
3662
+ ref: listEl,
3663
+ tabindex: !unref(expanded) ? -1 : void 0,
3664
+ role: unref(role),
3665
+ "aria-labelledby": unref(hasAriaLabelledby),
3666
+ class: "vv-dropdown__list"
3667
+ }), [
3668
+ renderSlot(_ctx.$slots, "items", normalizeProps(guardReactiveProps({
3669
+ role: unref(itemRole)
3670
+ })))
3671
+ ], 16, _hoisted_1$c),
3672
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps({ expanded: unref(expanded) })))
3673
+ ],
3674
+ 6
3675
+ /* CLASS, STYLE */
3676
+ ), [
3677
+ [vShow, unref(expanded)]
3678
+ ])
3679
+ ]),
3680
+ _: 3
3681
+ /* FORWARDED */
3682
+ }, 16, ["name"])
3683
+ ],
3684
+ 64
3685
+ /* STABLE_FRAGMENT */
3686
+ );
3133
3687
  };
3134
3688
  }
3135
3689
  });
3136
- const __default__$a = {
3690
+ const __default__$c = {
3137
3691
  name: "VvDropdownItem"
3138
3692
  };
3139
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
3140
- ...__default__$a,
3693
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
3694
+ ...__default__$c,
3141
3695
  setup(__props) {
3142
3696
  const { role, expanded } = useInjectedDropdownItem();
3143
3697
  const element = ref(null);
@@ -3151,22 +3705,28 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
3151
3705
  }
3152
3706
  });
3153
3707
  return (_ctx, _cache) => {
3154
- return openBlock(), createElementBlock("div", mergeProps({ role: unref(role) }, {
3155
- ref_key: "element",
3156
- ref: element,
3157
- class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
3158
- }), [
3159
- renderSlot(_ctx.$slots, "default")
3160
- ], 16);
3708
+ return openBlock(), createElementBlock(
3709
+ "div",
3710
+ mergeProps({ role: unref(role) }, {
3711
+ ref_key: "element",
3712
+ ref: element,
3713
+ class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
3714
+ }),
3715
+ [
3716
+ renderSlot(_ctx.$slots, "default")
3717
+ ],
3718
+ 16
3719
+ /* FULL_PROPS */
3720
+ );
3161
3721
  };
3162
3722
  }
3163
3723
  });
3164
- const _hoisted_1$a = ["title"];
3165
- const __default__$9 = {
3724
+ const _hoisted_1$b = ["title"];
3725
+ const __default__$b = {
3166
3726
  name: "VvDropdownOption"
3167
3727
  };
3168
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
3169
- ...__default__$9,
3728
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
3729
+ ...__default__$b,
3170
3730
  props: {
3171
3731
  ...DisabledProps,
3172
3732
  ...SelectedProps,
@@ -3203,7 +3763,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
3203
3763
  }
3204
3764
  });
3205
3765
  return (_ctx, _cache) => {
3206
- return openBlock(), createBlock(_sfc_main$d, {
3766
+ return openBlock(), createBlock(_sfc_main$g, {
3207
3767
  class: normalizeClass(unref(bemCssClasses)),
3208
3768
  tabindex: _ctx.disabled ? -1 : 0,
3209
3769
  "aria-selected": _ctx.selected,
@@ -3216,32 +3776,43 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
3216
3776
  title: unref(hintLabel)
3217
3777
  }, [
3218
3778
  renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps({ disabled: _ctx.disabled, selected: _ctx.selected, unselectable: _ctx.unselectable })), () => [
3219
- createTextVNode(toDisplayString(unref(hintLabel)), 1)
3779
+ createTextVNode(
3780
+ toDisplayString(unref(hintLabel)),
3781
+ 1
3782
+ /* TEXT */
3783
+ )
3220
3784
  ])
3221
- ], 8, _hoisted_1$a)
3785
+ ], 8, _hoisted_1$b)
3222
3786
  ]),
3223
3787
  _: 3
3788
+ /* FORWARDED */
3224
3789
  }, 8, ["class", "tabindex", "aria-selected", "aria-disabled"]);
3225
3790
  };
3226
3791
  }
3227
3792
  });
3228
- const _hoisted_1$9 = {
3793
+ const _hoisted_1$a = {
3229
3794
  class: "vv-dropdown-optgroup",
3230
3795
  role: "presentation",
3231
3796
  tabindex: "-1"
3232
3797
  };
3233
- const __default__$8 = {
3798
+ const __default__$a = {
3234
3799
  name: "VvDropdownOptgroup"
3235
3800
  };
3236
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
3237
- ...__default__$8,
3801
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
3802
+ ...__default__$a,
3238
3803
  props: {
3239
3804
  ...LabelProps
3240
3805
  },
3241
3806
  setup(__props) {
3242
3807
  const props = __props;
3243
3808
  return (_ctx, _cache) => {
3244
- return openBlock(), createElementBlock("li", _hoisted_1$9, toDisplayString(props.label), 1);
3809
+ return openBlock(), createElementBlock(
3810
+ "li",
3811
+ _hoisted_1$a,
3812
+ toDisplayString(props.label),
3813
+ 1
3814
+ /* TEXT */
3815
+ );
3245
3816
  };
3246
3817
  }
3247
3818
  });
@@ -3338,7 +3909,7 @@ function useComponentIcon(icon, iconPosition) {
3338
3909
  hasIconAfter
3339
3910
  };
3340
3911
  }
3341
- const _hoisted_1$8 = ["for"];
3912
+ const _hoisted_1$9 = ["for"];
3342
3913
  const _hoisted_2$6 = { class: "vv-select__wrapper" };
3343
3914
  const _hoisted_3$4 = {
3344
3915
  key: 0,
@@ -3354,11 +3925,11 @@ const _hoisted_10 = {
3354
3925
  key: 1,
3355
3926
  class: "vv-select__input-after"
3356
3927
  };
3357
- const __default__$7 = {
3928
+ const __default__$9 = {
3358
3929
  name: "VvSelect"
3359
3930
  };
3360
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
3361
- ...__default__$7,
3931
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
3932
+ ...__default__$9,
3362
3933
  props: VvSelectProps,
3363
3934
  emits: VvSelectEmits,
3364
3935
  setup(__props, { emit }) {
@@ -3475,105 +4046,144 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3475
4046
  return option && option.options && option.options.length > 0;
3476
4047
  };
3477
4048
  return (_ctx, _cache) => {
3478
- return openBlock(), createElementBlock("div", {
3479
- class: normalizeClass(unref(bemCssClasses))
3480
- }, [
3481
- _ctx.label ? (openBlock(), createElementBlock("label", {
3482
- key: 0,
3483
- for: unref(hasId)
3484
- }, toDisplayString(_ctx.label), 9, _hoisted_1$8)) : createCommentVNode("", true),
3485
- createElementVNode("div", _hoisted_2$6, [
3486
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3$4, [
3487
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
3488
- ])) : createCommentVNode("", true),
3489
- createElementVNode("div", _hoisted_4$4, [
3490
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
3491
- key: 0,
3492
- class: "vv-select__icon"
3493
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
3494
- withDirectives(createElementVNode("select", mergeProps({
3495
- id: unref(hasId),
3496
- ref_key: "select",
3497
- ref: select,
3498
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
3499
- }, unref(hasAttrs)), [
3500
- _ctx.placeholder ? (openBlock(), createElementBlock("option", {
3501
- key: 0,
3502
- value: void 0,
3503
- disabled: !_ctx.unselectable,
3504
- hidden: !_ctx.unselectable
3505
- }, toDisplayString(_ctx.placeholder), 9, _hoisted_6$3)) : createCommentVNode("", true),
3506
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index) => {
3507
- return openBlock(), createElementBlock(Fragment, null, [
3508
- !isGroup(option) ? (openBlock(), createElementBlock("option", {
3509
- key: index,
3510
- disabled: unref(isOptionDisabled)(option),
3511
- value: unref(getOptionValue)(option)
3512
- }, toDisplayString(unref(getOptionLabel)(option)), 9, _hoisted_7$3)) : (openBlock(), createElementBlock("optgroup", {
3513
- key: `group-${index}`,
3514
- disabled: unref(isOptionDisabled)(option),
3515
- label: unref(getOptionLabel)(option)
3516
- }, [
3517
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(getOptionGrouped)(option), (item, i) => {
3518
- return openBlock(), createElementBlock("option", {
3519
- key: `group-${index}-item-${i}`,
3520
- disabled: unref(isOptionDisabled)(item),
3521
- value: unref(getOptionValue)(item)
3522
- }, toDisplayString(unref(getOptionLabel)(item)), 9, _hoisted_9$1);
3523
- }), 128))
3524
- ], 8, _hoisted_8$2))
3525
- ], 64);
3526
- }), 256))
3527
- ], 16, _hoisted_5$3), [
3528
- [vModelSelect, unref(localModelValue)]
4049
+ return openBlock(), createElementBlock(
4050
+ "div",
4051
+ {
4052
+ class: normalizeClass(unref(bemCssClasses))
4053
+ },
4054
+ [
4055
+ _ctx.label ? (openBlock(), createElementBlock("label", {
4056
+ key: 0,
4057
+ for: unref(hasId)
4058
+ }, toDisplayString(_ctx.label), 9, _hoisted_1$9)) : createCommentVNode("v-if", true),
4059
+ createElementVNode("div", _hoisted_2$6, [
4060
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3$4, [
4061
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
4062
+ ])) : createCommentVNode("v-if", true),
4063
+ createElementVNode("div", _hoisted_4$4, [
4064
+ unref(hasIconBefore) ? (openBlock(), createBlock(
4065
+ _sfc_main$t,
4066
+ mergeProps({
4067
+ key: 0,
4068
+ class: "vv-select__icon"
4069
+ }, unref(hasIcon)),
4070
+ null,
4071
+ 16
4072
+ /* FULL_PROPS */
4073
+ )) : createCommentVNode("v-if", true),
4074
+ withDirectives(createElementVNode("select", mergeProps({
4075
+ id: unref(hasId),
4076
+ ref_key: "select",
4077
+ ref: select,
4078
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
4079
+ }, unref(hasAttrs)), [
4080
+ _ctx.placeholder ? (openBlock(), createElementBlock("option", {
4081
+ key: 0,
4082
+ value: void 0,
4083
+ disabled: !_ctx.unselectable,
4084
+ hidden: !_ctx.unselectable
4085
+ }, toDisplayString(_ctx.placeholder), 9, _hoisted_6$3)) : createCommentVNode("v-if", true),
4086
+ (openBlock(true), createElementBlock(
4087
+ Fragment,
4088
+ null,
4089
+ renderList(_ctx.options, (option, index) => {
4090
+ return openBlock(), createElementBlock(
4091
+ Fragment,
4092
+ null,
4093
+ [
4094
+ !isGroup(option) ? (openBlock(), createElementBlock("option", {
4095
+ key: index,
4096
+ disabled: unref(isOptionDisabled)(option),
4097
+ value: unref(getOptionValue)(option)
4098
+ }, toDisplayString(unref(getOptionLabel)(option)), 9, _hoisted_7$3)) : (openBlock(), createElementBlock("optgroup", {
4099
+ key: `group-${index}`,
4100
+ disabled: unref(isOptionDisabled)(option),
4101
+ label: unref(getOptionLabel)(option)
4102
+ }, [
4103
+ (openBlock(true), createElementBlock(
4104
+ Fragment,
4105
+ null,
4106
+ renderList(unref(getOptionGrouped)(option), (item, i) => {
4107
+ return openBlock(), createElementBlock("option", {
4108
+ key: `group-${index}-item-${i}`,
4109
+ disabled: unref(isOptionDisabled)(item),
4110
+ value: unref(getOptionValue)(item)
4111
+ }, toDisplayString(unref(getOptionLabel)(item)), 9, _hoisted_9$1);
4112
+ }),
4113
+ 128
4114
+ /* KEYED_FRAGMENT */
4115
+ ))
4116
+ ], 8, _hoisted_8$2))
4117
+ ],
4118
+ 64
4119
+ /* STABLE_FRAGMENT */
4120
+ );
4121
+ }),
4122
+ 256
4123
+ /* UNKEYED_FRAGMENT */
4124
+ ))
4125
+ ], 16, _hoisted_5$3), [
4126
+ [vModelSelect, unref(localModelValue)]
4127
+ ]),
4128
+ unref(hasIconAfter) ? (openBlock(), createBlock(
4129
+ _sfc_main$t,
4130
+ mergeProps({
4131
+ key: 1,
4132
+ class: "vv-select__icon vv-select__icon-after"
4133
+ }, unref(hasIcon)),
4134
+ null,
4135
+ 16
4136
+ /* FULL_PROPS */
4137
+ )) : createCommentVNode("v-if", true)
3529
4138
  ]),
3530
- unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
3531
- key: 1,
3532
- class: "vv-select__icon vv-select__icon-after"
3533
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true)
4139
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_10, [
4140
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
4141
+ ])) : createCommentVNode("v-if", true)
3534
4142
  ]),
3535
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_10, [
3536
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
3537
- ])) : createCommentVNode("", true)
3538
- ]),
3539
- createVNode(unref(HintSlot), {
3540
- id: unref(hasHintId),
3541
- class: "vv-select__hint"
3542
- }, createSlots({ _: 2 }, [
3543
- _ctx.$slots.hint ? {
3544
- name: "hint",
3545
- fn: withCtx(() => [
3546
- renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
3547
- ]),
3548
- key: "0"
3549
- } : void 0,
3550
- _ctx.$slots.loading ? {
3551
- name: "loading",
3552
- fn: withCtx(() => [
3553
- renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
3554
- ]),
3555
- key: "1"
3556
- } : void 0,
3557
- _ctx.$slots.valid ? {
3558
- name: "valid",
3559
- fn: withCtx(() => [
3560
- renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
3561
- ]),
3562
- key: "2"
3563
- } : void 0,
3564
- _ctx.$slots.invalid ? {
3565
- name: "invalid",
3566
- fn: withCtx(() => [
3567
- renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
3568
- ]),
3569
- key: "3"
3570
- } : void 0
3571
- ]), 1032, ["id"])
3572
- ], 2);
4143
+ createVNode(unref(HintSlot), {
4144
+ id: unref(hasHintId),
4145
+ class: "vv-select__hint"
4146
+ }, createSlots({
4147
+ _: 2
4148
+ /* DYNAMIC */
4149
+ }, [
4150
+ _ctx.$slots.hint ? {
4151
+ name: "hint",
4152
+ fn: withCtx(() => [
4153
+ renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
4154
+ ]),
4155
+ key: "0"
4156
+ } : void 0,
4157
+ _ctx.$slots.loading ? {
4158
+ name: "loading",
4159
+ fn: withCtx(() => [
4160
+ renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
4161
+ ]),
4162
+ key: "1"
4163
+ } : void 0,
4164
+ _ctx.$slots.valid ? {
4165
+ name: "valid",
4166
+ fn: withCtx(() => [
4167
+ renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
4168
+ ]),
4169
+ key: "2"
4170
+ } : void 0,
4171
+ _ctx.$slots.invalid ? {
4172
+ name: "invalid",
4173
+ fn: withCtx(() => [
4174
+ renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
4175
+ ]),
4176
+ key: "3"
4177
+ } : void 0
4178
+ ]), 1032, ["id"])
4179
+ ],
4180
+ 2
4181
+ /* CLASS */
4182
+ );
3573
4183
  };
3574
4184
  }
3575
4185
  });
3576
- const _hoisted_1$7 = ["id"];
4186
+ const _hoisted_1$8 = ["id"];
3577
4187
  const _hoisted_2$5 = ["id", "for"];
3578
4188
  const _hoisted_3$3 = ["id", "aria-controls", "placeholder"];
3579
4189
  const _hoisted_4$3 = {
@@ -3591,17 +4201,17 @@ const _hoisted_9 = {
3591
4201
  key: 1,
3592
4202
  class: "vv-select__input-after"
3593
4203
  };
3594
- const __default__$6 = {
4204
+ const __default__$8 = {
3595
4205
  name: "VvCombobox",
3596
4206
  components: {
3597
- VvDropdown: _sfc_main$e,
3598
- VvDropdownOption: _sfc_main$c,
3599
- VvDropdownOptgroup: _sfc_main$b,
3600
- VvButton: _sfc_main$j
4207
+ VvDropdown: _sfc_main$h,
4208
+ VvDropdownOption: _sfc_main$f,
4209
+ VvDropdownOptgroup: _sfc_main$e,
4210
+ VvButton: _sfc_main$m
3601
4211
  }
3602
4212
  };
3603
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3604
- ...__default__$6,
4213
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
4214
+ ...__default__$8,
3605
4215
  props: VvComboboxProps,
3606
4216
  emits: VvComboboxEvents,
3607
4217
  setup(__props, { emit }) {
@@ -3651,10 +4261,10 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3651
4261
  searchText,
3652
4262
  computed(() => Number(props.debounceSearch))
3653
4263
  );
3654
- watch(
3655
- debouncedSearchText,
3656
- () => emit("change:search", debouncedSearchText.value)
3657
- );
4264
+ watch(debouncedSearchText, () => {
4265
+ emit("update:search", debouncedSearchText.value);
4266
+ emit("change:search", debouncedSearchText.value);
4267
+ });
3658
4268
  const expanded = ref(false);
3659
4269
  const toggleExpanded = () => {
3660
4270
  if (props.disabled || props.readonly)
@@ -3725,7 +4335,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3725
4335
  valid: valid.value,
3726
4336
  invalid: invalid.value,
3727
4337
  dirty: isDirty.value,
3728
- focus: focused.value,
4338
+ focus: focused.value || focusedWithin.value || expanded.value,
3729
4339
  floating: floating.value,
3730
4340
  badges: props.badges
3731
4341
  }))
@@ -3802,7 +4412,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3802
4412
  if (!props.keepOpen) {
3803
4413
  collapse();
3804
4414
  }
3805
- if (props.unselectable && value === props.modelValue) {
4415
+ if (Array.isArray(props.modelValue)) {
4416
+ if (props.unselectable && props.modelValue.includes(value)) {
4417
+ toReturn = [];
4418
+ } else {
4419
+ toReturn = [value];
4420
+ }
4421
+ } else if (props.unselectable && value === props.modelValue) {
3806
4422
  toReturn = void 0;
3807
4423
  }
3808
4424
  }
@@ -3878,208 +4494,307 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3878
4494
  key: 0,
3879
4495
  id: unref(hasLabelId),
3880
4496
  for: unref(propsDefaults).searchable ? unref(hasSearchId) : void 0
3881
- }, toDisplayString(_ctx.label), 9, _hoisted_2$5)) : createCommentVNode("", true),
3882
- createElementVNode("div", {
3883
- ref_key: "wrapperEl",
3884
- ref: wrapperEl,
3885
- class: "vv-select__wrapper"
3886
- }, [
3887
- createVNode(_sfc_main$e, mergeProps({
3888
- ref_key: "dropdownEl",
3889
- ref: dropdownEl,
3890
- modelValue: unref(expanded),
3891
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(expanded) ? expanded.value = $event : null)
3892
- }, unref(dropdownProps), {
3893
- role: unref(DropdownRole).listbox,
3894
- onAfterExpand,
3895
- onAfterCollapse
3896
- }), createSlots({
3897
- default: withCtx(({ aria }) => [
3898
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
3899
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
3900
- ])) : createCommentVNode("", true),
3901
- createElementVNode("div", _hoisted_5$2, [
3902
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
3903
- key: 0,
3904
- class: "vv-select__icon"
3905
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
3906
- createElementVNode("div", mergeProps({
3907
- ref_key: "inputEl",
3908
- ref: inputEl
3909
- }, aria, {
3910
- class: "vv-select__input",
3911
- role: "combobox",
3912
- "aria-expanded": unref(expanded),
3913
- "aria-labelledby": unref(hasLabelId),
3914
- "aria-describedby": unref(hasHintLabelOrSlot) ? unref(hasHintId) : void 0,
3915
- "aria-errormessage": unref(hasInvalidLabelOrSlot) ? unref(hasHintId) : void 0,
3916
- tabindex: unref(hasTabindex),
3917
- onClickPassive: onClickInput
3918
- }), [
3919
- renderSlot(_ctx.$slots, "value", normalizeProps(guardReactiveProps({ selectedOptions: unref(selectedOptions), onInput })), () => [
3920
- unref(hasValue) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3921
- !_ctx.badges ? (openBlock(), createElementBlock("div", _hoisted_7$2, toDisplayString(unref(hasValue)), 1)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(selectedOptions), (option, index) => {
3922
- return openBlock(), createBlock(_sfc_main$l, {
3923
- key: index,
3924
- modifiers: _ctx.badgeModifiers,
3925
- class: "vv-select__badge"
3926
- }, {
3927
- default: withCtx(() => [
3928
- createTextVNode(toDisplayString(unref(getOptionLabel)(option)) + " ", 1),
3929
- _ctx.unselectable && !unref(readonly) && !unref(disabled) ? (openBlock(), createElementBlock("button", {
3930
- key: 0,
3931
- "aria-label": unref(propsDefaults).deselectActionLabel,
3932
- type: "button",
3933
- onClick: withModifiers(($event) => onInput(option), ["stop"])
3934
- }, [
3935
- createVNode(_sfc_main$n, { name: "close" })
3936
- ], 8, _hoisted_8$1)) : createCommentVNode("", true)
3937
- ]),
3938
- _: 2
3939
- }, 1032, ["modifiers"]);
3940
- }), 128))
3941
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3942
- createTextVNode(toDisplayString(_ctx.placeholder), 1)
3943
- ], 64))
3944
- ])
3945
- ], 16, _hoisted_6$2),
3946
- unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
3947
- key: 1,
3948
- class: "vv-select__icon vv-select__icon-after"
3949
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true)
3950
- ]),
3951
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_9, [
3952
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
3953
- ])) : createCommentVNode("", true)
3954
- ]),
3955
- items: withCtx(() => {
3956
- var _a;
3957
- return [
3958
- !unref(disabled) && ((_a = unref(filteredOptions)) == null ? void 0 : _a.length) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(filteredOptions), (option, index) => {
3959
- return openBlock(), createElementBlock(Fragment, { key: index }, [
3960
- isGroup(option) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3961
- createVNode(_sfc_main$b, {
3962
- label: unref(getOptionLabel)(option)
3963
- }, null, 8, ["label"]),
3964
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(getOptionGrouped)(
3965
- option
3966
- ), (item, i) => {
3967
- return openBlock(), createBlock(_sfc_main$c, mergeProps({
3968
- selected: isOptionSelected(item),
3969
- disabled: unref(isOptionDisabled)(item),
3970
- unselectable: _ctx.unselectable,
3971
- deselectHintLabel: unref(propsDefaults).deselectHintLabel,
3972
- selectHintLabel: unref(propsDefaults).selectHintLabel,
3973
- selectedHintLabel: unref(propsDefaults).selectedHintLabel
3974
- }, {
3975
- key: i,
3976
- class: "vv-dropdown-option",
3977
- onClickPassive: ($event) => onInput(item)
3978
- }), {
3979
- default: withCtx(() => [
3980
- renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
3981
- option,
3982
- selectedOptions: unref(selectedOptions),
3983
- selected: isOptionSelected(item),
3984
- disabled: unref(isOptionDisabled)(item)
3985
- })), () => [
3986
- createTextVNode(toDisplayString(unref(getOptionLabel)(item)), 1)
3987
- ])
3988
- ]),
3989
- _: 2
3990
- }, 1040, ["onClickPassive"]);
3991
- }), 128))
3992
- ], 64)) : (openBlock(), createBlock(_sfc_main$c, mergeProps({ key: 1 }, {
3993
- selected: isOptionSelected(option),
3994
- disabled: unref(isOptionDisabled)(option),
3995
- unselectable: _ctx.unselectable,
3996
- deselectHintLabel: unref(propsDefaults).deselectHintLabel,
3997
- selectHintLabel: unref(propsDefaults).selectHintLabel,
3998
- selectedHintLabel: unref(propsDefaults).selectedHintLabel
3999
- }, {
4000
- class: "vv-dropdown-option",
4001
- onClickPassive: ($event) => onInput(option)
4002
- }), {
4003
- default: withCtx(() => [
4004
- renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
4005
- option,
4006
- selectedOptions: unref(selectedOptions),
4007
- selected: isOptionSelected(option),
4008
- disabled: unref(isOptionDisabled)(option)
4009
- })), () => [
4010
- createTextVNode(toDisplayString(unref(getOptionLabel)(option)), 1)
4011
- ])
4012
- ]),
4013
- _: 2
4014
- }, 1040, ["onClickPassive"]))
4015
- ], 64);
4016
- }), 128)) : !_ctx.options.length ? (openBlock(), createBlock(_sfc_main$c, {
4017
- key: 1,
4018
- modifiers: "inert"
4019
- }, {
4020
- default: withCtx(() => [
4021
- renderSlot(_ctx.$slots, "no-options", {}, () => [
4022
- createTextVNode(toDisplayString(unref(propsDefaults).noOptionsLabel), 1)
4023
- ])
4024
- ]),
4025
- _: 3
4026
- })) : !unref(disabled) ? (openBlock(), createBlock(_sfc_main$c, {
4027
- key: 2,
4028
- modifiers: "inert"
4029
- }, {
4030
- default: withCtx(() => [
4031
- renderSlot(_ctx.$slots, "no-results", {}, () => [
4032
- createTextVNode(toDisplayString(unref(propsDefaults).noResultsLabel), 1)
4497
+ }, toDisplayString(_ctx.label), 9, _hoisted_2$5)) : createCommentVNode("v-if", true),
4498
+ createElementVNode(
4499
+ "div",
4500
+ {
4501
+ ref_key: "wrapperEl",
4502
+ ref: wrapperEl,
4503
+ class: "vv-select__wrapper"
4504
+ },
4505
+ [
4506
+ createVNode(_sfc_main$h, mergeProps({
4507
+ ref_key: "dropdownEl",
4508
+ ref: dropdownEl,
4509
+ modelValue: unref(expanded),
4510
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(expanded) ? expanded.value = $event : null)
4511
+ }, unref(dropdownProps), {
4512
+ role: unref(DropdownRole).listbox,
4513
+ onAfterExpand,
4514
+ onAfterCollapse
4515
+ }), createSlots({
4516
+ default: withCtx(({ aria }) => [
4517
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
4518
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
4519
+ ])) : createCommentVNode("v-if", true),
4520
+ createElementVNode("div", _hoisted_5$2, [
4521
+ unref(hasIconBefore) ? (openBlock(), createBlock(
4522
+ _sfc_main$t,
4523
+ mergeProps({
4524
+ key: 0,
4525
+ class: "vv-select__icon"
4526
+ }, unref(hasIcon)),
4527
+ null,
4528
+ 16
4529
+ /* FULL_PROPS */
4530
+ )) : createCommentVNode("v-if", true),
4531
+ createElementVNode("div", mergeProps({
4532
+ ref_key: "inputEl",
4533
+ ref: inputEl
4534
+ }, aria, {
4535
+ class: "vv-select__input",
4536
+ role: "combobox",
4537
+ "aria-expanded": unref(expanded),
4538
+ "aria-labelledby": unref(hasLabelId),
4539
+ "aria-describedby": unref(hasHintLabelOrSlot) ? unref(hasHintId) : void 0,
4540
+ "aria-errormessage": unref(hasInvalidLabelOrSlot) ? unref(hasHintId) : void 0,
4541
+ tabindex: unref(hasTabindex),
4542
+ onClickPassive: onClickInput
4543
+ }), [
4544
+ renderSlot(_ctx.$slots, "value", normalizeProps(guardReactiveProps({ selectedOptions: unref(selectedOptions), onInput })), () => [
4545
+ unref(hasValue) ? (openBlock(), createElementBlock(
4546
+ Fragment,
4547
+ { key: 0 },
4548
+ [
4549
+ !_ctx.badges ? (openBlock(), createElementBlock(
4550
+ "div",
4551
+ _hoisted_7$2,
4552
+ toDisplayString(unref(hasValue)),
4553
+ 1
4554
+ /* TEXT */
4555
+ )) : (openBlock(true), createElementBlock(
4556
+ Fragment,
4557
+ { key: 1 },
4558
+ renderList(unref(selectedOptions), (option, index) => {
4559
+ return openBlock(), createBlock(_sfc_main$o, {
4560
+ key: index,
4561
+ modifiers: _ctx.badgeModifiers,
4562
+ class: "vv-select__badge"
4563
+ }, {
4564
+ default: withCtx(() => [
4565
+ createTextVNode(
4566
+ toDisplayString(unref(getOptionLabel)(option)) + " ",
4567
+ 1
4568
+ /* TEXT */
4569
+ ),
4570
+ _ctx.unselectable && !unref(readonly) && !unref(disabled) ? (openBlock(), createElementBlock("button", {
4571
+ key: 0,
4572
+ "aria-label": unref(propsDefaults).deselectActionLabel,
4573
+ type: "button",
4574
+ onClick: withModifiers(($event) => onInput(option), ["stop"])
4575
+ }, [
4576
+ createVNode(_sfc_main$t, { name: "close" })
4577
+ ], 8, _hoisted_8$1)) : createCommentVNode("v-if", true)
4578
+ ]),
4579
+ _: 2
4580
+ /* DYNAMIC */
4581
+ }, 1032, ["modifiers"]);
4582
+ }),
4583
+ 128
4584
+ /* KEYED_FRAGMENT */
4585
+ ))
4586
+ ],
4587
+ 64
4588
+ /* STABLE_FRAGMENT */
4589
+ )) : (openBlock(), createElementBlock(
4590
+ Fragment,
4591
+ { key: 1 },
4592
+ [
4593
+ createTextVNode(
4594
+ toDisplayString(_ctx.placeholder),
4595
+ 1
4596
+ /* TEXT */
4597
+ )
4598
+ ],
4599
+ 64
4600
+ /* STABLE_FRAGMENT */
4601
+ ))
4033
4602
  ])
4034
- ]),
4035
- _: 3
4036
- })) : createCommentVNode("", true)
4037
- ];
4038
- }),
4039
- after: withCtx(() => [
4040
- renderSlot(_ctx.$slots, "dropdown::after", {}, () => {
4603
+ ], 16, _hoisted_6$2),
4604
+ unref(hasIconAfter) ? (openBlock(), createBlock(
4605
+ _sfc_main$t,
4606
+ mergeProps({
4607
+ key: 1,
4608
+ class: "vv-select__icon vv-select__icon-after"
4609
+ }, unref(hasIcon)),
4610
+ null,
4611
+ 16
4612
+ /* FULL_PROPS */
4613
+ )) : createCommentVNode("v-if", true)
4614
+ ]),
4615
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_9, [
4616
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
4617
+ ])) : createCommentVNode("v-if", true)
4618
+ ]),
4619
+ items: withCtx(() => {
4041
4620
  var _a;
4042
4621
  return [
4043
- ((_a = unref(dropdownEl)) == null ? void 0 : _a.customPosition) ? (openBlock(), createBlock(_sfc_main$j, {
4044
- key: 0,
4045
- label: unref(propsDefaults).closeLabel,
4046
- modifiers: "secondary",
4047
- onClick: _cache[1] || (_cache[1] = ($event) => unref(dropdownEl).hide())
4048
- }, null, 8, ["label"])) : createCommentVNode("", true)
4622
+ !unref(disabled) && ((_a = unref(filteredOptions)) == null ? void 0 : _a.length) ? (openBlock(true), createElementBlock(
4623
+ Fragment,
4624
+ { key: 0 },
4625
+ renderList(unref(filteredOptions), (option, index) => {
4626
+ return openBlock(), createElementBlock(
4627
+ Fragment,
4628
+ { key: index },
4629
+ [
4630
+ isGroup(option) ? (openBlock(), createElementBlock(
4631
+ Fragment,
4632
+ { key: 0 },
4633
+ [
4634
+ createVNode(_sfc_main$e, {
4635
+ label: unref(getOptionLabel)(option)
4636
+ }, null, 8, ["label"]),
4637
+ (openBlock(true), createElementBlock(
4638
+ Fragment,
4639
+ null,
4640
+ renderList(unref(getOptionGrouped)(
4641
+ option
4642
+ ), (item, i) => {
4643
+ return openBlock(), createBlock(_sfc_main$f, mergeProps({
4644
+ selected: isOptionSelected(item),
4645
+ disabled: unref(isOptionDisabled)(item),
4646
+ unselectable: _ctx.unselectable,
4647
+ deselectHintLabel: unref(propsDefaults).deselectHintLabel,
4648
+ selectHintLabel: unref(propsDefaults).selectHintLabel,
4649
+ selectedHintLabel: unref(propsDefaults).selectedHintLabel
4650
+ }, {
4651
+ key: i,
4652
+ class: "vv-dropdown-option",
4653
+ onClickPassive: ($event) => onInput(item)
4654
+ }), {
4655
+ default: withCtx(() => [
4656
+ renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
4657
+ option,
4658
+ selectedOptions: unref(selectedOptions),
4659
+ selected: isOptionSelected(item),
4660
+ disabled: unref(isOptionDisabled)(item)
4661
+ })), () => [
4662
+ createTextVNode(
4663
+ toDisplayString(unref(getOptionLabel)(item)),
4664
+ 1
4665
+ /* TEXT */
4666
+ )
4667
+ ])
4668
+ ]),
4669
+ _: 2
4670
+ /* DYNAMIC */
4671
+ }, 1040, ["onClickPassive"]);
4672
+ }),
4673
+ 128
4674
+ /* KEYED_FRAGMENT */
4675
+ ))
4676
+ ],
4677
+ 64
4678
+ /* STABLE_FRAGMENT */
4679
+ )) : (openBlock(), createBlock(_sfc_main$f, mergeProps({ key: 1 }, {
4680
+ selected: isOptionSelected(option),
4681
+ disabled: unref(isOptionDisabled)(option),
4682
+ unselectable: _ctx.unselectable,
4683
+ deselectHintLabel: unref(propsDefaults).deselectHintLabel,
4684
+ selectHintLabel: unref(propsDefaults).selectHintLabel,
4685
+ selectedHintLabel: unref(propsDefaults).selectedHintLabel
4686
+ }, {
4687
+ class: "vv-dropdown-option",
4688
+ onClickPassive: ($event) => onInput(option)
4689
+ }), {
4690
+ default: withCtx(() => [
4691
+ renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps({
4692
+ option,
4693
+ selectedOptions: unref(selectedOptions),
4694
+ selected: isOptionSelected(option),
4695
+ disabled: unref(isOptionDisabled)(option)
4696
+ })), () => [
4697
+ createTextVNode(
4698
+ toDisplayString(unref(getOptionLabel)(option)),
4699
+ 1
4700
+ /* TEXT */
4701
+ )
4702
+ ])
4703
+ ]),
4704
+ _: 2
4705
+ /* DYNAMIC */
4706
+ }, 1040, ["onClickPassive"]))
4707
+ ],
4708
+ 64
4709
+ /* STABLE_FRAGMENT */
4710
+ );
4711
+ }),
4712
+ 128
4713
+ /* KEYED_FRAGMENT */
4714
+ )) : !_ctx.options.length ? (openBlock(), createBlock(_sfc_main$f, {
4715
+ key: 1,
4716
+ modifiers: "inert"
4717
+ }, {
4718
+ default: withCtx(() => [
4719
+ renderSlot(_ctx.$slots, "no-options", {}, () => [
4720
+ createTextVNode(
4721
+ toDisplayString(unref(propsDefaults).noOptionsLabel),
4722
+ 1
4723
+ /* TEXT */
4724
+ )
4725
+ ])
4726
+ ]),
4727
+ _: 3
4728
+ /* FORWARDED */
4729
+ })) : !unref(disabled) ? (openBlock(), createBlock(_sfc_main$f, {
4730
+ key: 2,
4731
+ modifiers: "inert"
4732
+ }, {
4733
+ default: withCtx(() => [
4734
+ renderSlot(_ctx.$slots, "no-results", {}, () => [
4735
+ createTextVNode(
4736
+ toDisplayString(unref(propsDefaults).noResultsLabel),
4737
+ 1
4738
+ /* TEXT */
4739
+ )
4740
+ ])
4741
+ ]),
4742
+ _: 3
4743
+ /* FORWARDED */
4744
+ })) : createCommentVNode("v-if", true)
4049
4745
  ];
4050
- })
4051
- ]),
4052
- _: 2
4053
- }, [
4054
- unref(propsDefaults).searchable || _ctx.$slots["dropdown::before"] ? {
4055
- name: "before",
4056
- fn: withCtx(() => [
4057
- renderSlot(_ctx.$slots, "dropdown::before"),
4058
- unref(propsDefaults).searchable && !unref(disabled) ? withDirectives((openBlock(), createElementBlock("input", {
4059
- key: 0,
4060
- id: unref(hasSearchId),
4061
- ref_key: "inputSearchEl",
4062
- ref: inputSearchEl,
4063
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(searchText) ? searchText.value = $event : null),
4064
- "aria-autocomplete": "list",
4065
- "aria-controls": unref(hasDropdownId),
4066
- autocomplete: "off",
4067
- spellcheck: "false",
4068
- type: "search",
4069
- class: "vv-dropdown__search",
4070
- placeholder: unref(propsDefaults).searchPlaceholder
4071
- }, null, 8, _hoisted_3$3)), [
4072
- [vModelText, unref(searchText)]
4073
- ]) : createCommentVNode("", true)
4746
+ }),
4747
+ after: withCtx(() => [
4748
+ renderSlot(_ctx.$slots, "dropdown::after", {}, () => {
4749
+ var _a;
4750
+ return [
4751
+ ((_a = unref(dropdownEl)) == null ? void 0 : _a.customPosition) ? (openBlock(), createBlock(_sfc_main$m, {
4752
+ key: 0,
4753
+ label: unref(propsDefaults).closeLabel,
4754
+ modifiers: "secondary",
4755
+ onClick: _cache[1] || (_cache[1] = ($event) => unref(dropdownEl).hide())
4756
+ }, null, 8, ["label"])) : createCommentVNode("v-if", true)
4757
+ ];
4758
+ })
4074
4759
  ]),
4075
- key: "0"
4076
- } : void 0
4077
- ]), 1040, ["modelValue", "role"])
4078
- ], 512),
4760
+ _: 2
4761
+ /* DYNAMIC */
4762
+ }, [
4763
+ unref(propsDefaults).searchable || _ctx.$slots["dropdown::before"] ? {
4764
+ name: "before",
4765
+ fn: withCtx(() => [
4766
+ renderSlot(_ctx.$slots, "dropdown::before"),
4767
+ unref(propsDefaults).searchable && !unref(disabled) ? withDirectives((openBlock(), createElementBlock("input", {
4768
+ key: 0,
4769
+ id: unref(hasSearchId),
4770
+ ref_key: "inputSearchEl",
4771
+ ref: inputSearchEl,
4772
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(searchText) ? searchText.value = $event : null),
4773
+ "aria-autocomplete": "list",
4774
+ "aria-controls": unref(hasDropdownId),
4775
+ autocomplete: "off",
4776
+ spellcheck: "false",
4777
+ type: "search",
4778
+ class: "vv-dropdown__search",
4779
+ placeholder: unref(propsDefaults).searchPlaceholder
4780
+ }, null, 8, _hoisted_3$3)), [
4781
+ [vModelText, unref(searchText)]
4782
+ ]) : createCommentVNode("v-if", true)
4783
+ ]),
4784
+ key: "0"
4785
+ } : void 0
4786
+ ]), 1040, ["modelValue", "role"])
4787
+ ],
4788
+ 512
4789
+ /* NEED_PATCH */
4790
+ ),
4079
4791
  createVNode(unref(HintSlot), {
4080
4792
  id: unref(hasHintId),
4081
4793
  class: "vv-select__hint"
4082
- }, createSlots({ _: 2 }, [
4794
+ }, createSlots({
4795
+ _: 2
4796
+ /* DYNAMIC */
4797
+ }, [
4083
4798
  _ctx.$slots.hint ? {
4084
4799
  name: "hint",
4085
4800
  fn: withCtx(() => [
@@ -4109,9 +4824,15 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
4109
4824
  key: "3"
4110
4825
  } : void 0
4111
4826
  ]), 1032, ["id"])
4112
- ], 10, _hoisted_1$7)) : (openBlock(), createBlock(_sfc_main$a, mergeProps({ key: 1 }, unref(selectProps), {
4113
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => emit("update:modelValue", $event))
4114
- }), null, 16));
4827
+ ], 10, _hoisted_1$8)) : (openBlock(), createBlock(
4828
+ _sfc_main$d,
4829
+ mergeProps({ key: 1 }, unref(selectProps), {
4830
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => emit("update:modelValue", $event))
4831
+ }),
4832
+ null,
4833
+ 16
4834
+ /* FULL_PROPS */
4835
+ ));
4115
4836
  };
4116
4837
  }
4117
4838
  });
@@ -4154,7 +4875,7 @@ const VvDialogProps = {
4154
4875
  */
4155
4876
  keepOpen: { type: Boolean, default: false }
4156
4877
  };
4157
- const _hoisted_1$6 = ["onCancel"];
4878
+ const _hoisted_1$7 = ["onCancel"];
4158
4879
  const _hoisted_2$4 = {
4159
4880
  key: 0,
4160
4881
  class: "vv-dialog__header"
@@ -4164,11 +4885,11 @@ const _hoisted_4$2 = {
4164
4885
  key: 1,
4165
4886
  class: "vv-dialog__footer"
4166
4887
  };
4167
- const __default__$5 = {
4888
+ const __default__$7 = {
4168
4889
  name: "VvDialog"
4169
4890
  };
4170
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
4171
- ...__default__$5,
4891
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
4892
+ ...__default__$7,
4172
4893
  props: VvDialogProps,
4173
4894
  emits: VvDialogEvents,
4174
4895
  setup(__props, { expose: __expose, emit }) {
@@ -4254,7 +4975,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
4254
4975
  }
4255
4976
  };
4256
4977
  return (_ctx, _cache) => {
4257
- return openBlock(), createBlock(Transition, mergeProps({ name: unref(transitioName) }, toHandlers(dialogTransitionHandlers)), {
4978
+ return openBlock(), createBlock(Transition, mergeProps({ name: unref(transitioName) }, toHandlers(dialogTransitionHandlers), { persisted: "" }), {
4258
4979
  default: withCtx(() => [
4259
4980
  withDirectives(createElementVNode("dialog", mergeProps(unref(dialogAttrs), {
4260
4981
  ref_key: "dialogEl",
@@ -4262,40 +4983,102 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
4262
4983
  class: unref(dialogClass),
4263
4984
  onCancel: withModifiers(onCancel, ["stop", "prevent"])
4264
4985
  }), [
4265
- createElementVNode("article", {
4266
- ref_key: "modalWrapper",
4267
- ref: modalWrapper,
4268
- class: "vv-dialog__wrapper"
4269
- }, [
4270
- _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("header", _hoisted_2$4, [
4271
- renderSlot(_ctx.$slots, "header", {}, () => [
4272
- createTextVNode(toDisplayString(_ctx.title) + " ", 1),
4273
- createElementVNode("button", {
4274
- type: "button",
4275
- "aria-label": "Close",
4276
- class: "vv-dialog__close",
4277
- onClickPassive: close
4278
- }, [
4279
- createVNode(_sfc_main$n, { name: "close" })
4280
- ], 32)
4281
- ])
4282
- ])) : createCommentVNode("", true),
4283
- createElementVNode("div", _hoisted_3$2, [
4284
- renderSlot(_ctx.$slots, "default")
4285
- ]),
4286
- _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", _hoisted_4$2, [
4287
- renderSlot(_ctx.$slots, "footer")
4288
- ])) : createCommentVNode("", true)
4289
- ], 512)
4290
- ], 16, _hoisted_1$6), [
4986
+ createElementVNode(
4987
+ "article",
4988
+ {
4989
+ ref_key: "modalWrapper",
4990
+ ref: modalWrapper,
4991
+ class: "vv-dialog__wrapper"
4992
+ },
4993
+ [
4994
+ _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("header", _hoisted_2$4, [
4995
+ renderSlot(_ctx.$slots, "header", {}, () => [
4996
+ createTextVNode(
4997
+ toDisplayString(_ctx.title) + " ",
4998
+ 1
4999
+ /* TEXT */
5000
+ ),
5001
+ createElementVNode(
5002
+ "button",
5003
+ {
5004
+ type: "button",
5005
+ "aria-label": "Close",
5006
+ class: "vv-dialog__close",
5007
+ onClickPassive: close
5008
+ },
5009
+ [
5010
+ createVNode(_sfc_main$t, { name: "close" })
5011
+ ],
5012
+ 32
5013
+ /* HYDRATE_EVENTS */
5014
+ )
5015
+ ])
5016
+ ])) : createCommentVNode("v-if", true),
5017
+ createElementVNode("div", _hoisted_3$2, [
5018
+ renderSlot(_ctx.$slots, "default")
5019
+ ]),
5020
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", _hoisted_4$2, [
5021
+ renderSlot(_ctx.$slots, "footer")
5022
+ ])) : createCommentVNode("v-if", true)
5023
+ ],
5024
+ 512
5025
+ /* NEED_PATCH */
5026
+ )
5027
+ ], 16, _hoisted_1$7), [
4291
5028
  [vShow, unref(isOpened)]
4292
5029
  ])
4293
5030
  ]),
4294
5031
  _: 3
5032
+ /* FORWARDED */
4295
5033
  }, 16, ["name"]);
4296
5034
  };
4297
5035
  }
4298
5036
  });
5037
+ const __default__$6 = {
5038
+ name: "VvDropdownAction"
5039
+ };
5040
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5041
+ ...__default__$6,
5042
+ props: {
5043
+ ...ActionProps,
5044
+ ...ModifiersProps
5045
+ },
5046
+ setup(__props) {
5047
+ const props = __props;
5048
+ const { modifiers } = toRefs(props);
5049
+ const bemCssClasses = useModifiers("vv-dropdown-action", modifiers);
5050
+ return (_ctx, _cache) => {
5051
+ return openBlock(), createBlock(_sfc_main$g, null, {
5052
+ default: withCtx(() => [
5053
+ createVNode(_sfc_main$u, mergeProps({
5054
+ disabled: _ctx.disabled,
5055
+ pressed: _ctx.pressed,
5056
+ active: _ctx.active,
5057
+ type: _ctx.type,
5058
+ to: _ctx.to,
5059
+ href: _ctx.href,
5060
+ target: _ctx.target,
5061
+ rel: _ctx.rel
5062
+ }, { class: unref(bemCssClasses) }), {
5063
+ default: withCtx(() => [
5064
+ renderSlot(_ctx.$slots, "default", {}, () => [
5065
+ createTextVNode(
5066
+ toDisplayString(_ctx.label),
5067
+ 1
5068
+ /* TEXT */
5069
+ )
5070
+ ])
5071
+ ]),
5072
+ _: 3
5073
+ /* FORWARDED */
5074
+ }, 16, ["class"])
5075
+ ]),
5076
+ _: 3
5077
+ /* FORWARDED */
5078
+ });
5079
+ };
5080
+ }
5081
+ });
4299
5082
  const INPUT_TYPES = {
4300
5083
  TEXT: "text",
4301
5084
  PASSWORD: "password",
@@ -4486,7 +5269,7 @@ const VvInputTextProps = {
4486
5269
  };
4487
5270
  const VvInputPasswordAction = defineComponent({
4488
5271
  components: {
4489
- VvIcon: _sfc_main$n
5272
+ VvIcon: _sfc_main$t
4490
5273
  },
4491
5274
  props: {
4492
5275
  disabled: {
@@ -4530,7 +5313,7 @@ const VvInputPasswordAction = defineComponent({
4530
5313
  };
4531
5314
  },
4532
5315
  render() {
4533
- const icon = h(_sfc_main$n, {
5316
+ const icon = h(_sfc_main$t, {
4534
5317
  name: this.activeIcon,
4535
5318
  class: "vv-input-text__icon"
4536
5319
  });
@@ -4549,7 +5332,7 @@ const VvInputPasswordAction = defineComponent({
4549
5332
  });
4550
5333
  const VvInputStepAction = defineComponent({
4551
5334
  components: {
4552
- VvIcon: _sfc_main$n
5335
+ VvIcon: _sfc_main$t
4553
5336
  },
4554
5337
  props: {
4555
5338
  disabled: {
@@ -4594,7 +5377,7 @@ const VvInputStepAction = defineComponent({
4594
5377
  });
4595
5378
  const VvInputClearAction = defineComponent({
4596
5379
  components: {
4597
- VvIcon: _sfc_main$n
5380
+ VvIcon: _sfc_main$t
4598
5381
  },
4599
5382
  props: {
4600
5383
  disabled: {
@@ -4623,7 +5406,7 @@ const VvInputClearAction = defineComponent({
4623
5406
  };
4624
5407
  },
4625
5408
  render() {
4626
- const icon = h(_sfc_main$n, {
5409
+ const icon = h(_sfc_main$t, {
4627
5410
  name: this.icon,
4628
5411
  class: "vv-input-text__icon"
4629
5412
  });
@@ -4644,7 +5427,7 @@ function VvInputTextActionsFactory(type, parentProps) {
4644
5427
  return {
4645
5428
  name: "VvInputTextActions",
4646
5429
  components: {
4647
- VvIcon: _sfc_main$n,
5430
+ VvIcon: _sfc_main$t,
4648
5431
  VvInputPasswordAction,
4649
5432
  VvInputStepAction,
4650
5433
  VvInputClearAction
@@ -4771,7 +5554,7 @@ function useTextCount(text, options) {
4771
5554
  formatted
4772
5555
  };
4773
5556
  }
4774
- const _hoisted_1$5 = ["for"];
5557
+ const _hoisted_1$6 = ["for"];
4775
5558
  const _hoisted_2$3 = { class: "vv-input-text__wrapper" };
4776
5559
  const _hoisted_3$1 = {
4777
5560
  key: 0,
@@ -4791,11 +5574,11 @@ const _hoisted_8 = {
4791
5574
  key: 6,
4792
5575
  class: "vv-input-text__limit"
4793
5576
  };
4794
- const __default__$4 = {
5577
+ const __default__$5 = {
4795
5578
  name: "VvInputText"
4796
5579
  };
4797
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4798
- ...__default__$4,
5580
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
5581
+ ...__default__$5,
4799
5582
  props: VvInputTextProps,
4800
5583
  emits: VvInputTextEvents,
4801
5584
  setup(__props, { expose: __expose, emit }) {
@@ -4962,7 +5745,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4962
5745
  return;
4963
5746
  }
4964
5747
  inputEl.value.stepUp();
4965
- localModelValue.value = unref(inputEl).value;
5748
+ localModelValue.value = Number(unref(inputEl).value);
4966
5749
  }
4967
5750
  };
4968
5751
  const onStepDown = () => {
@@ -4972,7 +5755,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4972
5755
  return;
4973
5756
  }
4974
5757
  inputEl.value.stepDown();
4975
- localModelValue.value = unref(inputEl).value;
5758
+ localModelValue.value = Number(unref(inputEl).value);
4976
5759
  }
4977
5760
  };
4978
5761
  const isSearch = computed(() => props.type === INPUT_TYPES.SEARCH);
@@ -5136,177 +5919,250 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5136
5919
  emit("keydown", event);
5137
5920
  };
5138
5921
  return (_ctx, _cache) => {
5139
- return openBlock(), createElementBlock("div", {
5140
- class: normalizeClass(unref(bemCssClasses))
5141
- }, [
5142
- unref(label) ? (openBlock(), createElementBlock("label", {
5143
- key: 0,
5144
- for: unref(hasId),
5145
- class: "vv-input-text__label"
5146
- }, toDisplayString(unref(label)), 9, _hoisted_1$5)) : createCommentVNode("", true),
5147
- createElementVNode("div", _hoisted_2$3, [
5148
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
5149
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
5150
- ])) : createCommentVNode("", true),
5151
- createElementVNode("div", {
5152
- ref_key: "innerEl",
5153
- ref: innerEl,
5154
- class: "vv-input-text__inner",
5155
- onClick: withModifiers(onClickInner, ["stop"])
5156
- }, [
5157
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
5158
- key: 0,
5159
- class: "vv-input-text__icon"
5160
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
5161
- createElementVNode("input", mergeProps({
5162
- id: unref(hasId),
5163
- ref_key: "inputEl",
5164
- ref: inputEl
5165
- }, unref(hasAttrs), {
5166
- style: unref(hasStyle),
5167
- onKeyup: _cache[0] || (_cache[0] = ($event) => emit("keyup", $event)),
5168
- onKeydown: onKeyDown,
5169
- onKeypress: _cache[1] || (_cache[1] = ($event) => emit("keypress", $event))
5170
- }), null, 16, _hoisted_5$1),
5171
- (_ctx.unit || _ctx.$slots.unit) && unref(isDirty) ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
5172
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
5173
- createTextVNode(toDisplayString(_ctx.unit), 1)
5922
+ return openBlock(), createElementBlock(
5923
+ "div",
5924
+ {
5925
+ class: normalizeClass(unref(bemCssClasses))
5926
+ },
5927
+ [
5928
+ unref(label) ? (openBlock(), createElementBlock("label", {
5929
+ key: 0,
5930
+ for: unref(hasId),
5931
+ class: "vv-input-text__label"
5932
+ }, toDisplayString(unref(label)), 9, _hoisted_1$6)) : createCommentVNode("v-if", true),
5933
+ createElementVNode("div", _hoisted_2$3, [
5934
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
5935
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
5936
+ ])) : createCommentVNode("v-if", true),
5937
+ createElementVNode("div", {
5938
+ ref_key: "innerEl",
5939
+ ref: innerEl,
5940
+ class: "vv-input-text__inner",
5941
+ onClick: withModifiers(onClickInner, ["stop"])
5942
+ }, [
5943
+ unref(hasIconBefore) ? (openBlock(), createBlock(
5944
+ _sfc_main$t,
5945
+ mergeProps({
5946
+ key: 0,
5947
+ class: "vv-input-text__icon"
5948
+ }, unref(hasIcon)),
5949
+ null,
5950
+ 16
5951
+ /* FULL_PROPS */
5952
+ )) : createCommentVNode("v-if", true),
5953
+ createElementVNode("input", mergeProps({
5954
+ id: unref(hasId),
5955
+ ref_key: "inputEl",
5956
+ ref: inputEl
5957
+ }, unref(hasAttrs), {
5958
+ style: unref(hasStyle),
5959
+ onKeyup: _cache[0] || (_cache[0] = ($event) => emit("keyup", $event)),
5960
+ onKeydown: onKeyDown,
5961
+ onKeypress: _cache[1] || (_cache[1] = ($event) => emit("keypress", $event))
5962
+ }), null, 16, _hoisted_5$1),
5963
+ (_ctx.unit || _ctx.$slots.unit) && unref(isDirty) ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
5964
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
5965
+ createTextVNode(
5966
+ toDisplayString(_ctx.unit),
5967
+ 1
5968
+ /* TEXT */
5969
+ )
5970
+ ])
5971
+ ])) : createCommentVNode("v-if", true)
5972
+ ], 8, _hoisted_4$1),
5973
+ unref(hasIconAfter) || unref(defaultAfterIcon) ? (openBlock(), createBlock(
5974
+ _sfc_main$t,
5975
+ mergeProps({
5976
+ key: 1,
5977
+ class: "vv-input-text__icon vv-input-text__icon-after"
5978
+ }, unref(hasIconAfter) ? unref(hasIcon) : unref(defaultAfterIcon)),
5979
+ null,
5980
+ 16
5981
+ /* FULL_PROPS */
5982
+ )) : unref(isPassword) && !_ctx.hideActions && unref(isClickable) ? (openBlock(), createBlock(unref(PasswordInputActions), {
5983
+ key: 2,
5984
+ onTogglePassword
5985
+ })) : unref(isNumber) && !_ctx.hideActions && unref(isClickable) ? (openBlock(), createBlock(unref(NumberInputActions), {
5986
+ key: 3,
5987
+ onStepUp,
5988
+ onStepDown
5989
+ })) : unref(isSearch) && !_ctx.hideActions && unref(isClickable) ? (openBlock(), createBlock(unref(SearchInputActions), {
5990
+ key: 4,
5991
+ onClear
5992
+ })) : createCommentVNode("v-if", true),
5993
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_7$1, [
5994
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
5995
+ ])) : createCommentVNode("v-if", true),
5996
+ unref(count) ? (openBlock(), createElementBlock("span", _hoisted_8, [
5997
+ renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
5998
+ createTextVNode(
5999
+ toDisplayString(unref(countFormatted)),
6000
+ 1
6001
+ /* TEXT */
6002
+ )
5174
6003
  ])
5175
- ])) : createCommentVNode("", true)
5176
- ], 8, _hoisted_4$1),
5177
- unref(hasIconAfter) || unref(defaultAfterIcon) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
5178
- key: 1,
5179
- class: "vv-input-text__icon vv-input-text__icon-after"
5180
- }, unref(hasIconAfter) ? unref(hasIcon) : unref(defaultAfterIcon)), null, 16)) : unref(isPassword) && !_ctx.hideActions && unref(isClickable) ? (openBlock(), createBlock(unref(PasswordInputActions), {
5181
- key: 2,
5182
- onTogglePassword
5183
- })) : unref(isNumber) && !_ctx.hideActions && unref(isClickable) ? (openBlock(), createBlock(unref(NumberInputActions), {
5184
- key: 3,
5185
- onStepUp,
5186
- onStepDown
5187
- })) : unref(isSearch) && !_ctx.hideActions && unref(isClickable) ? (openBlock(), createBlock(unref(SearchInputActions), {
5188
- key: 4,
5189
- onClear
5190
- })) : createCommentVNode("", true),
5191
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_7$1, [
5192
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
5193
- ])) : createCommentVNode("", true),
5194
- unref(count) ? (openBlock(), createElementBlock("span", _hoisted_8, [
5195
- renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
5196
- createTextVNode(toDisplayString(unref(countFormatted)), 1)
5197
- ])
5198
- ])) : createCommentVNode("", true)
5199
- ]),
5200
- createVNode(unref(HintSlot), {
5201
- id: unref(hasHintId),
5202
- class: "vv-input-text__hint"
5203
- }, createSlots({ _: 2 }, [
5204
- _ctx.$slots.hint ? {
5205
- name: "hint",
5206
- fn: withCtx(() => [
5207
- renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5208
- ]),
5209
- key: "0"
5210
- } : void 0,
5211
- _ctx.$slots.loading ? {
5212
- name: "loading",
5213
- fn: withCtx(() => [
5214
- renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5215
- ]),
5216
- key: "1"
5217
- } : void 0,
5218
- _ctx.$slots.valid ? {
5219
- name: "valid",
5220
- fn: withCtx(() => [
5221
- renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5222
- ]),
5223
- key: "2"
5224
- } : void 0,
5225
- _ctx.$slots.invalid ? {
5226
- name: "invalid",
5227
- fn: withCtx(() => [
5228
- renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5229
- ]),
5230
- key: "3"
5231
- } : void 0
5232
- ]), 1032, ["id"])
5233
- ], 2);
6004
+ ])) : createCommentVNode("v-if", true)
6005
+ ]),
6006
+ createVNode(unref(HintSlot), {
6007
+ id: unref(hasHintId),
6008
+ class: "vv-input-text__hint"
6009
+ }, createSlots({
6010
+ _: 2
6011
+ /* DYNAMIC */
6012
+ }, [
6013
+ _ctx.$slots.hint ? {
6014
+ name: "hint",
6015
+ fn: withCtx(() => [
6016
+ renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6017
+ ]),
6018
+ key: "0"
6019
+ } : void 0,
6020
+ _ctx.$slots.loading ? {
6021
+ name: "loading",
6022
+ fn: withCtx(() => [
6023
+ renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6024
+ ]),
6025
+ key: "1"
6026
+ } : void 0,
6027
+ _ctx.$slots.valid ? {
6028
+ name: "valid",
6029
+ fn: withCtx(() => [
6030
+ renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6031
+ ]),
6032
+ key: "2"
6033
+ } : void 0,
6034
+ _ctx.$slots.invalid ? {
6035
+ name: "invalid",
6036
+ fn: withCtx(() => [
6037
+ renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6038
+ ]),
6039
+ key: "3"
6040
+ } : void 0
6041
+ ]), 1032, ["id"])
6042
+ ],
6043
+ 2
6044
+ /* CLASS */
6045
+ );
5234
6046
  };
5235
6047
  }
5236
6048
  });
5237
6049
  const VvNavProps = {
5238
6050
  ...ModifiersProps,
5239
- items: {
5240
- type: Array,
5241
- required: true,
5242
- default: () => []
5243
- }
6051
+ ...NavProps
5244
6052
  };
5245
6053
  const VvNavEvents = ["click"];
5246
- const _hoisted_1$4 = {
5247
- class: "vv-nav__menu",
5248
- role: "menu",
5249
- "aria-busy": "true"
6054
+ const _hoisted_1$5 = {
6055
+ class: "vv-nav__item",
6056
+ role: "presentation"
5250
6057
  };
5251
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6058
+ const __default__$4 = {
6059
+ name: "VvNavItem",
6060
+ inheritAttrs: false
6061
+ };
6062
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
6063
+ ...__default__$4,
6064
+ setup(__props) {
6065
+ return (_ctx, _cache) => {
6066
+ return openBlock(), createElementBlock("li", _hoisted_1$5, [
6067
+ createVNode(
6068
+ _sfc_main$u,
6069
+ mergeProps(_ctx.$attrs, { class: "vv-nav__item-label" }),
6070
+ {
6071
+ default: withCtx(() => [
6072
+ renderSlot(_ctx.$slots, "default")
6073
+ ]),
6074
+ _: 3
6075
+ /* FORWARDED */
6076
+ },
6077
+ 16
6078
+ /* FULL_PROPS */
6079
+ )
6080
+ ]);
6081
+ };
6082
+ }
6083
+ });
6084
+ const _hoisted_1$4 = ["onClick"];
6085
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5252
6086
  __name: "VvNav",
5253
6087
  props: VvNavProps,
5254
6088
  emits: VvNavEvents,
5255
6089
  setup(__props, { emit }) {
5256
6090
  const props = __props;
5257
- const { modifiers, items } = toRefs(props);
5258
- const activeItem = ref(null);
5259
- const bemCssClasses = useModifiers("vv-nav", modifiers);
5260
- const localItems = computed(() => {
5261
- return items.value.map((item, index) => {
5262
- return {
5263
- ...item,
5264
- id: item.id || `nav-item_${index}`
5265
- };
5266
- });
5267
- });
5268
- function onClick(item) {
5269
- if (!item.disabled) {
6091
+ const { modifiers } = toRefs(props);
6092
+ const onClick = (event) => {
6093
+ var _a;
6094
+ const target = event.target;
6095
+ if (target == null ? void 0 : target.dataset.index) {
6096
+ const index = parseInt(target.dataset.index);
6097
+ const item = (_a = props.items) == null ? void 0 : _a[index];
6098
+ if (!item || (item == null ? void 0 : item.disabled)) {
6099
+ return;
6100
+ }
5270
6101
  emit("click", item);
5271
- activeItem.value = item.id;
5272
6102
  }
5273
- }
6103
+ };
6104
+ const bemCssClasses = useModifiers("vv-nav", modifiers);
5274
6105
  return (_ctx, _cache) => {
5275
- return openBlock(), createElementBlock("nav", {
5276
- class: normalizeClass(unref(bemCssClasses))
5277
- }, [
5278
- createElementVNode("ul", _hoisted_1$4, [
5279
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(localItems), (navItem) => {
5280
- return openBlock(), createElementBlock("li", {
5281
- key: navItem.id,
5282
- class: "vv-nav__item",
5283
- role: "presentation"
5284
- }, [
5285
- createVNode(_sfc_main$o, mergeProps({
5286
- disabled: navItem.disabled,
5287
- to: navItem.to,
5288
- href: navItem.href,
5289
- tabindex: 0
5290
- }, {
5291
- class: [{
5292
- current: unref(activeItem) == navItem.id,
5293
- disabled: navItem.disabled
5294
- }, "vv-nav__item-label"]
5295
- }, toHandlers(navItem.on), {
5296
- onClick: ($event) => onClick(navItem)
5297
- }), {
5298
- default: withCtx(() => [
5299
- createTextVNode(toDisplayString(navItem.title), 1)
5300
- ]),
5301
- _: 2
5302
- }, 1040, ["class", "onClick"])
5303
- ]);
5304
- }), 128))
5305
- ])
5306
- ], 2);
6106
+ return openBlock(), createElementBlock(
6107
+ "nav",
6108
+ {
6109
+ class: normalizeClass(unref(bemCssClasses))
6110
+ },
6111
+ [
6112
+ createElementVNode("ul", {
6113
+ class: "vv-nav__menu",
6114
+ role: "menu",
6115
+ "aria-busy": "true",
6116
+ onClick: withModifiers(onClick, ["stop"])
6117
+ }, [
6118
+ renderSlot(_ctx.$slots, "default", {}, () => [
6119
+ (openBlock(true), createElementBlock(
6120
+ Fragment,
6121
+ null,
6122
+ renderList(_ctx.items, ({ on = {}, data, ...item }, index) => {
6123
+ return openBlock(), createBlock(_sfc_main$8, mergeProps({
6124
+ key: index,
6125
+ "data-index": index
6126
+ }, item, toHandlers(on)), {
6127
+ default: withCtx(() => [
6128
+ renderSlot(_ctx.$slots, "item", normalizeProps(guardReactiveProps({ item, data, index })))
6129
+ ]),
6130
+ _: 2
6131
+ /* DYNAMIC */
6132
+ }, 1040, ["data-index"]);
6133
+ }),
6134
+ 128
6135
+ /* KEYED_FRAGMENT */
6136
+ ))
6137
+ ])
6138
+ ], 8, _hoisted_1$4)
6139
+ ],
6140
+ 2
6141
+ /* CLASS */
6142
+ );
5307
6143
  };
5308
6144
  }
5309
6145
  });
6146
+ const _sfc_main$6 = {
6147
+ name: "VvNavSeparator"
6148
+ };
6149
+ const _export_sfc = (sfc, props) => {
6150
+ const target = sfc.__vccOpts || sfc;
6151
+ for (const [key, val] of props) {
6152
+ target[key] = val;
6153
+ }
6154
+ return target;
6155
+ };
6156
+ const _hoisted_1$3 = {
6157
+ class: "vv-nav__separator",
6158
+ role: "separator"
6159
+ };
6160
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6161
+ return openBlock(), createElementBlock("li", _hoisted_1$3, [
6162
+ renderSlot(_ctx.$slots, "default")
6163
+ ]);
6164
+ }
6165
+ const VvNavSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render]]);
5310
6166
  const VvProgressProps = {
5311
6167
  ...ModifiersProps,
5312
6168
  /**
@@ -5354,12 +6210,18 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
5354
6210
  computed(() => ({ indeterminate: indeterminate.value }))
5355
6211
  );
5356
6212
  return (_ctx, _cache) => {
5357
- return openBlock(), createElementBlock("progress", mergeProps({ role: "progressbar" }, {
5358
- class: unref(bemCssClasses),
5359
- ariaLabel: unref(ariaLabel),
5360
- max: unref(max),
5361
- value: unref(value)
5362
- }), null, 16);
6213
+ return openBlock(), createElementBlock(
6214
+ "progress",
6215
+ mergeProps({ role: "progressbar" }, {
6216
+ class: unref(bemCssClasses),
6217
+ ariaLabel: unref(ariaLabel),
6218
+ max: unref(max),
6219
+ value: unref(value)
6220
+ }),
6221
+ null,
6222
+ 16
6223
+ /* FULL_PROPS */
6224
+ );
5363
6225
  };
5364
6226
  }
5365
6227
  });
@@ -5396,7 +6258,7 @@ function useGroupProps(props, emit) {
5396
6258
  disabled
5397
6259
  };
5398
6260
  }
5399
- const _hoisted_1$3 = ["for"];
6261
+ const _hoisted_1$2 = ["for"];
5400
6262
  const _hoisted_2$2 = ["id", "name", "disabled", "value", "tabindex", "aria-invalid", "aria-describedby", "aria-errormessage"];
5401
6263
  const __default__$2 = {
5402
6264
  name: "VvRadio"
@@ -5487,12 +6349,19 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
5487
6349
  [vModelRadio, unref(localModelValue)]
5488
6350
  ]),
5489
6351
  renderSlot(_ctx.$slots, "default", { value: unref(modelValue) }, () => [
5490
- createTextVNode(toDisplayString(_ctx.label), 1)
6352
+ createTextVNode(
6353
+ toDisplayString(_ctx.label),
6354
+ 1
6355
+ /* TEXT */
6356
+ )
5491
6357
  ]),
5492
6358
  createVNode(unref(HintSlot), {
5493
6359
  id: unref(hasHintId),
5494
6360
  class: "vv-radio__hint"
5495
- }, createSlots({ _: 2 }, [
6361
+ }, createSlots({
6362
+ _: 2
6363
+ /* DYNAMIC */
6364
+ }, [
5496
6365
  _ctx.$slots.hint ? {
5497
6366
  name: "hint",
5498
6367
  fn: withCtx(() => [
@@ -5522,13 +6391,13 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
5522
6391
  key: "3"
5523
6392
  } : void 0
5524
6393
  ]), 1032, ["id"])
5525
- ], 10, _hoisted_1$3);
6394
+ ], 10, _hoisted_1$2);
5526
6395
  };
5527
6396
  }
5528
6397
  });
5529
6398
  const VvRadioGroupProps = CheckboxRadioGroupProps;
5530
6399
  const VvRadioGroupEvents = ["update:modelValue", "change"];
5531
- const _hoisted_1$2 = ["textContent"];
6400
+ const _hoisted_1$1 = ["textContent"];
5532
6401
  const _hoisted_2$1 = { class: "vv-radio-group__wrapper" };
5533
6402
  const __default__$1 = {
5534
6403
  name: "VvRadioGroup"
@@ -5577,62 +6446,94 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
5577
6446
  };
5578
6447
  const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
5579
6448
  return (_ctx, _cache) => {
5580
- return openBlock(), createElementBlock("fieldset", {
5581
- class: normalizeClass(unref(bemCssClasses))
5582
- }, [
5583
- _ctx.label ? (openBlock(), createElementBlock("legend", {
5584
- key: 0,
5585
- textContent: toDisplayString(_ctx.label)
5586
- }, null, 8, _hoisted_1$2)) : createCommentVNode("", true),
5587
- createElementVNode("div", _hoisted_2$1, [
5588
- _ctx.options.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.options, (option, index) => {
5589
- return openBlock(), createBlock(_sfc_main$4, mergeProps({ key: index }, getOptionProps(option, index)), null, 16);
5590
- }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })
5591
- ]),
5592
- createVNode(unref(HintSlot), { class: "vv-radio-group__hint" }, createSlots({ _: 2 }, [
5593
- _ctx.$slots.hint ? {
5594
- name: "hint",
5595
- fn: withCtx(() => [
5596
- renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5597
- ]),
5598
- key: "0"
5599
- } : void 0,
5600
- _ctx.$slots.loading ? {
5601
- name: "loading",
5602
- fn: withCtx(() => [
5603
- renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5604
- ]),
5605
- key: "1"
5606
- } : void 0,
5607
- _ctx.$slots.valid ? {
5608
- name: "valid",
5609
- fn: withCtx(() => [
5610
- renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5611
- ]),
5612
- key: "2"
5613
- } : void 0,
5614
- _ctx.$slots.invalid ? {
5615
- name: "invalid",
5616
- fn: withCtx(() => [
5617
- renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6449
+ return openBlock(), createElementBlock(
6450
+ "fieldset",
6451
+ {
6452
+ class: normalizeClass(unref(bemCssClasses))
6453
+ },
6454
+ [
6455
+ _ctx.label ? (openBlock(), createElementBlock("legend", {
6456
+ key: 0,
6457
+ textContent: toDisplayString(_ctx.label)
6458
+ }, null, 8, _hoisted_1$1)) : createCommentVNode("v-if", true),
6459
+ createElementVNode("div", _hoisted_2$1, [
6460
+ _ctx.options.length > 0 ? (openBlock(true), createElementBlock(
6461
+ Fragment,
6462
+ { key: 0 },
6463
+ renderList(_ctx.options, (option, index) => {
6464
+ return openBlock(), createBlock(
6465
+ _sfc_main$4,
6466
+ mergeProps({ key: index }, getOptionProps(option, index)),
6467
+ null,
6468
+ 16
6469
+ /* FULL_PROPS */
6470
+ );
6471
+ }),
6472
+ 128
6473
+ /* KEYED_FRAGMENT */
6474
+ )) : renderSlot(_ctx.$slots, "default", { key: 1 })
6475
+ ]),
6476
+ createVNode(
6477
+ unref(HintSlot),
6478
+ { class: "vv-radio-group__hint" },
6479
+ createSlots({
6480
+ _: 2
6481
+ /* DYNAMIC */
6482
+ }, [
6483
+ _ctx.$slots.hint ? {
6484
+ name: "hint",
6485
+ fn: withCtx(() => [
6486
+ renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6487
+ ]),
6488
+ key: "0"
6489
+ } : void 0,
6490
+ _ctx.$slots.loading ? {
6491
+ name: "loading",
6492
+ fn: withCtx(() => [
6493
+ renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6494
+ ]),
6495
+ key: "1"
6496
+ } : void 0,
6497
+ _ctx.$slots.valid ? {
6498
+ name: "valid",
6499
+ fn: withCtx(() => [
6500
+ renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6501
+ ]),
6502
+ key: "2"
6503
+ } : void 0,
6504
+ _ctx.$slots.invalid ? {
6505
+ name: "invalid",
6506
+ fn: withCtx(() => [
6507
+ renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6508
+ ]),
6509
+ key: "3"
6510
+ } : void 0
5618
6511
  ]),
5619
- key: "3"
5620
- } : void 0
5621
- ]), 1024)
5622
- ], 2);
6512
+ 1024
6513
+ /* DYNAMIC_SLOTS */
6514
+ )
6515
+ ],
6516
+ 2
6517
+ /* CLASS */
6518
+ );
5623
6519
  };
5624
6520
  }
5625
6521
  });
5626
6522
  const VvTabProps = {
5627
6523
  ...ModifiersProps,
6524
+ navModifiers: {
6525
+ type: [String, Array]
6526
+ },
6527
+ modelValue: {
6528
+ type: String,
6529
+ default: ""
6530
+ },
5628
6531
  items: {
5629
6532
  type: Array,
5630
- required: true,
5631
6533
  default: () => []
5632
6534
  }
5633
6535
  };
5634
- const VvTabEvents = ["click"];
5635
- const _hoisted_1$1 = ["id"];
6536
+ const VvTabEvents = ["update:modelValue"];
5636
6537
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
5637
6538
  __name: "VvTab",
5638
6539
  props: VvTabProps,
@@ -5640,41 +6541,99 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
5640
6541
  setup(__props, { emit }) {
5641
6542
  const props = __props;
5642
6543
  const { modifiers, items } = toRefs(props);
5643
- const activeTab = ref(null);
5644
- const bemCssClasses = useModifiers("vv-tab", modifiers);
5645
- const localItems = computed(() => {
5646
- return items.value.map((item, index) => {
5647
- return {
5648
- ...item,
5649
- id: item.id || `tab-item_${index}`
5650
- };
5651
- });
6544
+ const tabKeys = computed(() => {
6545
+ return items.value.reduce((acc, item) => {
6546
+ if (item.tab) {
6547
+ acc.push(item.tab);
6548
+ }
6549
+ return acc;
6550
+ }, []);
5652
6551
  });
5653
- function onClick(item) {
5654
- if (!item.disabled) {
5655
- emit("click", item);
5656
- activeTab.value = item.id;
6552
+ const localModelValue = ref();
6553
+ const activeTabKey = computed({
6554
+ get: () => {
6555
+ var _a;
6556
+ return props.modelValue || localModelValue.value || ((_a = tabKeys.value) == null ? void 0 : _a[0]);
6557
+ },
6558
+ set: (newValue) => {
6559
+ localModelValue.value = newValue;
6560
+ emit("update:modelValue", newValue);
5657
6561
  }
5658
- }
6562
+ });
6563
+ const hasNavModifiers = computed(() => {
6564
+ var _a;
6565
+ return [
6566
+ "tabs",
6567
+ ...Array.isArray(props.navModifiers) ? props.navModifiers : ((_a = props.navModifiers) == null ? void 0 : _a.split(" ")) ?? []
6568
+ ];
6569
+ });
6570
+ const onNavClick = (item) => {
6571
+ if (item.tab) {
6572
+ activeTabKey.value = item.tab;
6573
+ }
6574
+ };
6575
+ const navItems = computed(
6576
+ () => props.items.map((item) => ({
6577
+ current: item.tab === activeTabKey.value,
6578
+ ...item
6579
+ }))
6580
+ );
6581
+ const bemCssClasses = useModifiers("vv-tab", modifiers);
5659
6582
  return (_ctx, _cache) => {
5660
- return openBlock(), createElementBlock("div", {
5661
- class: normalizeClass(unref(bemCssClasses))
5662
- }, [
5663
- createVNode(_sfc_main$6, {
5664
- items: unref(localItems),
5665
- modifiers: "tabs full",
5666
- onClick
5667
- }, null, 8, ["items"]),
5668
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(localItems), (item) => {
5669
- return openBlock(), createElementBlock("article", {
5670
- id: item.id,
5671
- key: item.id,
5672
- class: normalizeClass([{ target: unref(activeTab) === item.id }, "vv-tab__panel"])
5673
- }, [
5674
- renderSlot(_ctx.$slots, `${item.id}`)
5675
- ], 10, _hoisted_1$1);
5676
- }), 128))
5677
- ], 2);
6583
+ return openBlock(), createElementBlock(
6584
+ "div",
6585
+ {
6586
+ class: normalizeClass(unref(bemCssClasses))
6587
+ },
6588
+ [
6589
+ createVNode(
6590
+ _sfc_main$7,
6591
+ mergeProps({
6592
+ items: unref(navItems),
6593
+ modifiers: unref(hasNavModifiers)
6594
+ }, { onClick: onNavClick }),
6595
+ {
6596
+ item: withCtx(({ item, index }) => [
6597
+ renderSlot(_ctx.$slots, "nav-item", normalizeProps(guardReactiveProps({ item, index })))
6598
+ ]),
6599
+ _: 3
6600
+ /* FORWARDED */
6601
+ },
6602
+ 16
6603
+ /* FULL_PROPS */
6604
+ ),
6605
+ (openBlock(true), createElementBlock(
6606
+ Fragment,
6607
+ null,
6608
+ renderList(unref(items), (item, index) => {
6609
+ return openBlock(), createElementBlock(
6610
+ Fragment,
6611
+ { key: index },
6612
+ [
6613
+ item.tab ? (openBlock(), createElementBlock(
6614
+ "article",
6615
+ {
6616
+ key: 0,
6617
+ class: normalizeClass([{ target: unref(activeTabKey) === item.tab }, "vv-tab__panel"])
6618
+ },
6619
+ [
6620
+ renderSlot(_ctx.$slots, `panel::${item.tab}`)
6621
+ ],
6622
+ 2
6623
+ /* CLASS */
6624
+ )) : createCommentVNode("v-if", true)
6625
+ ],
6626
+ 64
6627
+ /* STABLE_FRAGMENT */
6628
+ );
6629
+ }),
6630
+ 128
6631
+ /* KEYED_FRAGMENT */
6632
+ ))
6633
+ ],
6634
+ 2
6635
+ /* CLASS */
6636
+ );
5678
6637
  };
5679
6638
  }
5680
6639
  });
@@ -5822,7 +6781,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5822
6781
  "icon-after": hasIconAfter.value,
5823
6782
  floating: props.floating && !isEmpty(props.label),
5824
6783
  dirty: isDirty.value,
5825
- focused: focused.value,
6784
+ focus: focused.value,
5826
6785
  resizable: props.resizable
5827
6786
  }))
5828
6787
  );
@@ -5859,81 +6818,106 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5859
6818
  localModelValue.value = void 0;
5860
6819
  };
5861
6820
  return (_ctx, _cache) => {
5862
- return openBlock(), createElementBlock("div", {
5863
- class: normalizeClass(unref(bemCssClasses))
5864
- }, [
5865
- unref(label) ? (openBlock(), createElementBlock("label", {
5866
- key: 0,
5867
- for: unref(hasId),
5868
- class: "vv-textarea__label"
5869
- }, toDisplayString(unref(label)), 9, _hoisted_1)) : createCommentVNode("", true),
5870
- createElementVNode("div", _hoisted_2, [
5871
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3, [
5872
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
5873
- ])) : createCommentVNode("", true),
5874
- createElementVNode("div", _hoisted_4, [
5875
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
5876
- key: 0,
5877
- class: "vv-textarea__icon"
5878
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
5879
- withDirectives(createElementVNode("textarea", mergeProps({
5880
- id: unref(hasId),
5881
- ref_key: "textarea",
5882
- ref: textarea,
5883
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
5884
- }, unref(hasAttrs), {
5885
- onKeyup: _cache[1] || (_cache[1] = ($event) => emit("keyup", $event))
5886
- }), null, 16, _hoisted_5), [
5887
- [vModelText, unref(localModelValue)]
6821
+ return openBlock(), createElementBlock(
6822
+ "div",
6823
+ {
6824
+ class: normalizeClass(unref(bemCssClasses))
6825
+ },
6826
+ [
6827
+ unref(label) ? (openBlock(), createElementBlock("label", {
6828
+ key: 0,
6829
+ for: unref(hasId),
6830
+ class: "vv-textarea__label"
6831
+ }, toDisplayString(unref(label)), 9, _hoisted_1)) : createCommentVNode("v-if", true),
6832
+ createElementVNode("div", _hoisted_2, [
6833
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3, [
6834
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
6835
+ ])) : createCommentVNode("v-if", true),
6836
+ createElementVNode("div", _hoisted_4, [
6837
+ unref(hasIconBefore) ? (openBlock(), createBlock(
6838
+ _sfc_main$t,
6839
+ mergeProps({
6840
+ key: 0,
6841
+ class: "vv-textarea__icon"
6842
+ }, unref(hasIcon)),
6843
+ null,
6844
+ 16
6845
+ /* FULL_PROPS */
6846
+ )) : createCommentVNode("v-if", true),
6847
+ withDirectives(createElementVNode("textarea", mergeProps({
6848
+ id: unref(hasId),
6849
+ ref_key: "textarea",
6850
+ ref: textarea,
6851
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
6852
+ }, unref(hasAttrs), {
6853
+ onKeyup: _cache[1] || (_cache[1] = ($event) => emit("keyup", $event))
6854
+ }), null, 16, _hoisted_5), [
6855
+ [vModelText, unref(localModelValue)]
6856
+ ]),
6857
+ unref(hasIconAfter) ? (openBlock(), createBlock(
6858
+ _sfc_main$t,
6859
+ mergeProps({
6860
+ key: 1,
6861
+ class: "vv-textarea__icon vv-textarea__icon-after"
6862
+ }, unref(hasIcon)),
6863
+ null,
6864
+ 16
6865
+ /* FULL_PROPS */
6866
+ )) : createCommentVNode("v-if", true)
5888
6867
  ]),
5889
- unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$n, mergeProps({
5890
- key: 1,
5891
- class: "vv-textarea__icon vv-textarea__icon-after"
5892
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true)
6868
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_6, [
6869
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
6870
+ ])) : createCommentVNode("v-if", true),
6871
+ unref(count) ? (openBlock(), createElementBlock("span", _hoisted_7, [
6872
+ renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
6873
+ createTextVNode(
6874
+ toDisplayString(unref(countFormatted)),
6875
+ 1
6876
+ /* TEXT */
6877
+ )
6878
+ ])
6879
+ ])) : createCommentVNode("v-if", true)
5893
6880
  ]),
5894
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_6, [
5895
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
5896
- ])) : createCommentVNode("", true),
5897
- unref(count) ? (openBlock(), createElementBlock("span", _hoisted_7, [
5898
- renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
5899
- createTextVNode(toDisplayString(unref(countFormatted)), 1)
5900
- ])
5901
- ])) : createCommentVNode("", true)
5902
- ]),
5903
- createVNode(unref(HintSlot), {
5904
- id: unref(hasHintId),
5905
- class: "vv-textarea__hint"
5906
- }, createSlots({ _: 2 }, [
5907
- _ctx.$slots.hint ? {
5908
- name: "hint",
5909
- fn: withCtx(() => [
5910
- renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5911
- ]),
5912
- key: "0"
5913
- } : void 0,
5914
- _ctx.$slots.loading ? {
5915
- name: "loading",
5916
- fn: withCtx(() => [
5917
- renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5918
- ]),
5919
- key: "1"
5920
- } : void 0,
5921
- _ctx.$slots.valid ? {
5922
- name: "valid",
5923
- fn: withCtx(() => [
5924
- renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5925
- ]),
5926
- key: "2"
5927
- } : void 0,
5928
- _ctx.$slots.invalid ? {
5929
- name: "invalid",
5930
- fn: withCtx(() => [
5931
- renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
5932
- ]),
5933
- key: "3"
5934
- } : void 0
5935
- ]), 1032, ["id"])
5936
- ], 2);
6881
+ createVNode(unref(HintSlot), {
6882
+ id: unref(hasHintId),
6883
+ class: "vv-textarea__hint"
6884
+ }, createSlots({
6885
+ _: 2
6886
+ /* DYNAMIC */
6887
+ }, [
6888
+ _ctx.$slots.hint ? {
6889
+ name: "hint",
6890
+ fn: withCtx(() => [
6891
+ renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6892
+ ]),
6893
+ key: "0"
6894
+ } : void 0,
6895
+ _ctx.$slots.loading ? {
6896
+ name: "loading",
6897
+ fn: withCtx(() => [
6898
+ renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6899
+ ]),
6900
+ key: "1"
6901
+ } : void 0,
6902
+ _ctx.$slots.valid ? {
6903
+ name: "valid",
6904
+ fn: withCtx(() => [
6905
+ renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6906
+ ]),
6907
+ key: "2"
6908
+ } : void 0,
6909
+ _ctx.$slots.invalid ? {
6910
+ name: "invalid",
6911
+ fn: withCtx(() => [
6912
+ renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
6913
+ ]),
6914
+ key: "3"
6915
+ } : void 0
6916
+ ]), 1032, ["id"])
6917
+ ],
6918
+ 2
6919
+ /* CLASS */
6920
+ );
5937
6921
  };
5938
6922
  }
5939
6923
  });
@@ -5965,40 +6949,59 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5965
6949
  }))
5966
6950
  );
5967
6951
  return (_ctx, _cache) => {
5968
- return openBlock(), createElementBlock("span", {
5969
- class: normalizeClass(unref(bemCssClasses)),
5970
- role: "tooltip",
5971
- inert: ""
5972
- }, [
5973
- renderSlot(_ctx.$slots, "default", {}, () => [
5974
- createTextVNode(toDisplayString(_ctx.value), 1)
5975
- ])
5976
- ], 2);
6952
+ return openBlock(), createElementBlock(
6953
+ "span",
6954
+ {
6955
+ class: normalizeClass(unref(bemCssClasses)),
6956
+ role: "tooltip",
6957
+ inert: ""
6958
+ },
6959
+ [
6960
+ renderSlot(_ctx.$slots, "default", {}, () => [
6961
+ createTextVNode(
6962
+ toDisplayString(_ctx.value),
6963
+ 1
6964
+ /* TEXT */
6965
+ )
6966
+ ])
6967
+ ],
6968
+ 2
6969
+ /* CLASS */
6970
+ );
5977
6971
  };
5978
6972
  }
5979
6973
  });
5980
6974
  export {
5981
- _sfc_main$q as VvAccordion,
5982
- _sfc_main$p as VvAccordionGroup,
5983
- _sfc_main$o as VvAction,
5984
- _sfc_main$m as VvAlert,
5985
- _sfc_main$l as VvBadge,
5986
- _sfc_main$k as VvBreadcrumb,
5987
- _sfc_main$j as VvButton,
5988
- _sfc_main$i as VvButtonGroup,
5989
- _sfc_main$h as VvCard,
5990
- _sfc_main$g as VvCheckbox,
5991
- _sfc_main$f as VvCheckboxGroup,
5992
- _sfc_main$9 as VvCombobox,
5993
- _sfc_main$8 as VvDialog,
5994
- _sfc_main$e as VvDropdown,
5995
- _sfc_main$n as VvIcon,
5996
- _sfc_main$7 as VvInputText,
5997
- _sfc_main$6 as VvNav,
6975
+ _sfc_main$w as VvAccordion,
6976
+ _sfc_main$v as VvAccordionGroup,
6977
+ _sfc_main$u as VvAction,
6978
+ _sfc_main$s as VvAlert,
6979
+ _sfc_main$r as VvAlertGroup,
6980
+ _sfc_main$q as VvAvatar,
6981
+ _sfc_main$p as VvAvatarGroup,
6982
+ _sfc_main$o as VvBadge,
6983
+ _sfc_main$n as VvBreadcrumb,
6984
+ _sfc_main$m as VvButton,
6985
+ _sfc_main$l as VvButtonGroup,
6986
+ _sfc_main$k as VvCard,
6987
+ _sfc_main$j as VvCheckbox,
6988
+ _sfc_main$i as VvCheckboxGroup,
6989
+ _sfc_main$c as VvCombobox,
6990
+ _sfc_main$b as VvDialog,
6991
+ _sfc_main$h as VvDropdown,
6992
+ _sfc_main$a as VvDropdownAction,
6993
+ _sfc_main$g as VvDropdownItem,
6994
+ _sfc_main$e as VvDropdownOptgroup,
6995
+ _sfc_main$f as VvDropdownOption,
6996
+ _sfc_main$t as VvIcon,
6997
+ _sfc_main$9 as VvInputText,
6998
+ _sfc_main$7 as VvNav,
6999
+ _sfc_main$8 as VvNavItem,
7000
+ VvNavSeparator,
5998
7001
  _sfc_main$5 as VvProgress,
5999
7002
  _sfc_main$4 as VvRadio,
6000
7003
  _sfc_main$3 as VvRadioGroup,
6001
- _sfc_main$a as VvSelect,
7004
+ _sfc_main$d as VvSelect,
6002
7005
  _sfc_main$2 as VvTab,
6003
7006
  _sfc_main$1 as VvTextarea,
6004
7007
  _sfc_main as VvTooltip