@volverjs/ui-vue 0.0.10-beta.35 → 0.0.10-beta.36

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 (348) hide show
  1. package/README.md +78 -77
  2. package/bin/icons.cjs +1 -1
  3. package/bin/icons.js +5 -5
  4. package/dist/Volver.d.ts +10 -10
  5. package/dist/components/VvAccordion/VvAccordion.es.js +11 -11
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +17 -17
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  9. package/dist/components/VvAction/VvAction.es.js +6 -6
  10. package/dist/components/VvAction/VvAction.umd.js +1 -1
  11. package/dist/components/VvAlert/VvAlert.es.js +23 -21
  12. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  13. package/dist/components/VvAlert/index.d.ts +2 -2
  14. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +351 -349
  15. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  16. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +3 -3
  17. package/dist/components/VvAlertGroup/index.d.ts +1 -1
  18. package/dist/components/VvAvatar/VvAvatar.es.js +4 -1
  19. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  20. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +11 -3
  21. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +10 -10
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  24. package/dist/components/VvButton/VvButton.es.js +31 -25
  25. package/dist/components/VvButton/VvButton.umd.js +1 -1
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -1
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  28. package/dist/components/VvCheckbox/VvCheckbox.es.js +208 -202
  29. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  30. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +3 -3
  31. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +21 -15
  32. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  33. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
  34. package/dist/components/VvCombobox/VvCombobox.es.js +454 -446
  35. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  36. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +5 -5
  37. package/dist/components/VvCombobox/index.d.ts +5 -10
  38. package/dist/components/VvDialog/VvDialog.es.js +11 -11
  39. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  40. package/dist/components/VvDropdown/VvDropdown.es.js +29 -25
  41. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  42. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +12 -8
  43. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +11 -14
  44. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  45. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  46. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  47. package/dist/components/VvInputFile/VvInputFile.es.js +61 -55
  48. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  49. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +2 -2
  50. package/dist/components/VvInputFile/index.d.ts +6 -6
  51. package/dist/components/VvInputText/VvInputText.es.js +287 -286
  52. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  53. package/dist/components/VvInputText/VvInputText.vue.d.ts +2 -2
  54. package/dist/components/VvInputText/index.d.ts +7 -2
  55. package/dist/components/VvNav/VvNav.es.js +23 -20
  56. package/dist/components/VvNav/VvNav.umd.js +1 -1
  57. package/dist/components/VvNavItem/VvNavItem.es.js +6 -6
  58. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  59. package/dist/components/VvRadio/VvRadio.es.js +208 -202
  60. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  61. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  62. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +21 -15
  63. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  64. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
  65. package/dist/components/VvSelect/VvSelect.es.js +22 -20
  66. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  67. package/dist/components/VvSelect/VvSelect.vue.d.ts +2 -2
  68. package/dist/components/VvTab/VvTab.es.js +29 -23
  69. package/dist/components/VvTab/VvTab.umd.js +1 -1
  70. package/dist/components/VvTextarea/VvTextarea.es.js +29 -27
  71. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  72. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +2 -2
  73. package/dist/components/VvTooltip/VvTooltip.es.js +4 -1
  74. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  75. package/dist/components/common/HintSlot.d.ts +3 -4
  76. package/dist/components/index.es.js +893 -876
  77. package/dist/components/index.umd.js +1 -1
  78. package/dist/composables/alert/useAlert.d.ts +2 -2
  79. package/dist/composables/index.es.js +10 -10
  80. package/dist/composables/index.umd.js +1 -1
  81. package/dist/composables/useBlurhash.d.ts +1 -1
  82. package/dist/composables/usePersistence.d.ts +2 -1
  83. package/dist/composables/useUniqueId.d.ts +1 -1
  84. package/dist/directives/index.es.js +5 -2
  85. package/dist/directives/index.umd.js +1 -1
  86. package/dist/directives/v-contextmenu.es.js +1 -1
  87. package/dist/directives/v-contextmenu.umd.js +1 -1
  88. package/dist/directives/v-tooltip.es.js +4 -1
  89. package/dist/directives/v-tooltip.umd.js +1 -1
  90. package/dist/icons.es.js +3 -3
  91. package/dist/icons.umd.js +1 -1
  92. package/dist/index.es.js +2 -2
  93. package/dist/stories/Alert/AlertModifiers.stories.d.ts +1 -1
  94. package/dist/stories/Alert/AlertSlots.stories.d.ts +1 -1
  95. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +1 -1
  96. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +1 -1
  97. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  98. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  99. package/dist/stories/Combobox/Combobox.settings.d.ts +1 -1
  100. package/dist/test/options.d.ts +1 -1
  101. package/dist/test/sleep.d.ts +1 -1
  102. package/dist/types/alert.d.ts +1 -1
  103. package/dist/utils/ObjectUtilities.d.ts +7 -7
  104. package/package.json +232 -239
  105. package/src/Volver.ts +243 -243
  106. package/src/assets/icons/detailed.json +1 -1
  107. package/src/assets/icons/normal.json +1 -1
  108. package/src/assets/icons/simple.json +1 -1
  109. package/src/components/VvAccordion/VvAccordion.vue +155 -155
  110. package/src/components/VvAccordion/index.ts +62 -62
  111. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +220 -219
  112. package/src/components/VvAccordionGroup/index.ts +41 -41
  113. package/src/components/VvAction/VvAction.vue +144 -142
  114. package/src/components/VvAlert/VvAlert.vue +72 -70
  115. package/src/components/VvAlert/index.ts +147 -150
  116. package/src/components/VvAlertGroup/VvAlertGroup.vue +56 -55
  117. package/src/components/VvAlertGroup/index.ts +99 -103
  118. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  119. package/src/components/VvAvatar/index.ts +5 -5
  120. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  121. package/src/components/VvAvatarGroup/index.ts +21 -21
  122. package/src/components/VvBadge/VvBadge.vue +15 -14
  123. package/src/components/VvBadge/index.ts +2 -2
  124. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +49 -48
  125. package/src/components/VvBreadcrumb/index.ts +2 -2
  126. package/src/components/VvButton/VvButton.vue +163 -162
  127. package/src/components/VvButton/index.ts +102 -102
  128. package/src/components/VvButtonGroup/VvButtonGroup.vue +72 -72
  129. package/src/components/VvButtonGroup/index.ts +22 -22
  130. package/src/components/VvCard/VvCard.vue +30 -30
  131. package/src/components/VvCard/index.ts +2 -2
  132. package/src/components/VvCheckbox/VvCheckbox.vue +185 -180
  133. package/src/components/VvCheckbox/index.ts +44 -44
  134. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -86
  135. package/src/components/VvCombobox/VvCombobox.vue +633 -623
  136. package/src/components/VvCombobox/index.ts +166 -166
  137. package/src/components/VvDialog/VvDialog.vue +131 -129
  138. package/src/components/VvDialog/index.ts +35 -35
  139. package/src/components/VvDropdown/VvDropdown.vue +464 -452
  140. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  141. package/src/components/VvDropdown/VvDropdownItem.vue +29 -28
  142. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  143. package/src/components/VvDropdown/VvDropdownOption.vue +47 -47
  144. package/src/components/VvDropdown/index.ts +53 -53
  145. package/src/components/VvIcon/README.md +1 -1
  146. package/src/components/VvIcon/VvIcon.vue +133 -133
  147. package/src/components/VvIcon/index.ts +77 -77
  148. package/src/components/VvInputFile/VvInputFile.vue +367 -363
  149. package/src/components/VvInputFile/index.ts +125 -125
  150. package/src/components/VvInputText/VvInputClearAction.ts +50 -50
  151. package/src/components/VvInputText/VvInputPasswordAction.ts +65 -65
  152. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  153. package/src/components/VvInputText/VvInputText.vue +636 -637
  154. package/src/components/VvInputText/VvInputTextActions.ts +86 -86
  155. package/src/components/VvInputText/index.ts +198 -198
  156. package/src/components/VvNav/VvNav.vue +40 -33
  157. package/src/components/VvNav/VvNavItem.vue +12 -12
  158. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  159. package/src/components/VvNav/index.ts +2 -2
  160. package/src/components/VvProgress/VvProgress.vue +27 -26
  161. package/src/components/VvProgress/index.ts +28 -28
  162. package/src/components/VvRadio/VvRadio.vue +115 -112
  163. package/src/components/VvRadio/index.ts +27 -27
  164. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -89
  165. package/src/components/VvSelect/VvSelect.vue +241 -238
  166. package/src/components/VvSelect/index.ts +62 -62
  167. package/src/components/VvTab/VvTab.vue +79 -73
  168. package/src/components/VvTab/index.ts +12 -12
  169. package/src/components/VvTextarea/VvTextarea.vue +218 -216
  170. package/src/components/VvTextarea/index.ts +35 -35
  171. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  172. package/src/components/VvTooltip/index.ts +12 -12
  173. package/src/components/common/HintSlot.ts +149 -150
  174. package/src/composables/alert/useAlert.ts +74 -74
  175. package/src/composables/alert/useInjectAlert.ts +1 -1
  176. package/src/composables/alert/useProvideAlert.ts +10 -10
  177. package/src/composables/dropdown/useInjectDropdown.ts +6 -6
  178. package/src/composables/dropdown/useProvideDropdown.ts +62 -62
  179. package/src/composables/group/useInjectedGroupState.ts +41 -41
  180. package/src/composables/group/useProvideGroupState.ts +1 -2
  181. package/src/composables/useBlurhash.ts +52 -60
  182. package/src/composables/useComponentFocus.ts +9 -9
  183. package/src/composables/useComponentIcon.ts +35 -35
  184. package/src/composables/useDebouncedInput.ts +25 -25
  185. package/src/composables/useDefaults.ts +77 -76
  186. package/src/composables/useModifiers.ts +29 -29
  187. package/src/composables/useOptions.ts +45 -43
  188. package/src/composables/usePersistence.ts +70 -72
  189. package/src/composables/useTextCount.ts +44 -44
  190. package/src/composables/useUniqueId.ts +3 -2
  191. package/src/composables/useVolver.ts +1 -1
  192. package/src/constants.ts +70 -70
  193. package/src/directives/v-contextmenu.ts +34 -34
  194. package/src/directives/v-tooltip.ts +17 -17
  195. package/src/index.ts +3 -3
  196. package/src/props/index.ts +453 -453
  197. package/src/resolvers/unplugin.ts +138 -138
  198. package/src/shims.d.ts +4 -5
  199. package/src/stories/Accordion/Accordion.settings.ts +49 -49
  200. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  201. package/src/stories/Accordion/Accordion.test.ts +56 -54
  202. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  203. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +69 -67
  204. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +37 -37
  205. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -47
  206. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +34 -34
  207. package/src/stories/Alert/Alert.settings.ts +115 -115
  208. package/src/stories/Alert/Alert.stories.ts +30 -30
  209. package/src/stories/Alert/Alert.test.ts +78 -78
  210. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  211. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  212. package/src/stories/AlertGroup/AlertGroup.settings.ts +104 -104
  213. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  214. package/src/stories/AlertGroup/AlertGroup.test.ts +67 -67
  215. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  216. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  217. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +57 -57
  218. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  219. package/src/stories/Avatar/Avatar.stories.ts +23 -23
  220. package/src/stories/Avatar/Avatar.test.ts +22 -22
  221. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  222. package/src/stories/Avatar/AvatarModifiers.stories.ts +61 -61
  223. package/src/stories/Avatar/AvatarSlots.stories.ts +18 -18
  224. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +53 -53
  225. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  226. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -24
  227. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  228. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  229. package/src/stories/Badge/Badge.settings.ts +20 -20
  230. package/src/stories/Badge/Badge.stories.ts +23 -23
  231. package/src/stories/Badge/Badge.test.ts +8 -8
  232. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  233. package/src/stories/Blurhash/BlurhashComposable.stories.ts +77 -76
  234. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +34 -34
  235. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +22 -22
  236. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  237. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +17 -17
  238. package/src/stories/Button/Button.settings.ts +144 -144
  239. package/src/stories/Button/Button.stories.ts +18 -18
  240. package/src/stories/Button/Button.test.ts +41 -40
  241. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  242. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  243. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  244. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  245. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  246. package/src/stories/Button/ButtonState.stories.ts +23 -23
  247. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  248. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +32 -32
  249. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  250. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -22
  251. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  252. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +18 -18
  253. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  254. package/src/stories/Card/Card.settings.ts +48 -48
  255. package/src/stories/Card/Card.stories.ts +22 -22
  256. package/src/stories/Card/Card.test.ts +14 -14
  257. package/src/stories/Card/CardSlots.stories.ts +42 -42
  258. package/src/stories/Checkbox/Checkbox.settings.ts +35 -35
  259. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  260. package/src/stories/Checkbox/Checkbox.test.ts +63 -62
  261. package/src/stories/Checkbox/CheckboxBinary.stories.ts +17 -17
  262. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  263. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  264. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  265. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +63 -63
  266. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  267. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  268. package/src/stories/Combobox/Combobox.settings.ts +390 -390
  269. package/src/stories/Combobox/Combobox.stories.ts +107 -107
  270. package/src/stories/Combobox/Combobox.test.ts +89 -87
  271. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +24 -24
  272. package/src/stories/Combobox/ComboboxMultiple.stories.ts +22 -22
  273. package/src/stories/Combobox/ComboboxOptions.stories.ts +84 -84
  274. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -55
  275. package/src/stories/Dialog/Dialog.settings.ts +39 -39
  276. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  277. package/src/stories/Dialog/Dialog.test.ts +49 -49
  278. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  279. package/src/stories/Dropdown/Dropdown.settings.ts +62 -62
  280. package/src/stories/Dropdown/Dropdown.stories.ts +59 -59
  281. package/src/stories/Dropdown/Dropdown.test.ts +9 -9
  282. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +16 -16
  283. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +18 -18
  284. package/src/stories/Dropdown/DropdownSlots.stories.ts +49 -49
  285. package/src/stories/Icon/Icon.settings.ts +64 -64
  286. package/src/stories/Icon/Icon.stories.ts +28 -28
  287. package/src/stories/Icon/IconsCollection.stories.ts +22 -22
  288. package/src/stories/InputFile/InputFile.settings.ts +29 -29
  289. package/src/stories/InputFile/InputFile.stories.ts +54 -54
  290. package/src/stories/InputFile/InputFileDropArea.stories.ts +34 -34
  291. package/src/stories/InputFile/InputFileIconPosition.stories.ts +24 -24
  292. package/src/stories/InputFile/InputFileSlots.stories.ts +17 -17
  293. package/src/stories/InputText/InputText.settings.ts +245 -246
  294. package/src/stories/InputText/InputText.stories.ts +67 -67
  295. package/src/stories/InputText/InputText.test.ts +118 -117
  296. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  297. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  298. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  299. package/src/stories/InputText/InputTextMinMax.stories.ts +29 -29
  300. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  301. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  302. package/src/stories/Nav/Nav.settings.ts +25 -25
  303. package/src/stories/Nav/Nav.stories.ts +17 -17
  304. package/src/stories/Nav/Nav.test.ts +10 -10
  305. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  306. package/src/stories/Progress/Progress.settings.ts +23 -23
  307. package/src/stories/Progress/Progress.stories.ts +23 -23
  308. package/src/stories/Progress/Progress.test.ts +4 -4
  309. package/src/stories/Radio/Radio.settings.ts +9 -9
  310. package/src/stories/Radio/Radio.stories.ts +47 -47
  311. package/src/stories/Radio/Radio.test.ts +54 -53
  312. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  313. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  314. package/src/stories/RadioGroup/RadioGroup.stories.ts +50 -50
  315. package/src/stories/RadioGroup/RadioGroup.test.ts +63 -63
  316. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +34 -34
  317. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  318. package/src/stories/Select/Select.settings.ts +70 -70
  319. package/src/stories/Select/Select.stories.ts +66 -66
  320. package/src/stories/Select/Select.test.ts +65 -64
  321. package/src/stories/Select/SelectIconPosition.stories.ts +24 -24
  322. package/src/stories/Select/SelectOptions.stories.ts +54 -54
  323. package/src/stories/Select/SelectSlots.stories.ts +20 -20
  324. package/src/stories/Tab/Tab.settings.ts +32 -32
  325. package/src/stories/Tab/Tab.stories.ts +17 -17
  326. package/src/stories/Tab/Tab.test.ts +17 -17
  327. package/src/stories/Textarea/Textarea.settings.ts +78 -79
  328. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  329. package/src/stories/Textarea/Textarea.test.ts +70 -69
  330. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  331. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  332. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  333. package/src/stories/Tooltip/Tooltip.settings.ts +16 -16
  334. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  335. package/src/stories/Tooltip/Tooltip.test.ts +53 -52
  336. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  337. package/src/stories/argTypes.ts +484 -485
  338. package/src/test/expect.ts +71 -74
  339. package/src/test/options.ts +17 -16
  340. package/src/test/sleep.ts +3 -2
  341. package/src/test/types.d.ts +11 -11
  342. package/src/types/alert.ts +18 -18
  343. package/src/types/blurhash.ts +18 -18
  344. package/src/types/generic.ts +1 -2
  345. package/src/types/group.ts +21 -21
  346. package/src/types/input-file.ts +17 -17
  347. package/src/types/nav.ts +13 -13
  348. package/src/utils/ObjectUtilities.ts +192 -177
@@ -720,17 +720,17 @@ function useModifiers(prefix, modifiers, others) {
720
720
  const _hoisted_1$m = ["id", "open"];
721
721
  const _hoisted_2$f = ["aria-controls", "aria-expanded"];
722
722
  const _hoisted_3$8 = ["aria-hidden"];
723
- const __default__$r = {
723
+ const __default__$v = {
724
724
  name: "VvAccordion"
725
725
  };
726
726
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
727
- ...__default__$r,
727
+ ...__default__$v,
728
728
  props: VvAccordionProps,
729
729
  emits: VvAccordionEvents,
730
730
  setup(__props, { expose: __expose, emit: __emit }) {
731
731
  const props = __props;
732
- const attrs = useAttrs();
733
732
  const emit = __emit;
733
+ const attrs = useAttrs();
734
734
  const modelValue = useVModel(props, "modelValue", emit);
735
735
  const accordionName = computed(
736
736
  () => props.name || (attrs == null ? void 0 : attrs.id) || uid()
@@ -756,7 +756,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
756
756
  }
757
757
  isExpanded.value = value;
758
758
  });
759
- const onClick = () => {
759
+ function onClick() {
760
760
  if (disabled.value) {
761
761
  return;
762
762
  }
@@ -768,7 +768,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
768
768
  return;
769
769
  }
770
770
  isExpanded.value = !isExpanded.value;
771
- };
771
+ }
772
772
  watch(
773
773
  accordionName,
774
774
  (newValue, oldValue) => {
@@ -788,19 +788,19 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
788
788
  bus.emit("unregister", { name: accordionName.value });
789
789
  }
790
790
  });
791
- const expand = () => {
791
+ function expand() {
792
792
  if (isExpanded.value) {
793
793
  return;
794
794
  }
795
795
  onClick();
796
- };
797
- const collapse = () => {
796
+ }
797
+ function collapse() {
798
798
  if (!isExpanded.value) {
799
799
  return;
800
800
  }
801
801
  onClick();
802
- };
803
- const groupExpand = (name) => {
802
+ }
803
+ function groupExpand(name) {
804
804
  if (!bus) {
805
805
  console.warn(
806
806
  `[VvAccordion]: You are trying to expand accordion group of "${accordionName.value}" but it is not in a group`
@@ -808,8 +808,8 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
808
808
  return;
809
809
  }
810
810
  bus.emit("expand", { name });
811
- };
812
- const groupCollapse = (name) => {
811
+ }
812
+ function groupCollapse(name) {
813
813
  if (!bus) {
814
814
  console.warn(
815
815
  `[VvAccordion]: You are trying to collapse accordion group of "${accordionName.value}" but it is not in a group`
@@ -817,7 +817,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
817
817
  return;
818
818
  }
819
819
  bus == null ? void 0 : bus.emit("collapse", { name });
820
- };
820
+ }
821
821
  __expose({
822
822
  isExpanded,
823
823
  expand,
@@ -919,7 +919,7 @@ const VvAccordionGroupProps = {
919
919
  not: Boolean
920
920
  };
921
921
  const VvAccordionGroupEvents = ["update:modelValue"];
922
- const usePersistence = (storageKey, storageType = StorageType.local, defaultValue) => {
922
+ function usePersistence(storageKey, storageType = StorageType.local, defaultValue) {
923
923
  const localValue = ref();
924
924
  if (defaultValue) {
925
925
  localValue.value = defaultValue;
@@ -978,15 +978,15 @@ const usePersistence = (storageKey, storageType = StorageType.local, defaultValu
978
978
  localValue.value = value;
979
979
  }
980
980
  });
981
- };
981
+ }
982
982
  function useProvideGroupState(key, groupState) {
983
983
  provide(key, groupState);
984
984
  }
985
- const __default__$q = {
985
+ const __default__$u = {
986
986
  name: "VvAccordionGroup"
987
987
  };
988
988
  const _sfc_main$w = /* @__PURE__ */ defineComponent({
989
- ...__default__$q,
989
+ ...__default__$u,
990
990
  props: VvAccordionGroupProps,
991
991
  emits: VvAccordionGroupEvents,
992
992
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -1111,7 +1111,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1111
1111
  newValue.delete(name);
1112
1112
  expandedAccordions.value = newValue;
1113
1113
  });
1114
- const expand = (name) => {
1114
+ function expand(name) {
1115
1115
  if (typeof name === "string") {
1116
1116
  bus.emit("toggle", { name, value: true });
1117
1117
  return;
@@ -1125,9 +1125,9 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1125
1125
  for (const item of accordionNames) {
1126
1126
  bus.emit("toggle", { name: item, value: true });
1127
1127
  }
1128
- };
1128
+ }
1129
1129
  bus.on("expand", ({ name }) => expand(name));
1130
- const collapse = (name) => {
1130
+ function collapse(name) {
1131
1131
  if (typeof name === "string") {
1132
1132
  bus.emit("toggle", { name, value: false });
1133
1133
  return;
@@ -1141,7 +1141,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1141
1141
  for (const item of accordionNames) {
1142
1142
  bus.emit("toggle", { name: item, value: false });
1143
1143
  }
1144
- };
1144
+ }
1145
1145
  bus.on("collapse", ({ name }) => collapse(name));
1146
1146
  __expose({ expandedAccordions, expand, collapse });
1147
1147
  const bemCssClasses = useModifiers(
@@ -1225,11 +1225,11 @@ function useInjectedDropdownItem() {
1225
1225
  function useInjectedDropdownAction() {
1226
1226
  return inject(INJECTION_KEY_DROPDOWN_ACTION, {});
1227
1227
  }
1228
- const __default__$p = {
1228
+ const __default__$t = {
1229
1229
  name: "VvAction"
1230
1230
  };
1231
1231
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
1232
- ...__default__$p,
1232
+ ...__default__$t,
1233
1233
  props: VvActionProps,
1234
1234
  emits: VvActionEvents,
1235
1235
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -1301,7 +1301,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1301
1301
  return toReturn;
1302
1302
  }
1303
1303
  });
1304
- const onClick = (e) => {
1304
+ function onClick(e) {
1305
1305
  var _a;
1306
1306
  if (props.disabled) {
1307
1307
  e.preventDefault();
@@ -1312,23 +1312,23 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1312
1312
  return;
1313
1313
  }
1314
1314
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("click", e);
1315
- };
1316
- const onMouseover = (e) => {
1315
+ }
1316
+ function onMouseover(e) {
1317
1317
  var _a;
1318
1318
  if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onMouseover) {
1319
1319
  emit("mouseover", e);
1320
1320
  return;
1321
1321
  }
1322
1322
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseover", e);
1323
- };
1324
- const onMouseleave = (e) => {
1323
+ }
1324
+ function onMouseleave(e) {
1325
1325
  var _a;
1326
1326
  if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onMouseleave) {
1327
1327
  emit("mouseleave", e);
1328
1328
  return;
1329
1329
  }
1330
1330
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseleave", e);
1331
- };
1331
+ }
1332
1332
  return (_ctx, _cache) => {
1333
1333
  return openBlock(), createBlock(resolveDynamicComponent(unref(hasTag)), mergeProps(unref(hasProps), {
1334
1334
  ref_key: "element",
@@ -1374,11 +1374,11 @@ const VvIconPropsDefaults = {
1374
1374
  prefix: "normal"
1375
1375
  /* normal */
1376
1376
  };
1377
- const __default__$o = {
1377
+ const __default__$s = {
1378
1378
  name: "VvIcon"
1379
1379
  };
1380
1380
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
1381
- ...__default__$o,
1381
+ ...__default__$s,
1382
1382
  props: /* @__PURE__ */ mergeDefaults({
1383
1383
  name: {},
1384
1384
  color: {},
@@ -1401,7 +1401,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1401
1401
  const props = __props;
1402
1402
  const hasRotate = computed(() => {
1403
1403
  if (typeof props.rotate === "string") {
1404
- return parseFloat(props.rotate);
1404
+ return Number.parseFloat(props.rotate);
1405
1405
  }
1406
1406
  return props.rotate;
1407
1407
  });
@@ -1490,7 +1490,9 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1490
1490
  function useInjectedAlertGroup() {
1491
1491
  return inject(INJECTION_KEY_ALERT_GROUP, {});
1492
1492
  }
1493
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
1493
+ function useUniqueId(id) {
1494
+ return computed(() => String((id == null ? void 0 : id.value) || uid()));
1495
+ }
1494
1496
  function useComponentIcon(icon, iconPosition) {
1495
1497
  const hasIcon = computed(() => {
1496
1498
  if (typeof (icon == null ? void 0 : icon.value) === "string") {
@@ -1604,23 +1606,11 @@ const VvAlertProps = {
1604
1606
  }
1605
1607
  };
1606
1608
  const VvAlertEvents = ["close"];
1607
- const useVvAlert = (props, emit) => {
1609
+ function useVvAlert(props, emit) {
1608
1610
  const { bus } = useInjectedAlertGroup();
1609
1611
  const hasId = useUniqueId(computed(() => props.id));
1610
1612
  const hasTitleId = computed(() => `${hasId.value}-title`);
1611
- const { hasIcon } = useComponentIcon(computed(() => props.icon));
1612
- const hasClass = useModifiers(
1613
- "vv-alert",
1614
- computed(() => props.modifiers),
1615
- computed(() => ({
1616
- dismissable: props.autoClose > 0 || props.dismissable,
1617
- "auto-close": props.autoClose > 0,
1618
- hover: isMouseover.value
1619
- }))
1620
- );
1621
- const hasStyle = computed(() => ({
1622
- "--alert-duration": `${props.autoClose}ms`
1623
- }));
1613
+ let timeout;
1624
1614
  const close = () => {
1625
1615
  if (timeout) {
1626
1616
  clearTimeout(timeout);
@@ -1628,7 +1618,6 @@ const useVvAlert = (props, emit) => {
1628
1618
  emit("close", hasId.value);
1629
1619
  bus == null ? void 0 : bus.emit("close", hasId.value);
1630
1620
  };
1631
- let timeout;
1632
1621
  watch(
1633
1622
  () => props.autoClose,
1634
1623
  (value) => {
@@ -1657,6 +1646,19 @@ const useVvAlert = (props, emit) => {
1657
1646
  timeout = setTimeout(close, props.autoClose);
1658
1647
  }
1659
1648
  };
1649
+ const { hasIcon } = useComponentIcon(computed(() => props.icon));
1650
+ const hasClass = useModifiers(
1651
+ "vv-alert",
1652
+ computed(() => props.modifiers),
1653
+ computed(() => ({
1654
+ "dismissable": props.autoClose > 0 || props.dismissable,
1655
+ "auto-close": props.autoClose > 0,
1656
+ "hover": isMouseover.value
1657
+ }))
1658
+ );
1659
+ const hasStyle = computed(() => ({
1660
+ "--alert-duration": `${props.autoClose}ms`
1661
+ }));
1660
1662
  return {
1661
1663
  close,
1662
1664
  hasIcon,
@@ -1664,13 +1666,13 @@ const useVvAlert = (props, emit) => {
1664
1666
  hasProps: computed(() => ({
1665
1667
  onMouseover,
1666
1668
  onMouseleave,
1667
- class: hasClass.value,
1668
- style: hasStyle.value,
1669
- role: props.role,
1669
+ "class": hasClass.value,
1670
+ "style": hasStyle.value,
1671
+ "role": props.role,
1670
1672
  "aria-labelledby": hasTitleId.value
1671
1673
  }))
1672
1674
  };
1673
- };
1675
+ }
1674
1676
  const _hoisted_1$l = {
1675
1677
  key: 0,
1676
1678
  class: "vv-alert__header"
@@ -1695,11 +1697,11 @@ const _hoisted_7$5 = {
1695
1697
  key: 2,
1696
1698
  class: "vv-alert__footer"
1697
1699
  };
1698
- const __default__$n = {
1700
+ const __default__$r = {
1699
1701
  name: "VvAlert"
1700
1702
  };
1701
1703
  const _sfc_main$t = /* @__PURE__ */ defineComponent({
1702
- ...__default__$n,
1704
+ ...__default__$r,
1703
1705
  props: VvAlertProps,
1704
1706
  emits: VvAlertEvents,
1705
1707
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -1832,7 +1834,7 @@ const VvAlertGroupEvents = [
1832
1834
  "leave",
1833
1835
  "leave-cancelled"
1834
1836
  ];
1835
- const useVvAlertGroup = (props, emit) => {
1837
+ function useVvAlertGroup(props, emit) {
1836
1838
  const bus = useProvideAlertGroup({ name: computed(() => props.name) });
1837
1839
  if (props.block && !props.inline || !props.block && props.inline) {
1838
1840
  console.warn(
@@ -1887,12 +1889,12 @@ const useVvAlertGroup = (props, emit) => {
1887
1889
  class: hasClass.value
1888
1890
  }))
1889
1891
  };
1890
- };
1891
- const __default__$m = {
1892
+ }
1893
+ const __default__$q = {
1892
1894
  name: "VvAlertGroup"
1893
1895
  };
1894
1896
  const _sfc_main$s = /* @__PURE__ */ defineComponent({
1895
- ...__default__$m,
1897
+ ...__default__$q,
1896
1898
  props: VvAlertGroupProps,
1897
1899
  emits: VvAlertGroupEvents,
1898
1900
  setup(__props, { emit: __emit }) {
@@ -1901,28 +1903,28 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1901
1903
  const { hasProps, hasTransition } = useVvAlertGroup(props, emit);
1902
1904
  const alertGroupTransitionHandlers = {
1903
1905
  "before-enter": () => {
1904
- emit("before-enter");
1906
+ emit("beforeEnter");
1905
1907
  },
1906
1908
  "after-leave": () => {
1907
- emit("after-leave");
1909
+ emit("afterLeave");
1908
1910
  },
1909
- enter: () => {
1911
+ "enter": () => {
1910
1912
  emit("enter");
1911
1913
  },
1912
1914
  "after-enter": () => {
1913
- emit("after-enter");
1915
+ emit("afterEnter");
1914
1916
  },
1915
1917
  "enter-cancelled": () => {
1916
- emit("enter-cancelled");
1918
+ emit("enterCancelled");
1917
1919
  },
1918
1920
  "before-leave": () => {
1919
- emit("before-leave");
1921
+ emit("beforeLeave");
1920
1922
  },
1921
- leave: () => {
1923
+ "leave": () => {
1922
1924
  emit("leave");
1923
1925
  },
1924
1926
  "leave-cancelled": () => {
1925
- emit("leave-cancelled");
1927
+ emit("leaveCancelled");
1926
1928
  }
1927
1929
  };
1928
1930
  return (_ctx, _cache) => {
@@ -1977,8 +1979,11 @@ const VvAvatarProps = {
1977
1979
  };
1978
1980
  const _hoisted_1$k = ["role", "aria-label"];
1979
1981
  const _hoisted_2$d = ["src"];
1982
+ const __default__$p = {
1983
+ name: "VvAvatar"
1984
+ };
1980
1985
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
1981
- __name: "VvAvatar",
1986
+ ...__default__$p,
1982
1987
  props: VvAvatarProps,
1983
1988
  setup(__props) {
1984
1989
  const props = __props;
@@ -2021,8 +2026,11 @@ const VvAvatarGroupProps = {
2021
2026
  avatarModifiers: [String, Array]
2022
2027
  };
2023
2028
  const _hoisted_1$j = { key: 0 };
2029
+ const __default__$o = {
2030
+ name: "VvAvatarGroup"
2031
+ };
2024
2032
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
2025
- __name: "VvAvatarGroup",
2033
+ ...__default__$o,
2026
2034
  props: VvAvatarGroupProps,
2027
2035
  setup(__props) {
2028
2036
  const props = __props;
@@ -2118,11 +2126,11 @@ const VvBadgeProps = {
2118
2126
  ...ModifiersProps,
2119
2127
  value: [String, Number]
2120
2128
  };
2121
- const __default__$l = {
2129
+ const __default__$n = {
2122
2130
  name: "VvBadge"
2123
2131
  };
2124
2132
  const _sfc_main$p = /* @__PURE__ */ defineComponent({
2125
- ...__default__$l,
2133
+ ...__default__$n,
2126
2134
  props: VvBadgeProps,
2127
2135
  setup(__props) {
2128
2136
  const props = __props;
@@ -2155,11 +2163,11 @@ const VvBreadcrumbProps = {
2155
2163
  };
2156
2164
  const _hoisted_1$i = { class: "vv-breadcrumb__list" };
2157
2165
  const _hoisted_2$c = ["content"];
2158
- const __default__$k = {
2166
+ const __default__$m = {
2159
2167
  name: "VvBreadcrumb"
2160
2168
  };
2161
2169
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
2162
- ...__default__$k,
2170
+ ...__default__$m,
2163
2171
  props: VvBreadcrumbProps,
2164
2172
  setup(__props) {
2165
2173
  const props = __props;
@@ -2343,32 +2351,36 @@ function deepEquals(a, b) {
2343
2351
  let i, length, key;
2344
2352
  if (arrA && arrB) {
2345
2353
  length = a.length;
2346
- if (length != b.length)
2354
+ if (length !== b.length)
2347
2355
  return false;
2348
- for (i = length; i-- !== 0; )
2356
+ for (i = length; i-- !== 0; ) {
2349
2357
  if (!deepEquals(a[i], b[i]))
2350
2358
  return false;
2359
+ }
2351
2360
  return true;
2352
2361
  }
2353
- if (arrA != arrB)
2362
+ if (arrA !== arrB)
2354
2363
  return false;
2355
- const dateA = a instanceof Date, dateB = b instanceof Date;
2356
- if (dateA != dateB)
2364
+ const dateA = a instanceof Date;
2365
+ const dateB = b instanceof Date;
2366
+ if (dateA !== dateB)
2357
2367
  return false;
2358
2368
  if (dateA && dateB)
2359
- return a.getTime() == b.getTime();
2360
- const regexpA = a instanceof RegExp, regexpB = b instanceof RegExp;
2361
- if (regexpA != regexpB)
2369
+ return a.getTime() === b.getTime();
2370
+ const regexpA = a instanceof RegExp;
2371
+ const regexpB = b instanceof RegExp;
2372
+ if (regexpA !== regexpB)
2362
2373
  return false;
2363
2374
  if (regexpA && regexpB)
2364
- return a.toString() == b.toString();
2375
+ return a.toString() === b.toString();
2365
2376
  const keys = Object.keys(a);
2366
2377
  length = keys.length;
2367
2378
  if (length !== Object.keys(b).length)
2368
2379
  return false;
2369
- for (i = length; i-- !== 0; )
2380
+ for (i = length; i-- !== 0; ) {
2370
2381
  if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
2371
2382
  return false;
2383
+ }
2372
2384
  for (i = length; i-- !== 0; ) {
2373
2385
  key = keys[i];
2374
2386
  if (!deepEquals(a[key], b[key]))
@@ -2376,11 +2388,11 @@ function deepEquals(a, b) {
2376
2388
  }
2377
2389
  return true;
2378
2390
  }
2379
- return a !== a && b !== b;
2391
+ return Number.isNaN(a) && Number.isNaN(b);
2380
2392
  }
2381
2393
  function resolveFieldData(data, field) {
2382
2394
  if (data && Object.keys(data).length && field) {
2383
- if (field.indexOf(".") === -1) {
2395
+ if (!field.includes(".")) {
2384
2396
  return data[field];
2385
2397
  } else {
2386
2398
  const fields = field.split(".");
@@ -2441,19 +2453,19 @@ const _hoisted_2$b = {
2441
2453
  key: 1,
2442
2454
  class: "vv-button__label"
2443
2455
  };
2444
- const __default__$j = {
2456
+ const __default__$l = {
2445
2457
  name: "VvButton",
2446
2458
  inheritAttrs: false
2447
2459
  };
2448
2460
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
2449
- ...__default__$j,
2461
+ ...__default__$l,
2450
2462
  props: VvButtonProps,
2451
2463
  emits: VvButtonEvents,
2452
2464
  setup(__props, { expose: __expose, emit: __emit }) {
2453
2465
  const props = __props;
2466
+ const emit = __emit;
2454
2467
  const attrs = useAttrs();
2455
2468
  const slots = useSlots();
2456
- const emit = __emit;
2457
2469
  const {
2458
2470
  id,
2459
2471
  modifiers,
@@ -2486,10 +2498,10 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2486
2498
  "vv-button",
2487
2499
  modifiers,
2488
2500
  computed(() => ({
2489
- reverse: [Side.right, Side.bottom].includes(
2501
+ "reverse": [Side.right, Side.bottom].includes(
2490
2502
  iconPosition.value
2491
2503
  ),
2492
- column: [Side.top, Side.bottom].includes(
2504
+ "column": [Side.top, Side.bottom].includes(
2493
2505
  iconPosition.value
2494
2506
  ),
2495
2507
  "icon-only": Boolean(
@@ -2509,7 +2521,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2509
2521
  onClick
2510
2522
  };
2511
2523
  });
2512
- const onClick = () => {
2524
+ function onClick() {
2513
2525
  if (toggle.value) {
2514
2526
  if (Array.isArray(modelValue.value)) {
2515
2527
  if (contains(toggleValue.value, modelValue.value)) {
@@ -2529,7 +2541,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2529
2541
  }
2530
2542
  modelValue.value = toggleValue.value;
2531
2543
  }
2532
- };
2544
+ }
2533
2545
  return (_ctx, _cache) => {
2534
2546
  return openBlock(), createBlock(_sfc_main$v, mergeProps({
2535
2547
  ...unref(attrs),
@@ -2622,16 +2634,16 @@ const _hoisted_1$g = {
2622
2634
  key: 0,
2623
2635
  class: "vv-button-group__legend"
2624
2636
  };
2625
- const __default__$i = {
2637
+ const __default__$k = {
2626
2638
  name: "VvButtonGroup"
2627
2639
  };
2628
2640
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
2629
- ...__default__$i,
2641
+ ...__default__$k,
2630
2642
  props: VvButtonGroupProps,
2631
2643
  emits: VvButtonGroupEvents,
2632
2644
  setup(__props, { emit: __emit }) {
2633
- const emit = __emit;
2634
2645
  const props = __props;
2646
+ const emit = __emit;
2635
2647
  const {
2636
2648
  disabled,
2637
2649
  toggle,
@@ -2711,11 +2723,11 @@ const _hoisted_3$6 = {
2711
2723
  key: 2,
2712
2724
  class: "vv-card__footer"
2713
2725
  };
2714
- const __default__$h = {
2726
+ const __default__$j = {
2715
2727
  name: "VvCard"
2716
2728
  };
2717
2729
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
2718
- ...__default__$h,
2730
+ ...__default__$j,
2719
2731
  props: VvCardProps,
2720
2732
  setup(__props) {
2721
2733
  const props = __props;
@@ -2751,50 +2763,6 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2751
2763
  };
2752
2764
  }
2753
2765
  });
2754
- const VvCheckboxProps = {
2755
- ...CheckboxRadioProps,
2756
- ...ModifiersProps,
2757
- /**
2758
- * If true, the input will be indeterminated
2759
- */
2760
- indeterminate: Boolean,
2761
- /**
2762
- * Value associated with the unchecked state
2763
- */
2764
- uncheckedValue: [String, Number, Boolean],
2765
- /**
2766
- * If true, the input will be displayed as a switch
2767
- */
2768
- switch: Boolean
2769
- };
2770
- const VvCheckboxEvents = ["click", "update:modelValue", "change", "blur"];
2771
- function useGroupProps$1(props, emit) {
2772
- const { group, isInGroup, getGroupOrLocalRef } = useInjectedGroupState(INJECTION_KEY_CHECK_GROUP);
2773
- const { id, switch: propsSwitch, indeterminate } = toRefs(props);
2774
- const modelValue = getGroupOrLocalRef("modelValue", props, emit);
2775
- const valid = getGroupOrLocalRef("valid", props);
2776
- const invalid = getGroupOrLocalRef("invalid", props);
2777
- const readonly = computed(
2778
- () => Boolean(props.readonly || (group == null ? void 0 : group.readonly.value))
2779
- );
2780
- const disabled = computed(
2781
- () => Boolean(props.disabled || (group == null ? void 0 : group.disabled.value))
2782
- );
2783
- return {
2784
- // local props
2785
- id,
2786
- propsSwitch,
2787
- indeterminate,
2788
- // global props
2789
- group,
2790
- isInGroup,
2791
- modelValue,
2792
- valid,
2793
- invalid,
2794
- readonly,
2795
- disabled
2796
- };
2797
- }
2798
2766
  function joinLines(items) {
2799
2767
  if (Array.isArray(items)) {
2800
2768
  return items.filter((item) => isString(item)).join(" ");
@@ -2913,6 +2881,50 @@ function HintSlotFactory(propsOrRef, slots) {
2913
2881
  HintSlot
2914
2882
  };
2915
2883
  }
2884
+ const VvCheckboxProps = {
2885
+ ...CheckboxRadioProps,
2886
+ ...ModifiersProps,
2887
+ /**
2888
+ * If true, the input will be indeterminated
2889
+ */
2890
+ indeterminate: Boolean,
2891
+ /**
2892
+ * Value associated with the unchecked state
2893
+ */
2894
+ uncheckedValue: [String, Number, Boolean],
2895
+ /**
2896
+ * If true, the input will be displayed as a switch
2897
+ */
2898
+ switch: Boolean
2899
+ };
2900
+ const VvCheckboxEvents = ["click", "update:modelValue", "change", "blur"];
2901
+ function useGroupProps$1(props, emit) {
2902
+ const { group, isInGroup, getGroupOrLocalRef } = useInjectedGroupState(INJECTION_KEY_CHECK_GROUP);
2903
+ const { id, switch: propsSwitch, indeterminate } = toRefs(props);
2904
+ const modelValue = getGroupOrLocalRef("modelValue", props, emit);
2905
+ const valid = getGroupOrLocalRef("valid", props);
2906
+ const invalid = getGroupOrLocalRef("invalid", props);
2907
+ const readonly = computed(
2908
+ () => Boolean(props.readonly || (group == null ? void 0 : group.readonly.value))
2909
+ );
2910
+ const disabled = computed(
2911
+ () => Boolean(props.disabled || (group == null ? void 0 : group.disabled.value))
2912
+ );
2913
+ return {
2914
+ // local props
2915
+ id,
2916
+ propsSwitch,
2917
+ indeterminate,
2918
+ // global props
2919
+ group,
2920
+ isInGroup,
2921
+ modelValue,
2922
+ valid,
2923
+ invalid,
2924
+ readonly,
2925
+ disabled
2926
+ };
2927
+ }
2916
2928
  function useDefaults(componentName, propsDefinition, props) {
2917
2929
  const volver = useVolver();
2918
2930
  const volverComponentDefaults = computed(() => {
@@ -2968,11 +2980,11 @@ function useDefaults(componentName, propsDefinition, props) {
2968
2980
  }
2969
2981
  const _hoisted_1$e = ["for"];
2970
2982
  const _hoisted_2$9 = ["id", "name", "disabled", "value", "tabindex", "aria-invalid", "aria-describedby", "aria-errormessage"];
2971
- const __default__$g = {
2983
+ const __default__$i = {
2972
2984
  name: "VvCheckbox"
2973
2985
  };
2974
2986
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
2975
- ...__default__$g,
2987
+ ...__default__$i,
2976
2988
  props: VvCheckboxProps,
2977
2989
  emits: VvCheckboxEvents,
2978
2990
  setup(__props, { emit: __emit }) {
@@ -3203,11 +3215,11 @@ function useOptions(props) {
3203
3215
  }
3204
3216
  const _hoisted_1$d = ["textContent"];
3205
3217
  const _hoisted_2$8 = { class: "vv-checkbox-group__wrapper" };
3206
- const __default__$f = {
3218
+ const __default__$h = {
3207
3219
  name: "VvCheckboxGroup"
3208
3220
  };
3209
3221
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
3210
- ...__default__$f,
3222
+ ...__default__$h,
3211
3223
  props: VvCheckboxGroupProps,
3212
3224
  emits: VvCheckboxGroupEvents,
3213
3225
  setup(__props, { emit: __emit }) {
@@ -3240,14 +3252,14 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
3240
3252
  invalid: invalid.value
3241
3253
  }))
3242
3254
  );
3243
- const getOptionProps = (option, index) => {
3255
+ function getOptionProps(option, index) {
3244
3256
  return {
3245
3257
  id: `${props.name}_opt${index}`,
3246
3258
  name: props.name,
3247
3259
  label: getOptionLabel(option),
3248
3260
  value: getOptionValue(option)
3249
3261
  };
3250
- };
3262
+ }
3251
3263
  const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
3252
3264
  return (_ctx, _cache) => {
3253
3265
  return openBlock(), createElementBlock(
@@ -3326,179 +3338,26 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
3326
3338
  };
3327
3339
  }
3328
3340
  });
3329
- const VvComboboxEvents = [
3330
- "update:modelValue",
3331
- "update:search",
3332
- /**
3333
- * @deprecated change:search should not be used, use update:search instead
3334
- */
3335
- "change:search",
3336
- "focus",
3337
- "blur"
3338
- ];
3339
- const VvComboboxProps = {
3340
- ...IdNameProps,
3341
- ...TabindexProps,
3342
- ...ValidProps,
3343
- ...InvalidProps,
3344
- ...HintProps,
3345
- ...LoadingProps,
3346
- ...DisabledProps,
3347
- ...ReadonlyProps,
3348
- ...ModifiersProps,
3349
- ...OptionsProps,
3350
- ...IconProps,
3351
- ...FloatingLabelProps,
3352
- ...UnselectableProps,
3341
+ const VvDropdownProps = {
3342
+ ...IdProps,
3353
3343
  ...DropdownProps,
3354
- ...LabelProps,
3355
- /**
3356
- * Dropdown show / hide transition name
3357
- */
3358
- transitionName: {
3359
- type: String,
3360
- default: "vv-dropdown--mobile-fade-block"
3361
- },
3344
+ ...ModifiersProps,
3362
3345
  /**
3363
- * modelValue can be a string, number, boolean, object or array of string, number, boolean, object
3346
+ * Show / hide dropdown programmatically
3364
3347
  */
3365
3348
  modelValue: {
3366
- type: [String, Number, Boolean, Object, Array],
3349
+ type: Boolean,
3367
3350
  default: void 0
3368
3351
  },
3369
3352
  /**
3370
- * Label for no search results
3371
- */
3372
- noResultsLabel: { type: String, default: "No results" },
3373
- /**
3374
- * Label for no options available
3353
+ * Dropdown trigger element
3375
3354
  */
3376
- noOptionsLabel: { type: String, default: "No options available" },
3355
+ reference: {
3356
+ type: Object,
3357
+ default: null
3358
+ },
3377
3359
  /**
3378
- * Label for selected option hint
3379
- */
3380
- selectedHintLabel: { type: String, default: "Selected" },
3381
- /**
3382
- * Label for deselect action button
3383
- */
3384
- deselectActionLabel: { type: String, default: "Deselect" },
3385
- /**
3386
- * Label for select option hint
3387
- */
3388
- selectHintLabel: { type: String, default: "Press enter to select" },
3389
- /**
3390
- * Label for deselected option hint
3391
- */
3392
- deselectHintLabel: { type: String, default: "Press enter to remove" },
3393
- /**
3394
- * Label close button
3395
- */
3396
- closeLabel: { type: String, default: "Close" },
3397
- /**
3398
- * Select input placeholder
3399
- */
3400
- placeholder: String,
3401
- /**
3402
- * Use input text to search on options
3403
- */
3404
- searchable: Boolean,
3405
- /**
3406
- * Search function to filter options
3407
- */
3408
- searchFunction: {
3409
- type: Function,
3410
- default: void 0
3411
- },
3412
- /**
3413
- * On searchable select is the input search placeholder
3414
- */
3415
- searchPlaceholder: {
3416
- type: String,
3417
- default: "Search..."
3418
- },
3419
- /**
3420
- * The input search debounce time in ms
3421
- */
3422
- debounceSearch: {
3423
- type: [Number, String],
3424
- default: 0
3425
- },
3426
- /**
3427
- * Manage modelValue as string[] or object[]
3428
- */
3429
- multiple: Boolean,
3430
- /**
3431
- * The max number of selected values
3432
- */
3433
- maxValues: [Number, String],
3434
- /**
3435
- * The select label separator visible to the user
3436
- */
3437
- separator: { type: String, default: ", " },
3438
- /**
3439
- * Show native select
3440
- */
3441
- native: Boolean,
3442
- /**
3443
- * Show badges
3444
- */
3445
- badges: Boolean,
3446
- /**
3447
- * Badge modifiers
3448
- */
3449
- badgeModifiers: {
3450
- type: [String, Array],
3451
- default: "action sm"
3452
- },
3453
- /**
3454
- * Set dropdown width to the same as the trigger
3455
- */
3456
- triggerWidth: {
3457
- ...DropdownProps.triggerWidth,
3458
- default: true
3459
- },
3460
- /**
3461
- * Dropdown modifiers
3462
- */
3463
- dropdownModifiers: {
3464
- type: [String, Array],
3465
- default: "mobile"
3466
- },
3467
- /**
3468
- * Open dropdown on focus
3469
- */
3470
- autoOpen: {
3471
- type: Boolean,
3472
- default: false
3473
- },
3474
- /**
3475
- * Keep open dropdown on single select
3476
- */
3477
- keepOpen: {
3478
- type: Boolean,
3479
- default: false
3480
- }
3481
- };
3482
- const VvDropdownProps = {
3483
- ...IdProps,
3484
- ...DropdownProps,
3485
- ...ModifiersProps,
3486
- /**
3487
- * Show / hide dropdown programmatically
3488
- */
3489
- modelValue: {
3490
- type: Boolean,
3491
- default: void 0
3492
- },
3493
- /**
3494
- * Dropdown trigger element
3495
- */
3496
- reference: {
3497
- type: Object,
3498
- default: null
3499
- },
3500
- /**
3501
- * Dropdown role
3360
+ * Dropdown role
3502
3361
  */
3503
3362
  role: {
3504
3363
  type: String,
@@ -3581,15 +3440,17 @@ function useProvideDropdownAction({
3581
3440
  });
3582
3441
  }
3583
3442
  const _hoisted_1$c = ["id", "tabindex", "role", "aria-labelledby"];
3584
- const __default__$e = {
3443
+ const __default__$g = {
3585
3444
  name: "VvDropdown",
3586
3445
  inheritAttrs: false
3587
3446
  };
3588
3447
  const _sfc_main$i = /* @__PURE__ */ defineComponent({
3589
- ...__default__$e,
3448
+ ...__default__$g,
3590
3449
  props: VvDropdownProps,
3591
3450
  emits: [
3592
3451
  "update:modelValue",
3452
+ "beforeEnter",
3453
+ "afterLeave",
3593
3454
  "beforeExpand",
3594
3455
  "beforeCollapse",
3595
3456
  "afterExpand",
@@ -3597,11 +3458,11 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
3597
3458
  "before-enter",
3598
3459
  "after-leave",
3599
3460
  "enter",
3600
- "after-enter",
3601
- "enter-cancelled",
3602
- "before-leave",
3461
+ "afterEnter",
3462
+ "enterCancelled",
3463
+ "beforeLeave",
3603
3464
  "leave",
3604
- "leave-cancelled"
3465
+ "leaveCancelled"
3605
3466
  ],
3606
3467
  setup(__props, { expose: __expose, emit: __emit }) {
3607
3468
  const props = __props;
@@ -3760,18 +3621,18 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
3760
3621
  modelValue.value = newValue;
3761
3622
  }
3762
3623
  });
3763
- const show = () => {
3624
+ function show() {
3764
3625
  expanded.value = true;
3765
- };
3766
- const hide = () => {
3626
+ }
3627
+ function hide() {
3767
3628
  expanded.value = false;
3768
- };
3769
- const toggle = () => {
3629
+ }
3630
+ function toggle() {
3770
3631
  expanded.value = !expanded.value;
3771
- };
3772
- const init = (el) => {
3632
+ }
3633
+ function init(el) {
3773
3634
  referenceEl.value = el;
3774
- };
3635
+ }
3775
3636
  __expose({
3776
3637
  toggle,
3777
3638
  show,
@@ -3839,7 +3700,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
3839
3700
  (el) => !el.hasAttribute("disabled") && !el.getAttribute("aria-hidden")
3840
3701
  );
3841
3702
  }
3842
- const focusNext = () => {
3703
+ function focusNext() {
3843
3704
  nextTick(() => {
3844
3705
  if (focused.value) {
3845
3706
  const focusableElements = getKeyboardFocusableElements(
@@ -3862,8 +3723,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
3862
3723
  }
3863
3724
  }
3864
3725
  });
3865
- };
3866
- const focusPrev = () => {
3726
+ }
3727
+ function focusPrev() {
3867
3728
  nextTick(() => {
3868
3729
  if (focused.value) {
3869
3730
  const focusableElements = getKeyboardFocusableElements(
@@ -3886,7 +3747,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
3886
3747
  }
3887
3748
  }
3888
3749
  });
3889
- };
3750
+ }
3890
3751
  const hovered = useElementHover(floatingEl);
3891
3752
  const { itemRole } = useProvideDropdownItem({
3892
3753
  role,
@@ -3921,29 +3782,29 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
3921
3782
  const dropdownTransitionHandlers = {
3922
3783
  "before-enter": () => {
3923
3784
  emit(expanded.value ? "beforeExpand" : "beforeCollapse");
3924
- emit("before-enter");
3785
+ emit("beforeEnter");
3925
3786
  },
3926
3787
  "after-leave": () => {
3927
3788
  emit(expanded.value ? "afterExpand" : "afterCollapse");
3928
- emit("after-leave");
3789
+ emit("afterLeave");
3929
3790
  },
3930
- enter: () => {
3791
+ "enter": () => {
3931
3792
  emit("enter");
3932
3793
  },
3933
3794
  "after-enter": () => {
3934
- emit("after-enter");
3795
+ emit("afterEnter");
3935
3796
  },
3936
3797
  "enter-cancelled": () => {
3937
- emit("enter-cancelled");
3798
+ emit("enterCancelled");
3938
3799
  },
3939
3800
  "before-leave": () => {
3940
- emit("before-leave");
3801
+ emit("beforeLeave");
3941
3802
  },
3942
- leave: () => {
3803
+ "leave": () => {
3943
3804
  emit("leave");
3944
3805
  },
3945
3806
  "leave-cancelled": () => {
3946
- emit("leave-cancelled");
3807
+ emit("leaveCancelled");
3947
3808
  }
3948
3809
  };
3949
3810
  return (_ctx, _cache) => {
@@ -4014,11 +3875,11 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
4014
3875
  };
4015
3876
  }
4016
3877
  });
4017
- const __default__$d = {
3878
+ const __default__$f = {
4018
3879
  name: "VvDropdownItem"
4019
3880
  };
4020
3881
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
4021
- ...__default__$d,
3882
+ ...__default__$f,
4022
3883
  props: VvDropdownItemProps,
4023
3884
  setup(__props) {
4024
3885
  const props = __props;
@@ -4051,11 +3912,11 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
4051
3912
  }
4052
3913
  });
4053
3914
  const _hoisted_1$b = ["title"];
4054
- const __default__$c = {
3915
+ const __default__$e = {
4055
3916
  name: "VvDropdownOption"
4056
3917
  };
4057
3918
  const _sfc_main$g = /* @__PURE__ */ defineComponent({
4058
- ...__default__$c,
3919
+ ...__default__$e,
4059
3920
  props: VvDropdownOptionProps,
4060
3921
  setup(__props) {
4061
3922
  const props = __props;
@@ -4112,11 +3973,11 @@ const _hoisted_1$a = {
4112
3973
  role: "presentation",
4113
3974
  tabindex: "-1"
4114
3975
  };
4115
- const __default__$b = {
3976
+ const __default__$d = {
4116
3977
  name: "VvDropdownOptgroup"
4117
3978
  };
4118
3979
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
4119
- ...__default__$b,
3980
+ ...__default__$d,
4120
3981
  props: {
4121
3982
  ...LabelProps
4122
3983
  },
@@ -4207,11 +4068,11 @@ const _hoisted_10$1 = {
4207
4068
  key: 1,
4208
4069
  class: "vv-select__input-after"
4209
4070
  };
4210
- const __default__$a = {
4071
+ const __default__$c = {
4211
4072
  name: "VvSelect"
4212
4073
  };
4213
4074
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
4214
- ...__default__$a,
4075
+ ...__default__$c,
4215
4076
  props: VvSelectProps,
4216
4077
  emits: VvSelectEmits,
4217
4078
  setup(__props, { emit: __emit }) {
@@ -4271,28 +4132,28 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4271
4132
  "vv-select",
4272
4133
  modifiers,
4273
4134
  computed(() => ({
4274
- valid: valid.value,
4275
- invalid: invalid.value,
4276
- loading: loading.value,
4277
- disabled: disabled.value,
4278
- readonly: readonly.value,
4135
+ "valid": valid.value,
4136
+ "invalid": invalid.value,
4137
+ "loading": loading.value,
4138
+ "disabled": disabled.value,
4139
+ "readonly": readonly.value,
4279
4140
  "icon-before": hasIconBefore.value !== void 0,
4280
4141
  "icon-after": hasIconAfter.value !== void 0,
4281
- dirty: isDirty.value,
4282
- focus: focused.value,
4283
- floating: floating.value,
4284
- multiple: multiple.value
4142
+ "dirty": isDirty.value,
4143
+ "focus": focused.value,
4144
+ "floating": floating.value,
4145
+ "multiple": multiple.value
4285
4146
  }))
4286
4147
  );
4287
4148
  const hasAttrs = computed(() => {
4288
4149
  return {
4289
- name: props.name,
4290
- tabindex: hasTabindex.value,
4291
- disabled: isDisabled.value,
4292
- required: props.required,
4293
- size: props.size,
4294
- autocomplete: props.autocomplete,
4295
- multiple: props.multiple,
4150
+ "name": props.name,
4151
+ "tabindex": hasTabindex.value,
4152
+ "disabled": isDisabled.value,
4153
+ "required": props.required,
4154
+ "size": props.size,
4155
+ "autocomplete": props.autocomplete,
4156
+ "multiple": props.multiple,
4296
4157
  "aria-invalid": isInvalid.value,
4297
4158
  "aria-describedby": hasHintLabelOrSlot.value ? hasHintId.value : void 0,
4298
4159
  "aria-errormessage": hasInvalidLabelOrSlot.value ? hasHintId.value : void 0
@@ -4320,11 +4181,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4320
4181
  emit("update:modelValue", newValue);
4321
4182
  }
4322
4183
  });
4323
- const isGroup = (option) => {
4184
+ function isGroup(option) {
4324
4185
  if (typeof option === "string")
4325
4186
  return false;
4326
4187
  return option && option.options && option.options.length > 0;
4327
- };
4188
+ }
4328
4189
  return (_ctx, _cache) => {
4329
4190
  return openBlock(), createElementBlock(
4330
4191
  "div",
@@ -4457,106 +4318,259 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4457
4318
  };
4458
4319
  }
4459
4320
  });
4460
- const _hoisted_1$8 = ["id"];
4461
- const _hoisted_2$6 = ["id", "for"];
4462
- const _hoisted_3$4 = ["id", "aria-controls", "placeholder"];
4463
- const _hoisted_4$3 = {
4464
- key: 0,
4465
- class: "vv-select__input-before"
4466
- };
4467
- const _hoisted_5$3 = { class: "vv-select__inner" };
4468
- const _hoisted_6$3 = ["aria-controls", "aria-expanded", "aria-labelledby", "aria-describedby", "aria-errormessage", "tabindex"];
4469
- const _hoisted_7$3 = {
4470
- key: 0,
4471
- class: "vv-select__value"
4472
- };
4473
- const _hoisted_8$2 = ["aria-label", "onClick"];
4474
- const _hoisted_9$1 = {
4475
- key: 1,
4476
- class: "vv-select__input-after"
4477
- };
4478
- const __default__$9 = {
4479
- name: "VvCombobox",
4480
- components: {
4481
- VvDropdown: _sfc_main$i,
4482
- VvDropdownOption: _sfc_main$g,
4483
- VvDropdownOptgroup: _sfc_main$f,
4484
- VvButton: _sfc_main$n
4485
- }
4486
- };
4487
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
4488
- ...__default__$9,
4489
- props: VvComboboxProps,
4490
- emits: VvComboboxEvents,
4491
- setup(__props, { emit: __emit }) {
4492
- const props = __props;
4493
- const emit = __emit;
4494
- const slots = useSlots();
4495
- const propsDefaults = useDefaults(
4496
- "VvCombobox",
4497
- VvComboboxProps,
4498
- props
4499
- );
4500
- const isGroup = (option) => {
4501
- if (typeof option === "string") {
4502
- return false;
4503
- }
4504
- return option.options && option.options.length > 0;
4505
- };
4506
- const {
4507
- HintSlot,
4508
- hasHintLabelOrSlot,
4509
- hasInvalidLabelOrSlot,
4510
- hintSlotScope
4511
- } = HintSlotFactory(propsDefaults, slots);
4512
- const inputEl = ref(null);
4513
- const inputSearchEl = ref(null);
4514
- const wrapperEl = ref(null);
4515
- const { focused } = useComponentFocus(inputEl, emit);
4516
- const { focused: focusedWithin } = useFocusWithin(wrapperEl);
4517
- watch(focused, (newValue) => {
4518
- if (!props.autoOpen) {
4519
- return;
4520
- }
4521
- if (newValue && !expanded.value) {
4522
- expand();
4523
- return;
4524
- }
4525
- if (!newValue && expanded.value && !focusedWithin.value) {
4526
- collapse();
4527
- }
4528
- });
4529
- watch(focusedWithin, (newValue) => {
4530
- if (!focused.value && !newValue && expanded.value) {
4531
- collapse();
4532
- }
4533
- });
4534
- const searchText = ref("");
4535
- const debouncedSearchText = refDebounced(
4536
- searchText,
4537
- computed(() => Number(props.debounceSearch))
4538
- );
4539
- watch(debouncedSearchText, () => {
4540
- emit("update:search", debouncedSearchText.value);
4541
- emit("change:search", debouncedSearchText.value);
4542
- });
4543
- const expanded = ref(false);
4544
- const toggleExpanded = () => {
4545
- if (props.disabled || props.readonly)
4546
- return;
4547
- expanded.value = !expanded.value;
4548
- };
4549
- const expand = () => {
4550
- if (props.disabled || props.readonly || expanded.value)
4551
- return;
4552
- expanded.value = true;
4553
- };
4554
- const collapse = () => {
4555
- if (props.disabled || props.readonly || !expanded.value)
4556
- return;
4557
- expanded.value = false;
4558
- };
4559
- const onAfterExpand = () => {
4321
+ const VvComboboxEvents = [
4322
+ "update:modelValue",
4323
+ "update:search",
4324
+ /**
4325
+ * @deprecated change:search should not be used, use update:search instead
4326
+ */
4327
+ "change:search",
4328
+ "focus",
4329
+ "blur"
4330
+ ];
4331
+ const VvComboboxProps = {
4332
+ ...IdNameProps,
4333
+ ...TabindexProps,
4334
+ ...ValidProps,
4335
+ ...InvalidProps,
4336
+ ...HintProps,
4337
+ ...LoadingProps,
4338
+ ...DisabledProps,
4339
+ ...ReadonlyProps,
4340
+ ...ModifiersProps,
4341
+ ...OptionsProps,
4342
+ ...IconProps,
4343
+ ...FloatingLabelProps,
4344
+ ...UnselectableProps,
4345
+ ...DropdownProps,
4346
+ ...LabelProps,
4347
+ /**
4348
+ * Dropdown show / hide transition name
4349
+ */
4350
+ transitionName: {
4351
+ type: String,
4352
+ default: "vv-dropdown--mobile-fade-block"
4353
+ },
4354
+ /**
4355
+ * modelValue can be a string, number, boolean, object or array of string, number, boolean, object
4356
+ */
4357
+ modelValue: {
4358
+ type: [String, Number, Boolean, Object, Array],
4359
+ default: void 0
4360
+ },
4361
+ /**
4362
+ * Label for no search results
4363
+ */
4364
+ noResultsLabel: { type: String, default: "No results" },
4365
+ /**
4366
+ * Label for no options available
4367
+ */
4368
+ noOptionsLabel: { type: String, default: "No options available" },
4369
+ /**
4370
+ * Label for selected option hint
4371
+ */
4372
+ selectedHintLabel: { type: String, default: "Selected" },
4373
+ /**
4374
+ * Label for deselect action button
4375
+ */
4376
+ deselectActionLabel: { type: String, default: "Deselect" },
4377
+ /**
4378
+ * Label for select option hint
4379
+ */
4380
+ selectHintLabel: { type: String, default: "Press enter to select" },
4381
+ /**
4382
+ * Label for deselected option hint
4383
+ */
4384
+ deselectHintLabel: { type: String, default: "Press enter to remove" },
4385
+ /**
4386
+ * Label close button
4387
+ */
4388
+ closeLabel: { type: String, default: "Close" },
4389
+ /**
4390
+ * Select input placeholder
4391
+ */
4392
+ placeholder: String,
4393
+ /**
4394
+ * Use input text to search on options
4395
+ */
4396
+ searchable: Boolean,
4397
+ /**
4398
+ * Search function to filter options
4399
+ */
4400
+ searchFunction: {
4401
+ type: Function,
4402
+ default: void 0
4403
+ },
4404
+ /**
4405
+ * On searchable select is the input search placeholder
4406
+ */
4407
+ searchPlaceholder: {
4408
+ type: String,
4409
+ default: "Search..."
4410
+ },
4411
+ /**
4412
+ * The input search debounce time in ms
4413
+ */
4414
+ debounceSearch: {
4415
+ type: [Number, String],
4416
+ default: 0
4417
+ },
4418
+ /**
4419
+ * Manage modelValue as string[] or object[]
4420
+ */
4421
+ multiple: Boolean,
4422
+ /**
4423
+ * The max number of selected values
4424
+ */
4425
+ maxValues: [Number, String],
4426
+ /**
4427
+ * The select label separator visible to the user
4428
+ */
4429
+ separator: { type: String, default: ", " },
4430
+ /**
4431
+ * Show native select
4432
+ */
4433
+ native: Boolean,
4434
+ /**
4435
+ * Show badges
4436
+ */
4437
+ badges: Boolean,
4438
+ /**
4439
+ * Badge modifiers
4440
+ */
4441
+ badgeModifiers: {
4442
+ type: [String, Array],
4443
+ default: "action sm"
4444
+ },
4445
+ /**
4446
+ * Set dropdown width to the same as the trigger
4447
+ */
4448
+ triggerWidth: {
4449
+ ...DropdownProps.triggerWidth,
4450
+ default: true
4451
+ },
4452
+ /**
4453
+ * Dropdown modifiers
4454
+ */
4455
+ dropdownModifiers: {
4456
+ type: [String, Array],
4457
+ default: "mobile"
4458
+ },
4459
+ /**
4460
+ * Open dropdown on focus
4461
+ */
4462
+ autoOpen: {
4463
+ type: Boolean,
4464
+ default: false
4465
+ },
4466
+ /**
4467
+ * Keep open dropdown on single select
4468
+ */
4469
+ keepOpen: {
4470
+ type: Boolean,
4471
+ default: false
4472
+ }
4473
+ };
4474
+ const _hoisted_1$8 = ["id"];
4475
+ const _hoisted_2$6 = ["id", "for"];
4476
+ const _hoisted_3$4 = ["id", "aria-controls", "placeholder"];
4477
+ const _hoisted_4$3 = {
4478
+ key: 0,
4479
+ class: "vv-select__input-before"
4480
+ };
4481
+ const _hoisted_5$3 = { class: "vv-select__inner" };
4482
+ const _hoisted_6$3 = ["aria-controls", "aria-expanded", "aria-labelledby", "aria-describedby", "aria-errormessage", "tabindex"];
4483
+ const _hoisted_7$3 = {
4484
+ key: 0,
4485
+ class: "vv-select__value"
4486
+ };
4487
+ const _hoisted_8$2 = ["aria-label", "onClick"];
4488
+ const _hoisted_9$1 = {
4489
+ key: 1,
4490
+ class: "vv-select__input-after"
4491
+ };
4492
+ const __default__$b = {
4493
+ name: "VvCombobox",
4494
+ components: {
4495
+ VvDropdown: _sfc_main$i,
4496
+ VvDropdownOption: _sfc_main$g,
4497
+ VvDropdownOptgroup: _sfc_main$f,
4498
+ VvButton: _sfc_main$n
4499
+ }
4500
+ };
4501
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4502
+ ...__default__$b,
4503
+ props: VvComboboxProps,
4504
+ emits: VvComboboxEvents,
4505
+ setup(__props, { emit: __emit }) {
4506
+ const props = __props;
4507
+ const emit = __emit;
4508
+ const slots = useSlots();
4509
+ const propsDefaults = useDefaults(
4510
+ "VvCombobox",
4511
+ VvComboboxProps,
4512
+ props
4513
+ );
4514
+ function isGroup(option) {
4515
+ if (typeof option === "string") {
4516
+ return false;
4517
+ }
4518
+ return option.options && option.options.length > 0;
4519
+ }
4520
+ const {
4521
+ HintSlot,
4522
+ hasHintLabelOrSlot,
4523
+ hasInvalidLabelOrSlot,
4524
+ hintSlotScope
4525
+ } = HintSlotFactory(propsDefaults, slots);
4526
+ const inputEl = ref(null);
4527
+ const inputSearchEl = ref(null);
4528
+ const wrapperEl = ref(null);
4529
+ const { focused } = useComponentFocus(inputEl, emit);
4530
+ const { focused: focusedWithin } = useFocusWithin(wrapperEl);
4531
+ watch(focused, (newValue) => {
4532
+ if (!props.autoOpen) {
4533
+ return;
4534
+ }
4535
+ if (newValue && !expanded.value) {
4536
+ expand();
4537
+ return;
4538
+ }
4539
+ if (!newValue && expanded.value && !focusedWithin.value) {
4540
+ collapse();
4541
+ }
4542
+ });
4543
+ watch(focusedWithin, (newValue) => {
4544
+ if (!focused.value && !newValue && expanded.value) {
4545
+ collapse();
4546
+ }
4547
+ });
4548
+ const searchText = ref("");
4549
+ const debouncedSearchText = refDebounced(
4550
+ searchText,
4551
+ computed(() => Number(props.debounceSearch))
4552
+ );
4553
+ watch(debouncedSearchText, () => {
4554
+ emit("update:search", debouncedSearchText.value);
4555
+ emit("change:search", debouncedSearchText.value);
4556
+ });
4557
+ const expanded = ref(false);
4558
+ function toggleExpanded() {
4559
+ if (props.disabled || props.readonly)
4560
+ return;
4561
+ expanded.value = !expanded.value;
4562
+ }
4563
+ function expand() {
4564
+ if (props.disabled || props.readonly || expanded.value)
4565
+ return;
4566
+ expanded.value = true;
4567
+ }
4568
+ function collapse() {
4569
+ if (props.disabled || props.readonly || !expanded.value)
4570
+ return;
4571
+ expanded.value = false;
4572
+ }
4573
+ function onAfterExpand() {
4560
4574
  if (propsDefaults.value.searchable) {
4561
4575
  if (inputSearchEl.value) {
4562
4576
  inputSearchEl.value.focus({
@@ -4564,12 +4578,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4564
4578
  });
4565
4579
  }
4566
4580
  }
4567
- };
4568
- const onAfterCollapse = () => {
4581
+ }
4582
+ function onAfterCollapse() {
4569
4583
  if (propsDefaults.value.searchable) {
4570
4584
  searchText.value = "";
4571
4585
  }
4572
- };
4586
+ }
4573
4587
  const {
4574
4588
  id,
4575
4589
  icon,
@@ -4599,17 +4613,17 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4599
4613
  "vv-select",
4600
4614
  modifiers,
4601
4615
  computed(() => ({
4602
- disabled: disabled.value,
4603
- loading: isLoading.value,
4604
- readonly: readonly.value,
4616
+ "disabled": disabled.value,
4617
+ "loading": isLoading.value,
4618
+ "readonly": readonly.value,
4605
4619
  "icon-before": hasIconBefore.value !== void 0,
4606
4620
  "icon-after": hasIconAfter.value !== void 0,
4607
- valid: valid.value,
4608
- invalid: invalid.value,
4609
- dirty: isDirty.value,
4610
- focus: focused.value || focusedWithin.value || expanded.value,
4611
- floating: floating.value,
4612
- badges: props.badges
4621
+ "valid": valid.value,
4622
+ "invalid": invalid.value,
4623
+ "dirty": isDirty.value,
4624
+ "focus": focused.value || focusedWithin.value || expanded.value,
4625
+ "floating": floating.value,
4626
+ "badges": props.badges
4613
4627
  }))
4614
4628
  );
4615
4629
  const {
@@ -4658,10 +4672,10 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4658
4672
  const hasValue = computed(() => {
4659
4673
  return selectedOptions.value.map((option) => getOptionLabel(option)).join(props.separator);
4660
4674
  });
4661
- const onClickInput = () => {
4675
+ function onClickInput() {
4662
4676
  props.autoOpen ? expand() : toggleExpanded();
4663
- };
4664
- const onInput = (option) => {
4677
+ }
4678
+ function onInput(option) {
4665
4679
  var _a;
4666
4680
  if (props.disabled || props.readonly) {
4667
4681
  return;
@@ -4695,7 +4709,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4695
4709
  }
4696
4710
  }
4697
4711
  emit("update:modelValue", toReturn);
4698
- };
4712
+ }
4699
4713
  const selectProps = computed(() => ({
4700
4714
  id: hasId.value,
4701
4715
  name: props.name,
@@ -5156,11 +5170,11 @@ const _hoisted_3$3 = {
5156
5170
  key: 1,
5157
5171
  class: "vv-dialog__footer"
5158
5172
  };
5159
- const __default__$8 = {
5173
+ const __default__$a = {
5160
5174
  name: "VvDialog"
5161
5175
  };
5162
5176
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
5163
- ...__default__$8,
5177
+ ...__default__$a,
5164
5178
  props: VvDialogProps,
5165
5179
  emits: VvDialogEvents,
5166
5180
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -5200,7 +5214,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5200
5214
  (_b = dialogEl.value) == null ? void 0 : _b.showModal();
5201
5215
  }
5202
5216
  emit("open");
5203
- emit("before-enter");
5217
+ emit("beforeEnter");
5204
5218
  },
5205
5219
  "after-leave": () => {
5206
5220
  var _a, _b;
@@ -5208,25 +5222,25 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5208
5222
  (_b = dialogEl.value) == null ? void 0 : _b.close();
5209
5223
  }
5210
5224
  emit("close");
5211
- emit("after-leave");
5225
+ emit("afterLeave");
5212
5226
  },
5213
- enter: () => {
5227
+ "enter": () => {
5214
5228
  emit("enter");
5215
5229
  },
5216
5230
  "after-enter": () => {
5217
- emit("after-enter");
5231
+ emit("afterEnter");
5218
5232
  },
5219
5233
  "enter-cancelled": () => {
5220
- emit("enter-cancelled");
5234
+ emit("enterCancelled");
5221
5235
  },
5222
5236
  "before-leave": () => {
5223
- emit("before-leave");
5237
+ emit("beforeLeave");
5224
5238
  },
5225
- leave: () => {
5239
+ "leave": () => {
5226
5240
  emit("leave");
5227
5241
  },
5228
5242
  "leave-cancelled": () => {
5229
- emit("leave-cancelled");
5243
+ emit("leaveCancelled");
5230
5244
  }
5231
5245
  };
5232
5246
  onClickOutside(modalWrapper, () => {
@@ -5241,11 +5255,11 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5241
5255
  isOpened.value = true;
5242
5256
  }
5243
5257
  __expose({ close, open });
5244
- const onCancel = () => {
5258
+ function onCancel() {
5245
5259
  if (!props.keepOpen) {
5246
5260
  close();
5247
5261
  }
5248
- };
5262
+ }
5249
5263
  return (_ctx, _cache) => {
5250
5264
  return openBlock(), createBlock(Transition, mergeProps({ name: unref(transitioName) }, toHandlers(dialogTransitionHandlers), { persisted: "" }), {
5251
5265
  default: withCtx(() => [
@@ -5312,49 +5326,206 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5312
5326
  };
5313
5327
  }
5314
5328
  });
5315
- const __default__$7 = {
5316
- name: "VvDropdownAction"
5317
- };
5318
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
5319
- ...__default__$7,
5329
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
5330
+ __name: "VvDropdownAction",
5331
+ props: {
5332
+ ...ActionProps,
5333
+ ...ModifiersProps
5334
+ },
5335
+ setup(__props) {
5336
+ const props = __props;
5337
+ const { modifiers } = toRefs(props);
5338
+ const bemCssClasses = useModifiers("vv-dropdown-action", modifiers);
5339
+ return (_ctx, _cache) => {
5340
+ return openBlock(), createBlock(_sfc_main$h, null, {
5341
+ default: withCtx(() => [
5342
+ createVNode(_sfc_main$v, mergeProps({
5343
+ disabled: _ctx.disabled,
5344
+ pressed: _ctx.pressed,
5345
+ active: _ctx.active,
5346
+ type: _ctx.type,
5347
+ to: _ctx.to,
5348
+ href: _ctx.href,
5349
+ target: _ctx.target,
5350
+ rel: _ctx.rel
5351
+ }, { class: unref(bemCssClasses) }), {
5352
+ default: withCtx(() => [
5353
+ renderSlot(_ctx.$slots, "default", {}, () => [
5354
+ createTextVNode(
5355
+ toDisplayString(_ctx.label),
5356
+ 1
5357
+ /* TEXT */
5358
+ )
5359
+ ])
5360
+ ]),
5361
+ _: 3
5362
+ /* FORWARDED */
5363
+ }, 16, ["class"])
5364
+ ]),
5365
+ _: 3
5366
+ /* FORWARDED */
5367
+ });
5368
+ };
5369
+ }
5370
+ });
5371
+ const VvInputPasswordAction = defineComponent({
5372
+ components: {
5373
+ VvIcon: _sfc_main$u
5374
+ },
5375
+ props: {
5376
+ disabled: {
5377
+ type: Boolean,
5378
+ default: false
5379
+ },
5380
+ labelShow: {
5381
+ type: String,
5382
+ default: "Show password"
5383
+ },
5384
+ labelHide: {
5385
+ type: String,
5386
+ default: "Hide password"
5387
+ },
5388
+ iconShow: {
5389
+ type: [String, Object],
5390
+ default: ACTION_ICONS.showPassword
5391
+ },
5392
+ iconHide: {
5393
+ type: [String, Object],
5394
+ default: ACTION_ICONS.hidePassword
5395
+ }
5396
+ },
5397
+ emits: ["toggle-password"],
5398
+ setup(props, { emit }) {
5399
+ const active = ref(false);
5400
+ const activeIcon = computed(
5401
+ () => active.value ? props.iconHide : props.iconShow
5402
+ );
5403
+ const { hasIcon } = useComponentIcon(activeIcon);
5404
+ function onClick(e) {
5405
+ e == null ? void 0 : e.stopPropagation();
5406
+ if (!props.disabled) {
5407
+ active.value = !active.value;
5408
+ emit("toggle-password", active.value);
5409
+ }
5410
+ }
5411
+ return {
5412
+ active,
5413
+ activeIcon,
5414
+ hasIcon,
5415
+ onClick
5416
+ };
5417
+ },
5418
+ render() {
5419
+ const icon = this.hasIcon ? h(_sfc_main$u, {
5420
+ ...this.hasIcon,
5421
+ class: "vv-input-text__icon"
5422
+ }) : void 0;
5423
+ return h(
5424
+ "button",
5425
+ {
5426
+ disabled: this.disabled,
5427
+ class: "vv-input-text__action",
5428
+ ariaLabel: this.active ? this.labelHide : this.labelShow,
5429
+ type: "button",
5430
+ onClick: this.onClick
5431
+ },
5432
+ icon
5433
+ );
5434
+ }
5435
+ });
5436
+ const VvInputStepAction = defineComponent({
5437
+ components: {
5438
+ VvIcon: _sfc_main$u
5439
+ },
5440
+ props: {
5441
+ disabled: {
5442
+ type: Boolean,
5443
+ default: false
5444
+ },
5445
+ label: {
5446
+ type: String
5447
+ },
5448
+ mode: {
5449
+ type: String,
5450
+ validator: (v) => ["up", "down"].includes(v),
5451
+ default: "up"
5452
+ }
5453
+ },
5454
+ emits: ["step-up", "step-down"],
5455
+ setup(props, { emit }) {
5456
+ const isUp = computed(() => props.mode === "up");
5457
+ const onClick = (e) => {
5458
+ e == null ? void 0 : e.stopPropagation();
5459
+ if (!props.disabled) {
5460
+ emit(isUp.value ? "step-up" : "step-down");
5461
+ }
5462
+ };
5463
+ return {
5464
+ isUp,
5465
+ onClick
5466
+ };
5467
+ },
5468
+ render() {
5469
+ return h("button", {
5470
+ class: [
5471
+ "vv-input-text__action vv-input-text__action-chevron",
5472
+ this.isUp && "vv-input-text__action-chevron-up"
5473
+ ],
5474
+ disabled: this.disabled,
5475
+ ariaLabel: this.label,
5476
+ type: "button",
5477
+ onClick: this.onClick
5478
+ });
5479
+ }
5480
+ });
5481
+ const VvInputClearAction = defineComponent({
5482
+ components: {
5483
+ VvIcon: _sfc_main$u
5484
+ },
5320
5485
  props: {
5321
- ...ActionProps,
5322
- ...ModifiersProps
5486
+ disabled: {
5487
+ type: Boolean,
5488
+ default: false
5489
+ },
5490
+ label: {
5491
+ type: String,
5492
+ default: "Clear"
5493
+ },
5494
+ icon: {
5495
+ type: [String, Object],
5496
+ default: "close"
5497
+ }
5323
5498
  },
5324
- setup(__props) {
5325
- const props = __props;
5326
- const { modifiers } = toRefs(props);
5327
- const bemCssClasses = useModifiers("vv-dropdown-action", modifiers);
5328
- return (_ctx, _cache) => {
5329
- return openBlock(), createBlock(_sfc_main$h, null, {
5330
- default: withCtx(() => [
5331
- createVNode(_sfc_main$v, mergeProps({
5332
- disabled: _ctx.disabled,
5333
- pressed: _ctx.pressed,
5334
- active: _ctx.active,
5335
- type: _ctx.type,
5336
- to: _ctx.to,
5337
- href: _ctx.href,
5338
- target: _ctx.target,
5339
- rel: _ctx.rel
5340
- }, { class: unref(bemCssClasses) }), {
5341
- default: withCtx(() => [
5342
- renderSlot(_ctx.$slots, "default", {}, () => [
5343
- createTextVNode(
5344
- toDisplayString(_ctx.label),
5345
- 1
5346
- /* TEXT */
5347
- )
5348
- ])
5349
- ]),
5350
- _: 3
5351
- /* FORWARDED */
5352
- }, 16, ["class"])
5353
- ]),
5354
- _: 3
5355
- /* FORWARDED */
5356
- });
5499
+ emits: ["clear"],
5500
+ setup(props, { emit }) {
5501
+ const { hasIcon } = useComponentIcon(computed(() => props.icon));
5502
+ function onClick(e) {
5503
+ e == null ? void 0 : e.stopPropagation();
5504
+ if (!props.disabled) {
5505
+ emit("clear");
5506
+ }
5507
+ }
5508
+ return {
5509
+ hasIcon,
5510
+ onClick
5357
5511
  };
5512
+ },
5513
+ render() {
5514
+ const icon = this.hasIcon ? h(_sfc_main$u, {
5515
+ ...this.hasIcon,
5516
+ class: "vv-input-text__icon"
5517
+ }) : void 0;
5518
+ return h(
5519
+ "button",
5520
+ {
5521
+ disabled: this.disabled,
5522
+ class: "vv-input-text__action",
5523
+ ariaLabel: this.label,
5524
+ type: "button",
5525
+ onClick: this.onClick
5526
+ },
5527
+ icon
5528
+ );
5358
5529
  }
5359
5530
  });
5360
5531
  const INPUT_TYPES = {
@@ -5511,215 +5682,55 @@ const VvInputTextProps = {
5511
5682
  default: "Remove suggestion"
5512
5683
  },
5513
5684
  /**
5514
- * iMask options
5515
- * @see https://imask.js.org/guide.html
5516
- */
5517
- iMask: {
5518
- type: Object,
5519
- default: void 0
5520
- },
5521
- /**
5522
- * Masked value
5523
- */
5524
- masked: {
5525
- type: String,
5526
- default: void 0
5527
- },
5528
- /**
5529
- * Adjust input width to content
5530
- */
5531
- autoWidth: {
5532
- type: Boolean,
5533
- default: false
5534
- },
5535
- /**
5536
- * Hide type number, password and search actions
5537
- */
5538
- hideActions: {
5539
- type: Boolean,
5540
- default: false
5541
- },
5542
- /**
5543
- * Add unit label to input
5544
- */
5545
- unit: {
5546
- type: String
5547
- },
5548
- /**
5549
- * Select input text on focus
5550
- */
5551
- selectOnFocus: {
5552
- type: Boolean,
5553
- default: false
5554
- },
5555
- /**
5556
- * Maximum number of suggestions
5557
- */
5558
- maxSuggestions: {
5559
- type: Number,
5560
- default: 5
5561
- }
5562
- };
5563
- const VvInputPasswordAction = defineComponent({
5564
- components: {
5565
- VvIcon: _sfc_main$u
5566
- },
5567
- props: {
5568
- disabled: {
5569
- type: Boolean,
5570
- default: false
5571
- },
5572
- labelShow: {
5573
- type: String,
5574
- default: "Show password"
5575
- },
5576
- labelHide: {
5577
- type: String,
5578
- default: "Hide password"
5579
- },
5580
- iconShow: {
5581
- type: [String, Object],
5582
- default: ACTION_ICONS.showPassword
5583
- },
5584
- iconHide: {
5585
- type: [String, Object],
5586
- default: ACTION_ICONS.hidePassword
5587
- }
5588
- },
5589
- emits: ["toggle-password"],
5590
- setup(props, { emit }) {
5591
- const active = ref(false);
5592
- const activeIcon = computed(
5593
- () => active.value ? props.iconHide : props.iconShow
5594
- );
5595
- const { hasIcon } = useComponentIcon(activeIcon);
5596
- function onClick(e) {
5597
- e == null ? void 0 : e.stopPropagation();
5598
- if (!props.disabled) {
5599
- active.value = !active.value;
5600
- emit("toggle-password", active.value);
5601
- }
5602
- }
5603
- return {
5604
- active,
5605
- activeIcon,
5606
- hasIcon,
5607
- onClick
5608
- };
5609
- },
5610
- render() {
5611
- const icon = this.hasIcon ? h(_sfc_main$u, {
5612
- ...this.hasIcon,
5613
- class: "vv-input-text__icon"
5614
- }) : void 0;
5615
- return h(
5616
- "button",
5617
- {
5618
- disabled: this.disabled,
5619
- class: "vv-input-text__action",
5620
- ariaLabel: this.active ? this.labelHide : this.labelShow,
5621
- type: "button",
5622
- onClick: this.onClick
5623
- },
5624
- icon
5625
- );
5626
- }
5627
- });
5628
- const VvInputStepAction = defineComponent({
5629
- components: {
5630
- VvIcon: _sfc_main$u
5685
+ * iMask options
5686
+ * @see https://imask.js.org/guide.html
5687
+ */
5688
+ iMask: {
5689
+ type: Object,
5690
+ default: void 0
5631
5691
  },
5632
- props: {
5633
- disabled: {
5634
- type: Boolean,
5635
- default: false
5636
- },
5637
- label: {
5638
- type: String
5639
- },
5640
- mode: {
5641
- type: String,
5642
- validator: (v) => ["up", "down"].includes(v),
5643
- default: "up"
5644
- }
5692
+ /**
5693
+ * Masked value
5694
+ */
5695
+ masked: {
5696
+ type: String,
5697
+ default: void 0
5645
5698
  },
5646
- emits: ["step-up", "step-down"],
5647
- setup(props, { emit }) {
5648
- const isUp = computed(() => props.mode === "up");
5649
- const onClick = (e) => {
5650
- e == null ? void 0 : e.stopPropagation();
5651
- if (!props.disabled) {
5652
- emit(isUp.value ? "step-up" : "step-down");
5653
- }
5654
- };
5655
- return {
5656
- isUp,
5657
- onClick
5658
- };
5699
+ /**
5700
+ * Adjust input width to content
5701
+ */
5702
+ autoWidth: {
5703
+ type: Boolean,
5704
+ default: false
5659
5705
  },
5660
- render() {
5661
- return h("button", {
5662
- class: [
5663
- "vv-input-text__action vv-input-text__action-chevron",
5664
- this.isUp && "vv-input-text__action-chevron-up"
5665
- ],
5666
- disabled: this.disabled,
5667
- ariaLabel: this.label,
5668
- type: "button",
5669
- onClick: this.onClick
5670
- });
5671
- }
5672
- });
5673
- const VvInputClearAction = defineComponent({
5674
- components: {
5675
- VvIcon: _sfc_main$u
5706
+ /**
5707
+ * Hide type number, password and search actions
5708
+ */
5709
+ hideActions: {
5710
+ type: Boolean,
5711
+ default: false
5676
5712
  },
5677
- props: {
5678
- disabled: {
5679
- type: Boolean,
5680
- default: false
5681
- },
5682
- label: {
5683
- type: String,
5684
- default: "Clear"
5685
- },
5686
- icon: {
5687
- type: [String, Object],
5688
- default: "close"
5689
- }
5713
+ /**
5714
+ * Add unit label to input
5715
+ */
5716
+ unit: {
5717
+ type: String
5690
5718
  },
5691
- emits: ["clear"],
5692
- setup(props, { emit }) {
5693
- const { hasIcon } = useComponentIcon(computed(() => props.icon));
5694
- function onClick(e) {
5695
- e == null ? void 0 : e.stopPropagation();
5696
- if (!props.disabled) {
5697
- emit("clear");
5698
- }
5699
- }
5700
- return {
5701
- hasIcon,
5702
- onClick
5703
- };
5719
+ /**
5720
+ * Select input text on focus
5721
+ */
5722
+ selectOnFocus: {
5723
+ type: Boolean,
5724
+ default: false
5704
5725
  },
5705
- render() {
5706
- const icon = this.hasIcon ? h(_sfc_main$u, {
5707
- ...this.hasIcon,
5708
- class: "vv-input-text__icon"
5709
- }) : void 0;
5710
- return h(
5711
- "button",
5712
- {
5713
- disabled: this.disabled,
5714
- class: "vv-input-text__action",
5715
- ariaLabel: this.label,
5716
- type: "button",
5717
- onClick: this.onClick
5718
- },
5719
- icon
5720
- );
5726
+ /**
5727
+ * Maximum number of suggestions
5728
+ */
5729
+ maxSuggestions: {
5730
+ type: Number,
5731
+ default: 5
5721
5732
  }
5722
- });
5733
+ };
5723
5734
  function VvInputTextActionsFactory(type, parentProps) {
5724
5735
  return {
5725
5736
  name: "VvInputTextActions",
@@ -5803,7 +5814,7 @@ function useDebouncedInput(modelValue, emit, ms = 0, {
5803
5814
  } = {}) {
5804
5815
  let timeout;
5805
5816
  if (typeof ms === "string") {
5806
- ms = parseInt(ms);
5817
+ ms = Number.parseInt(ms);
5807
5818
  }
5808
5819
  return computed({
5809
5820
  get: () => getter(modelValue == null ? void 0 : modelValue.value),
@@ -5871,11 +5882,11 @@ const _hoisted_6$2 = {
5871
5882
  };
5872
5883
  const _hoisted_7$2 = { class: "flex-1" };
5873
5884
  const _hoisted_8$1 = ["title", "onClick"];
5874
- const __default__$6 = {
5885
+ const __default__$9 = {
5875
5886
  name: "VvInputText"
5876
5887
  };
5877
5888
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
5878
- ...__default__$6,
5889
+ ...__default__$9,
5879
5890
  props: VvInputTextProps,
5880
5891
  emits: VvInputTextEvents,
5881
5892
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -5888,24 +5899,23 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5888
5899
  props
5889
5900
  );
5890
5901
  const {
5891
- id,
5902
+ count,
5903
+ debounce,
5892
5904
  icon,
5893
5905
  iconPosition,
5894
5906
  iconRemoveSuggestion,
5895
- label,
5896
- modelValue,
5897
- count,
5898
- valid,
5907
+ id,
5899
5908
  invalid,
5909
+ label,
5900
5910
  loading,
5901
- debounce,
5902
5911
  maxlength,
5903
5912
  minlength,
5904
- type,
5905
- iMask,
5913
+ modelValue,
5906
5914
  step,
5907
5915
  storageKey,
5908
- storageType
5916
+ storageType,
5917
+ type,
5918
+ valid
5909
5919
  } = toRefs(props);
5910
5920
  const hasId = useUniqueId(id);
5911
5921
  const hasHintId = computed(() => `${hasId.value}-hint`);
@@ -5921,7 +5931,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5921
5931
  const maskReady = ref(false);
5922
5932
  const { el, mask, typed, masked, unmasked } = useIMask(
5923
5933
  computed(
5924
- () => (iMask == null ? void 0 : iMask.value) ?? {
5934
+ () => props.iMask ?? {
5925
5935
  mask: /./
5926
5936
  }
5927
5937
  ),
@@ -5967,7 +5977,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5967
5977
  if (!(date instanceof Date)) {
5968
5978
  date = new Date(date);
5969
5979
  }
5970
- localModelValue.value = `${date.getFullYear()}-${("0" + (date.getMonth() + 1)).slice(-2)}-${("0" + date.getDate()).slice(-2)}`;
5980
+ localModelValue.value = `${date.getFullYear()}-${`0${date.getMonth() + 1}`.slice(-2)}-${`0${date.getDate()}`.slice(-2)}`;
5971
5981
  return;
5972
5982
  }
5973
5983
  if (type.value === INPUT_TYPES.DATETIME_LOCAL) {
@@ -5986,7 +5996,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5986
5996
  if (!(typed.value instanceof Date)) {
5987
5997
  date = new Date(date);
5988
5998
  }
5989
- localModelValue.value = `${date.getFullYear()}-${("0" + (date.getMonth() + 1)).slice(-2)}-${("0" + date.getDate()).slice(-2)}T${("0" + date.getHours()).slice(-2)}:${("0" + date.getMinutes()).slice(-2)}`;
5999
+ localModelValue.value = `${date.getFullYear()}-${`0${date.getMonth() + 1}`.slice(-2)}-${`0${date.getDate()}`.slice(-2)}T${`0${date.getHours()}`.slice(-2)}:${`0${date.getMinutes()}`.slice(-2)}`;
5990
6000
  return;
5991
6001
  }
5992
6002
  if (!localModelValue.value && !unmasked.value) {
@@ -5996,25 +6006,23 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5996
6006
  }
5997
6007
  }
5998
6008
  );
5999
- const updateMaskValue = (newValue) => {
6009
+ function updateMaskValue(newValue) {
6000
6010
  var _a;
6001
- if (iMask == null ? void 0 : iMask.value) {
6002
- if (newValue === void 0) {
6003
- typed.value = "";
6004
- unmasked.value = "";
6005
- return;
6006
- }
6007
- if (((_a = iMask.value) == null ? void 0 : _a.mask) === Date) {
6008
- typed.value = new Date(newValue);
6009
- return;
6010
- }
6011
- if (type.value === INPUT_TYPES.NUMBER && NEGATIVE_ZERO_REGEX.test(unmasked.value) && newValue === 0) {
6012
- return;
6013
- }
6014
- typed.value = newValue;
6015
- unmasked.value = `${typed.value}`;
6011
+ if (newValue === void 0) {
6012
+ typed.value = "";
6013
+ unmasked.value = "";
6014
+ return;
6016
6015
  }
6017
- };
6016
+ if (((_a = props.iMask) == null ? void 0 : _a.mask) === Date) {
6017
+ typed.value = new Date(newValue);
6018
+ return;
6019
+ }
6020
+ if (type.value === INPUT_TYPES.NUMBER && NEGATIVE_ZERO_REGEX.test(unmasked.value) && newValue === 0) {
6021
+ return;
6022
+ }
6023
+ typed.value = newValue;
6024
+ unmasked.value = `${typed.value}`;
6025
+ }
6018
6026
  onMounted(() => {
6019
6027
  if (mask.value) {
6020
6028
  maskReady.value = true;
@@ -6075,37 +6083,37 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6075
6083
  });
6076
6084
  const showPassword = ref(false);
6077
6085
  const isPassword = computed(() => props.type === INPUT_TYPES.PASSWORD);
6078
- const onTogglePassword = () => {
6086
+ function onTogglePassword() {
6079
6087
  showPassword.value = !showPassword.value;
6080
- };
6088
+ }
6081
6089
  const isDateTime = computed(
6082
6090
  () => props.type === INPUT_TYPES.TIME || props.type === INPUT_TYPES.DATETIME_LOCAL || props.type === INPUT_TYPES.DATE || props.type === INPUT_TYPES.WEEK || props.type === INPUT_TYPES.MONTH
6083
6091
  );
6084
6092
  const isNumber = computed(() => props.type === INPUT_TYPES.NUMBER);
6085
- const onStepUp = () => {
6093
+ function onStepUp() {
6086
6094
  if (isClickable.value) {
6087
- if (iMask == null ? void 0 : iMask.value) {
6095
+ if (props.iMask) {
6088
6096
  typed.value = typed.value + Number((step == null ? void 0 : step.value) ?? 1);
6089
6097
  return;
6090
6098
  }
6091
6099
  inputEl.value.stepUp();
6092
6100
  localModelValue.value = Number(unref(inputEl).value);
6093
6101
  }
6094
- };
6095
- const onStepDown = () => {
6102
+ }
6103
+ function onStepDown() {
6096
6104
  if (isClickable.value) {
6097
- if (iMask == null ? void 0 : iMask.value) {
6105
+ if (props.iMask) {
6098
6106
  typed.value = typed.value - Number((step == null ? void 0 : step.value) ?? 1);
6099
6107
  return;
6100
6108
  }
6101
6109
  inputEl.value.stepDown();
6102
6110
  localModelValue.value = Number(unref(inputEl).value);
6103
6111
  }
6104
- };
6112
+ }
6105
6113
  const isSearch = computed(() => props.type === INPUT_TYPES.SEARCH);
6106
- const onClear = () => {
6114
+ function onClear() {
6107
6115
  localModelValue.value = "";
6108
- };
6116
+ }
6109
6117
  const { hasIconBefore, hasIconAfter } = useComponentIcon(icon, iconPosition);
6110
6118
  const iconAfter = computed(() => {
6111
6119
  if (hasIconAfter.value !== void 0) {
@@ -6160,30 +6168,30 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6160
6168
  const hasSuggestions = computed(
6161
6169
  () => (storageKey == null ? void 0 : storageKey.value) && suggestions.value && suggestions.value.size > 0
6162
6170
  );
6163
- const onSuggestionSelect = (suggestion) => {
6171
+ function onSuggestionSelect(suggestion) {
6164
6172
  var _a;
6165
6173
  localModelValue.value = suggestion;
6166
6174
  (_a = dropdownEl.value) == null ? void 0 : _a.hide();
6167
- };
6168
- const onSuggestionRemove = (suggestion) => {
6175
+ }
6176
+ function onSuggestionRemove(suggestion) {
6169
6177
  var _a;
6170
6178
  (_a = suggestions.value) == null ? void 0 : _a.delete(suggestion);
6171
- };
6179
+ }
6172
6180
  const { modifiers } = toRefs(props);
6173
6181
  const bemCssClasses = useModifiers(
6174
6182
  "vv-input-text",
6175
6183
  modifiers,
6176
6184
  computed(() => ({
6177
- valid: valid.value,
6178
- invalid: invalid.value,
6179
- loading: loading.value,
6180
- disabled: props.disabled,
6181
- readonly: props.readonly,
6185
+ "valid": valid.value,
6186
+ "invalid": invalid.value,
6187
+ "loading": loading.value,
6188
+ "disabled": props.disabled,
6189
+ "readonly": props.readonly,
6182
6190
  "icon-before": !!hasIconBefore.value,
6183
6191
  "icon-after": !!iconAfter.value,
6184
- floating: props.floating && !isEmpty(props.label),
6185
- dirty: isDirty.value,
6186
- focus: isFocused.value,
6192
+ "floating": props.floating && !isEmpty(props.label),
6193
+ "dirty": isDirty.value,
6194
+ "focus": isFocused.value,
6187
6195
  "auto-width": props.autoWidth
6188
6196
  }))
6189
6197
  );
@@ -6195,19 +6203,19 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6195
6203
  if (isDateTime.value && !isDirty.value && !focused.value) {
6196
6204
  return INPUT_TYPES.TEXT;
6197
6205
  }
6198
- if (iMask == null ? void 0 : iMask.value) {
6206
+ if (props.iMask) {
6199
6207
  return INPUT_TYPES.TEXT;
6200
6208
  }
6201
6209
  return props.type;
6202
6210
  })();
6203
6211
  const toReturn = {
6204
6212
  type: type2,
6205
- name: props.name,
6206
- tabindex: hasTabindex.value,
6207
- disabled: props.disabled,
6208
- readonly: props.readonly,
6209
- required: props.required,
6210
- autocomplete: props.autocomplete,
6213
+ "name": props.name,
6214
+ "tabindex": hasTabindex.value,
6215
+ "disabled": props.disabled,
6216
+ "readonly": props.readonly,
6217
+ "required": props.required,
6218
+ "autocomplete": props.autocomplete,
6211
6219
  "aria-invalid": isInvalid.value,
6212
6220
  "aria-describedby": hasHintLabelOrSlot.value ? hasHintId.value : void 0,
6213
6221
  "aria-errormessage": hasInvalidLabelOrSlot.value ? hasHintId.value : void 0
@@ -6261,11 +6269,11 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6261
6269
  INPUT_TYPES.SEARCH,
6262
6270
  props
6263
6271
  );
6264
- const onClickInner = () => {
6272
+ function onClickInner() {
6265
6273
  if (isClickable.value) {
6266
6274
  focused.value = true;
6267
6275
  }
6268
- };
6276
+ }
6269
6277
  const hasStyle = computed(() => {
6270
6278
  if (!props.autoWidth) {
6271
6279
  return void 0;
@@ -6274,7 +6282,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6274
6282
  width: localModelValue.value !== void 0 ? `${String(localModelValue.value).length + 1}ch` : void 0
6275
6283
  };
6276
6284
  });
6277
- const onKeyDown = (event) => {
6285
+ function onKeyDown(event) {
6278
6286
  switch (event.code) {
6279
6287
  case "ArrowUp":
6280
6288
  if (isNumber.value) {
@@ -6290,7 +6298,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6290
6298
  break;
6291
6299
  }
6292
6300
  emit("keydown", event);
6293
- };
6301
+ }
6294
6302
  return (_ctx, _cache) => {
6295
6303
  return openBlock(), createElementBlock(
6296
6304
  "div",
@@ -6484,21 +6492,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
6484
6492
  };
6485
6493
  }
6486
6494
  });
6487
- const VvNavProps = {
6488
- ...ModifiersProps,
6489
- ...NavProps
6490
- };
6491
- const VvNavEvents = ["click"];
6492
6495
  const _hoisted_1$5 = {
6493
6496
  class: "vv-nav__item",
6494
6497
  role: "presentation"
6495
6498
  };
6496
- const __default__$5 = {
6499
+ const __default__$8 = {
6497
6500
  name: "VvNavItem",
6498
6501
  inheritAttrs: false
6499
6502
  };
6500
6503
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
6501
- ...__default__$5,
6504
+ ...__default__$8,
6502
6505
  setup(__props) {
6503
6506
  return (_ctx, _cache) => {
6504
6507
  return openBlock(), createElementBlock("li", _hoisted_1$5, [
@@ -6522,26 +6525,34 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
6522
6525
  };
6523
6526
  }
6524
6527
  });
6528
+ const VvNavProps = {
6529
+ ...ModifiersProps,
6530
+ ...NavProps
6531
+ };
6532
+ const VvNavEvents = ["click"];
6533
+ const __default__$7 = {
6534
+ name: "VvNav"
6535
+ };
6525
6536
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
6526
- __name: "VvNav",
6537
+ ...__default__$7,
6527
6538
  props: VvNavProps,
6528
6539
  emits: VvNavEvents,
6529
6540
  setup(__props, { emit: __emit }) {
6530
6541
  const props = __props;
6531
- const { modifiers } = toRefs(props);
6532
6542
  const emit = __emit;
6533
- const onClick = (event) => {
6543
+ const { modifiers } = toRefs(props);
6544
+ function onClick(event) {
6534
6545
  var _a;
6535
6546
  const target = event.target;
6536
6547
  if (target == null ? void 0 : target.dataset.index) {
6537
- const index = parseInt(target.dataset.index);
6548
+ const index = Number.parseInt(target.dataset.index);
6538
6549
  const item = (_a = props.items) == null ? void 0 : _a[index];
6539
6550
  if (!item || (item == null ? void 0 : item.disabled)) {
6540
6551
  return;
6541
6552
  }
6542
6553
  emit("click", item);
6543
6554
  }
6544
- };
6555
+ }
6545
6556
  const bemCssClasses = useModifiers("vv-nav", modifiers);
6546
6557
  return (_ctx, _cache) => {
6547
6558
  return openBlock(), createElementBlock(
@@ -6634,11 +6645,11 @@ const VvProgressProps = {
6634
6645
  required: true
6635
6646
  }
6636
6647
  };
6637
- const __default__$4 = {
6648
+ const __default__$6 = {
6638
6649
  name: "VvProgress"
6639
6650
  };
6640
6651
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6641
- ...__default__$4,
6652
+ ...__default__$6,
6642
6653
  props: VvProgressProps,
6643
6654
  setup(__props) {
6644
6655
  const props = __props;
@@ -6695,11 +6706,11 @@ function useGroupProps(props, emit) {
6695
6706
  }
6696
6707
  const _hoisted_1$3 = ["for"];
6697
6708
  const _hoisted_2$3 = ["id", "name", "disabled", "value", "tabindex", "aria-invalid", "aria-describedby", "aria-errormessage"];
6698
- const __default__$3 = {
6709
+ const __default__$5 = {
6699
6710
  name: "VvRadio"
6700
6711
  };
6701
6712
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
6702
- ...__default__$3,
6713
+ ...__default__$5,
6703
6714
  props: VvRadioProps,
6704
6715
  emits: VvRadioEvents,
6705
6716
  setup(__props, { emit: __emit }) {
@@ -6835,11 +6846,11 @@ const VvRadioGroupProps = CheckboxRadioGroupProps;
6835
6846
  const VvRadioGroupEvents = ["update:modelValue", "change"];
6836
6847
  const _hoisted_1$2 = ["textContent"];
6837
6848
  const _hoisted_2$2 = { class: "vv-radio-group__wrapper" };
6838
- const __default__$2 = {
6849
+ const __default__$4 = {
6839
6850
  name: "VvRadioGroup"
6840
6851
  };
6841
6852
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6842
- ...__default__$2,
6853
+ ...__default__$4,
6843
6854
  props: VvRadioGroupProps,
6844
6855
  emits: VvRadioGroupEvents,
6845
6856
  setup(__props, { emit: __emit }) {
@@ -6872,14 +6883,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6872
6883
  invalid: invalid.value
6873
6884
  }))
6874
6885
  );
6875
- const getOptionProps = (option, index) => {
6886
+ function getOptionProps(option, index) {
6876
6887
  return {
6877
6888
  id: `${props.name}_opt${index}`,
6878
6889
  name: props.name,
6879
6890
  label: getOptionLabel(option),
6880
6891
  value: getOptionValue(option)
6881
6892
  };
6882
- };
6893
+ }
6883
6894
  const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
6884
6895
  return (_ctx, _cache) => {
6885
6896
  return openBlock(), createElementBlock(
@@ -6973,8 +6984,11 @@ const VvTabProps = {
6973
6984
  }
6974
6985
  };
6975
6986
  const VvTabEvents = ["update:modelValue"];
6987
+ const __default__$3 = {
6988
+ name: "VvTab"
6989
+ };
6976
6990
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6977
- __name: "VvTab",
6991
+ ...__default__$3,
6978
6992
  props: VvTabProps,
6979
6993
  emits: VvTabEvents,
6980
6994
  setup(__props, { emit: __emit }) {
@@ -7007,11 +7021,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
7007
7021
  ...Array.isArray(props.navModifiers) ? props.navModifiers : ((_a = props.navModifiers) == null ? void 0 : _a.split(" ")) ?? []
7008
7022
  ];
7009
7023
  });
7010
- const onNavClick = (item) => {
7024
+ function onNavClick(item) {
7011
7025
  if (item.tab) {
7012
7026
  activeTabKey.value = item.tab;
7013
7027
  }
7014
- };
7028
+ }
7015
7029
  const navItems = computed(
7016
7030
  () => props.items.map((item) => ({
7017
7031
  current: item.tab === activeTabKey.value,
@@ -7135,11 +7149,11 @@ const _hoisted_7$1 = {
7135
7149
  key: 2,
7136
7150
  class: "vv-textarea__limit"
7137
7151
  };
7138
- const __default__$1 = {
7152
+ const __default__$2 = {
7139
7153
  name: "VvTextarea"
7140
7154
  };
7141
7155
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
7142
- ...__default__$1,
7156
+ ...__default__$2,
7143
7157
  props: VvTextareaProps,
7144
7158
  emits: VvTextareaEvents,
7145
7159
  setup(__props, { emit: __emit }) {
@@ -7210,34 +7224,34 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
7210
7224
  "vv-textarea",
7211
7225
  modifiers,
7212
7226
  computed(() => ({
7213
- valid: valid.value,
7214
- invalid: invalid.value,
7215
- loading: loading.value,
7216
- disabled: props.disabled,
7217
- readonly: props.readonly,
7227
+ "valid": valid.value,
7228
+ "invalid": invalid.value,
7229
+ "loading": loading.value,
7230
+ "disabled": props.disabled,
7231
+ "readonly": props.readonly,
7218
7232
  "icon-before": hasIconBefore.value !== void 0,
7219
7233
  "icon-after": hasIconAfter.value !== void 0,
7220
- floating: props.floating && !isEmpty(props.label),
7221
- dirty: isDirty.value,
7222
- focus: focused.value,
7223
- resizable: props.resizable
7234
+ "floating": props.floating && !isEmpty(props.label),
7235
+ "dirty": isDirty.value,
7236
+ "focus": focused.value,
7237
+ "resizable": props.resizable
7224
7238
  }))
7225
7239
  );
7226
7240
  const hasAttrs = computed(
7227
7241
  () => ({
7228
- name: props.name,
7229
- placeholder: hasPlaceholder.value,
7230
- tabindex: hasTabindex.value,
7231
- disabled: props.disabled,
7232
- readonly: props.readonly,
7233
- required: props.required,
7234
- autocomplete: props.autocomplete,
7235
- minlength: props.minlength,
7236
- maxlength: props.maxlength,
7237
- cols: props.cols,
7238
- rows: props.rows,
7239
- wrap: props.wrap,
7240
- spellcheck: props.spellcheck,
7242
+ "name": props.name,
7243
+ "placeholder": hasPlaceholder.value,
7244
+ "tabindex": hasTabindex.value,
7245
+ "disabled": props.disabled,
7246
+ "readonly": props.readonly,
7247
+ "required": props.required,
7248
+ "autocomplete": props.autocomplete,
7249
+ "minlength": props.minlength,
7250
+ "maxlength": props.maxlength,
7251
+ "cols": props.cols,
7252
+ "rows": props.rows,
7253
+ "wrap": props.wrap,
7254
+ "spellcheck": props.spellcheck,
7241
7255
  "aria-invalid": isInvalid.value,
7242
7256
  "aria-describedby": hasHintLabelOrSlot.value ? hasHintId.value : void 0,
7243
7257
  "aria-errormessage": hasInvalidLabelOrSlot.value ? hasHintId.value : void 0
@@ -7252,9 +7266,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
7252
7266
  minlength: props.minlength,
7253
7267
  clear: onClear
7254
7268
  }));
7255
- const onClear = () => {
7269
+ function onClear() {
7256
7270
  localModelValue.value = void 0;
7257
- };
7271
+ }
7258
7272
  return (_ctx, _cache) => {
7259
7273
  return openBlock(), createElementBlock(
7260
7274
  "div",
@@ -7367,8 +7381,11 @@ const VvTooltipProps = {
7367
7381
  type: String
7368
7382
  }
7369
7383
  };
7384
+ const __default__$1 = {
7385
+ name: "VvTooltip"
7386
+ };
7370
7387
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7371
- __name: "VvTooltip",
7388
+ ...__default__$1,
7372
7389
  props: VvTooltipProps,
7373
7390
  setup(__props) {
7374
7391
  const props = __props;
@@ -7552,7 +7569,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7552
7569
  if (!props.progress) {
7553
7570
  return false;
7554
7571
  }
7555
- const progress = typeof props.progress === "string" ? parseInt(props.progress) : props.progress;
7572
+ const progress = typeof props.progress === "string" ? Number.parseInt(props.progress) : props.progress;
7556
7573
  return progress > 0 && progress < 100;
7557
7574
  });
7558
7575
  const { hasIconBefore, hasIconAfter } = useComponentIcon(icon, iconPosition);
@@ -7561,10 +7578,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7561
7578
  "vv-input-file",
7562
7579
  modifiers,
7563
7580
  computed(() => ({
7564
- dragging: isDragging.value,
7565
- loading: props.loading && !hasProgress.value,
7566
- valid: props.valid === true,
7567
- invalid: props.invalid === true,
7581
+ "dragging": isDragging.value,
7582
+ "loading": props.loading && !hasProgress.value,
7583
+ "valid": props.valid === true,
7584
+ "invalid": props.invalid === true,
7568
7585
  "icon-before": !!hasIconBefore.value,
7569
7586
  "icon-after": !!hasIconAfter.value,
7570
7587
  "drop-area": hasDropArea.value
@@ -7594,7 +7611,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7594
7611
  }
7595
7612
  });
7596
7613
  const hasMax = computed(() => {
7597
- return typeof props.max === "string" ? parseInt(props.max) : props.max;
7614
+ return typeof props.max === "string" ? Number.parseInt(props.max) : props.max;
7598
7615
  });
7599
7616
  const hasDropArea = computed(() => {
7600
7617
  return props.dropArea && !readonly.value;
@@ -7610,29 +7627,29 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7610
7627
  });
7611
7628
  const isDragging = ref(false);
7612
7629
  const inputEl = ref();
7613
- const onDragenter = () => {
7630
+ function onDragenter() {
7614
7631
  isDragging.value = true;
7615
- };
7616
- const onDragleave = () => {
7632
+ }
7633
+ function onDragleave() {
7617
7634
  isDragging.value = false;
7618
- };
7619
- const onDrop = (event) => {
7635
+ }
7636
+ function onDrop(event) {
7620
7637
  var _a, _b;
7621
7638
  if (!((_a = event.dataTransfer) == null ? void 0 : _a.files)) {
7622
7639
  return;
7623
7640
  }
7624
7641
  isDragging.value = false;
7625
7642
  addFiles((_b = event.dataTransfer) == null ? void 0 : _b.files);
7626
- };
7627
- const onChange = () => {
7643
+ }
7644
+ function onChange() {
7628
7645
  var _a;
7629
7646
  if (!((_a = inputEl.value) == null ? void 0 : _a.files)) {
7630
7647
  return;
7631
7648
  }
7632
7649
  addFiles(inputEl.value.files);
7633
7650
  inputEl.value.value = "";
7634
- };
7635
- const addFiles = (uploadedFiles) => {
7651
+ }
7652
+ function addFiles(uploadedFiles) {
7636
7653
  if (!props.multiple) {
7637
7654
  if (Array.isArray(localModelValue.value)) {
7638
7655
  localModelValue.value = [...uploadedFiles];
@@ -7655,16 +7672,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7655
7672
  }
7656
7673
  localModelValue.value = toReturn;
7657
7674
  selectedFileIndex.value = toReturn.length - 1;
7658
- };
7659
- const onClickDropArea = () => {
7675
+ }
7676
+ function onClickDropArea() {
7660
7677
  if (!inputEl.value) {
7661
7678
  return;
7662
7679
  }
7663
7680
  if (!readonly.value) {
7664
7681
  inputEl.value.click();
7665
7682
  }
7666
- };
7667
- const onClickRemoveFile = (index) => {
7683
+ }
7684
+ function onClickRemoveFile(index) {
7668
7685
  if (!Array.isArray(localModelValue.value)) {
7669
7686
  localModelValue.value = void 0;
7670
7687
  return;
@@ -7675,7 +7692,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7675
7692
  const toReturn = [...localModelValue.value];
7676
7693
  toReturn.splice(index, 1);
7677
7694
  localModelValue.value = toReturn;
7678
- };
7695
+ }
7679
7696
  const selectedFileIndex = ref(0);
7680
7697
  const PREVIEW_MIME_TYPES = ["image/jpeg", "image/png"];
7681
7698
  const previewSrc = computed(() => {
@@ -7711,13 +7728,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7711
7728
  URL.revokeObjectURL(previewSrc.value);
7712
7729
  }
7713
7730
  });
7714
- const sizeInKiB = (size2) => {
7731
+ function sizeInKiB(size2) {
7715
7732
  if (!size2) {
7716
7733
  return;
7717
7734
  }
7718
7735
  return Math.floor(size2 / 1024);
7719
- };
7720
- const onClickDownloadFile = (file) => {
7736
+ }
7737
+ function onClickDownloadFile(file) {
7721
7738
  const link = document.createElement("a");
7722
7739
  if (file instanceof File) {
7723
7740
  link.href = URL.createObjectURL(file);
@@ -7729,10 +7746,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7729
7746
  link.click();
7730
7747
  document.body.removeChild(link);
7731
7748
  URL.revokeObjectURL(link.href);
7732
- };
7733
- const onClickSelectFile = (index) => {
7749
+ }
7750
+ function onClickSelectFile(index) {
7734
7751
  selectedFileIndex.value = index;
7735
- };
7752
+ }
7736
7753
  const dropdAreaActionLabel = computed(() => {
7737
7754
  if (files.value.length === 0 || isMultiple.value) {
7738
7755
  return props.labelAdd;
@@ -7745,11 +7762,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7745
7762
  }
7746
7763
  return props.iconReplace;
7747
7764
  });
7748
- const onSortEnd = ({ newIndex }) => {
7765
+ function onSortEnd({ newIndex }) {
7749
7766
  if (newIndex !== null) {
7750
7767
  selectedFileIndex.value = newIndex;
7751
7768
  }
7752
- };
7769
+ }
7753
7770
  return (_ctx, _cache) => {
7754
7771
  return openBlock(), createElementBlock(
7755
7772
  "div",
@@ -7848,7 +7865,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7848
7865
  item: withCtx(({ element: file, index }) => [
7849
7866
  createElementVNode("li", {
7850
7867
  class: normalizeClass(["vv-input-file__item", {
7851
- active: index === selectedFileIndex.value && hasDropArea.value && files.value.length > 1,
7868
+ "active": index === selectedFileIndex.value && hasDropArea.value && files.value.length > 1,
7852
7869
  "cursor-move": _ctx.sortable
7853
7870
  }]),
7854
7871
  onClick: withModifiers(($event) => onClickSelectFile(index), ["stop"])