@volverjs/ui-vue 0.0.10-beta.5 → 0.0.10-beta.51

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 (496) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +148 -51
  3. package/auto-imports.d.ts +25 -12
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +28 -20
  6. package/dist/Volver.d.ts +11 -11
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -104
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +29 -10
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +485 -206
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +61 -18
  14. package/dist/components/VvAccordionGroup/index.d.ts +16 -8
  15. package/dist/components/VvAction/VvAction.es.js +84 -33
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +61 -28
  18. package/dist/components/VvAction/index.d.ts +26 -10
  19. package/dist/components/VvAlert/VvAlert.es.js +350 -318
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +25 -17
  22. package/dist/components/VvAlert/index.d.ts +20 -11
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +388 -327
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +22 -17
  26. package/dist/components/VvAlertGroup/index.d.ts +10 -18
  27. package/dist/components/VvAvatar/VvAvatar.es.js +66 -28
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +13 -5
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +147 -74
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +17 -10
  34. package/dist/components/VvAvatarGroup/index.d.ts +6 -3
  35. package/dist/components/VvBadge/VvBadge.es.js +78 -34
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -5
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +294 -83
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +28 -8
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +510 -488
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +97 -45
  46. package/dist/components/VvButton/index.d.ts +52 -30
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +95 -45
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +35 -17
  50. package/dist/components/VvButtonGroup/index.d.ts +13 -4
  51. package/dist/components/VvCard/VvCard.es.js +87 -42
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +13 -5
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -136
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -35
  58. package/dist/components/VvCheckbox/index.d.ts +52 -19
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +408 -322
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +103 -34
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +1963 -1639
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +260 -672
  66. package/dist/components/VvCombobox/index.d.ts +385 -135
  67. package/dist/components/VvDialog/VvDialog.es.js +177 -297
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +23 -7
  70. package/dist/components/VvDialog/index.d.ts +12 -0
  71. package/dist/components/VvDropdown/VvDropdown.es.js +172 -102
  72. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  73. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +110 -315
  74. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +77 -28
  75. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  76. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +13 -5
  77. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +38 -10
  78. package/dist/components/VvDropdown/index.d.ts +52 -118
  79. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +165 -60
  80. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  81. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +337 -10
  82. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  84. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  85. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  86. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.es.js +24 -102
  88. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  89. package/dist/components/VvIcon/VvIcon.vue.d.ts +4 -68
  90. package/dist/components/VvIcon/index.d.ts +33 -48
  91. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  92. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  93. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +317 -0
  94. package/dist/components/VvInputFile/index.d.ts +193 -0
  95. package/dist/components/VvInputText/VvInputClearAction.d.ts +16 -10
  96. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +20 -14
  97. package/dist/components/VvInputText/VvInputStepAction.d.ts +11 -7
  98. package/dist/components/VvInputText/VvInputText.es.js +1495 -548
  99. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  100. package/dist/components/VvInputText/VvInputText.vue.d.ts +216 -68
  101. package/dist/components/VvInputText/index.d.ts +101 -31
  102. package/dist/components/VvNav/VvNav.es.js +155 -75
  103. package/dist/components/VvNav/VvNav.umd.js +1 -1
  104. package/dist/components/VvNav/VvNav.vue.d.ts +32 -11
  105. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  106. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  107. package/dist/components/VvNav/index.d.ts +5 -2
  108. package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
  109. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  110. package/dist/components/VvProgress/VvProgress.es.js +73 -27
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +13 -6
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +175 -135
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -33
  117. package/dist/components/VvRadio/index.d.ts +50 -17
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +406 -321
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +103 -34
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +677 -611
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +107 -199
  125. package/dist/components/VvSelect/index.d.ts +196 -16
  126. package/dist/components/VvTab/VvTab.es.js +230 -110
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +34 -12
  129. package/dist/components/VvTab/index.d.ts +6 -3
  130. package/dist/components/VvTextarea/VvTextarea.es.js +278 -255
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +159 -54
  133. package/dist/components/VvTextarea/index.d.ts +69 -20
  134. package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +16 -9
  137. package/dist/components/VvTooltip/index.d.ts +5 -2
  138. package/dist/components/common/HintSlot.d.ts +8 -9
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +4303 -2228
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlerInject.d.ts +4 -0
  143. package/dist/composables/alert/useAlert.d.ts +71 -6
  144. package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
  145. package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
  146. package/dist/composables/dropdown/useDropdownInject.d.ts +12 -0
  147. package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +6 -7
  148. package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
  149. package/dist/composables/group/useGroupStateInject.d.ts +9 -0
  150. package/dist/composables/group/useGroupStateProvide.d.ts +6 -0
  151. package/dist/composables/index.d.ts +3 -0
  152. package/dist/composables/index.es.js +178 -6
  153. package/dist/composables/index.umd.js +1 -1
  154. package/dist/composables/useBlurhash.d.ts +7 -0
  155. package/dist/composables/useComponentFocus.d.ts +2 -2
  156. package/dist/composables/useComponentIcon.d.ts +9 -8
  157. package/dist/composables/useOptions.d.ts +5 -5
  158. package/dist/composables/usePersistence.d.ts +3 -0
  159. package/dist/composables/useUniqueId.d.ts +2 -2
  160. package/dist/composables/useVolver.d.ts +1 -1
  161. package/dist/constants.d.ts +35 -33
  162. package/dist/directives/index.d.ts +3 -5
  163. package/dist/directives/index.es.js +247 -82
  164. package/dist/directives/index.umd.js +1 -1
  165. package/dist/directives/v-contextmenu.es.js +137 -31
  166. package/dist/directives/v-contextmenu.umd.js +1 -1
  167. package/dist/directives/v-tooltip.es.js +101 -39
  168. package/dist/directives/v-tooltip.umd.js +1 -1
  169. package/dist/icons.d.ts +17 -17
  170. package/dist/icons.es.js +516 -516
  171. package/dist/icons.umd.js +1 -1
  172. package/dist/index.d.ts +3 -1
  173. package/dist/index.es.js +74 -6
  174. package/dist/index.umd.js +1 -1
  175. package/dist/props/index.d.ts +288 -198
  176. package/dist/resolvers/unplugin.d.ts +6 -1
  177. package/dist/resolvers/unplugin.es.js +87 -10
  178. package/dist/resolvers/unplugin.umd.js +1 -1
  179. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  180. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  181. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
  182. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1304 -538
  183. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  184. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  185. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  186. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  187. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  188. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  189. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  190. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  191. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  192. package/dist/stories/Button/Button.settings.d.ts +2 -194
  193. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  194. package/dist/stories/Card/Card.settings.d.ts +2 -63
  195. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  196. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
  199. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
  200. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  201. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  202. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  203. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  204. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  205. package/dist/stories/InputFile/InputFile.stories.d.ts +13 -0
  206. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  207. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  208. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  209. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  210. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  211. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  213. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  214. package/dist/stories/Select/Select.settings.d.ts +2 -246
  215. package/dist/stories/Select/Select.stories.d.ts +1 -0
  216. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  217. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  218. package/dist/stories/argTypes.d.ts +27 -866
  219. package/dist/test/expect.d.ts +1 -2
  220. package/dist/test/options.d.ts +1 -1
  221. package/dist/test/sleep.d.ts +1 -1
  222. package/dist/types/alert.d.ts +9 -7
  223. package/dist/types/blurhash.d.ts +12 -0
  224. package/dist/types/floating-ui.d.ts +1 -1
  225. package/dist/types/generic.d.ts +1 -2
  226. package/dist/types/group.d.ts +37 -15
  227. package/dist/types/index.d.ts +7 -0
  228. package/dist/types/input-file.d.ts +9 -0
  229. package/dist/types/nav.d.ts +2 -2
  230. package/dist/utils/DomUtilities.d.ts +1 -0
  231. package/dist/utils/ObjectUtilities.d.ts +8 -9
  232. package/dist/workers/blurhash.d.ts +1 -0
  233. package/package.json +238 -246
  234. package/src/Volver.ts +251 -246
  235. package/src/assets/icons/detailed.json +1 -1
  236. package/src/assets/icons/normal.json +1 -1
  237. package/src/assets/icons/simple.json +1 -1
  238. package/src/components/VvAccordion/VvAccordion.vue +163 -100
  239. package/src/components/VvAccordion/index.ts +65 -80
  240. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +224 -106
  241. package/src/components/VvAccordionGroup/index.ts +42 -42
  242. package/src/components/VvAction/VvAction.vue +144 -130
  243. package/src/components/VvAlert/VvAlert.vue +72 -70
  244. package/src/components/VvAlert/index.ts +149 -147
  245. package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
  246. package/src/components/VvAlertGroup/index.ts +102 -118
  247. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  248. package/src/components/VvAvatar/index.ts +5 -5
  249. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  250. package/src/components/VvAvatarGroup/index.ts +21 -21
  251. package/src/components/VvBadge/VvBadge.vue +15 -14
  252. package/src/components/VvBadge/index.ts +2 -2
  253. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
  254. package/src/components/VvBreadcrumb/index.ts +3 -9
  255. package/src/components/VvButton/VvButton.vue +163 -152
  256. package/src/components/VvButton/index.ts +104 -111
  257. package/src/components/VvButtonGroup/VvButtonGroup.vue +73 -65
  258. package/src/components/VvButtonGroup/index.ts +23 -22
  259. package/src/components/VvCard/VvCard.vue +30 -30
  260. package/src/components/VvCard/index.ts +2 -2
  261. package/src/components/VvCheckbox/VvCheckbox.vue +186 -184
  262. package/src/components/VvCheckbox/index.ts +45 -45
  263. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
  264. package/src/components/VvCombobox/VvCombobox.vue +657 -619
  265. package/src/components/VvCombobox/index.ts +212 -168
  266. package/src/components/VvDialog/VvDialog.vue +139 -129
  267. package/src/components/VvDialog/index.ts +42 -36
  268. package/src/components/VvDropdown/VvDropdown.vue +466 -445
  269. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  270. package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
  271. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  272. package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
  273. package/src/components/VvDropdown/index.ts +61 -27
  274. package/src/components/VvIcon/README.md +1 -1
  275. package/src/components/VvIcon/VvIcon.vue +133 -133
  276. package/src/components/VvIcon/index.ts +84 -97
  277. package/src/components/VvInputFile/VvInputFile.vue +413 -0
  278. package/src/components/VvInputFile/index.ts +143 -0
  279. package/src/components/VvInputText/VvInputClearAction.ts +51 -47
  280. package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
  281. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  282. package/src/components/VvInputText/VvInputText.vue +653 -516
  283. package/src/components/VvInputText/VvInputTextActions.ts +87 -87
  284. package/src/components/VvInputText/index.ts +201 -186
  285. package/src/components/VvNav/VvNav.vue +40 -36
  286. package/src/components/VvNav/VvNavItem.vue +12 -12
  287. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  288. package/src/components/VvNav/index.ts +2 -2
  289. package/src/components/VvProgress/VvProgress.vue +27 -27
  290. package/src/components/VvProgress/index.ts +28 -28
  291. package/src/components/VvRadio/VvRadio.vue +115 -112
  292. package/src/components/VvRadio/index.ts +29 -29
  293. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
  294. package/src/components/VvSelect/VvSelect.vue +262 -241
  295. package/src/components/VvSelect/index.ts +88 -63
  296. package/src/components/VvTab/VvTab.vue +79 -69
  297. package/src/components/VvTab/index.ts +13 -13
  298. package/src/components/VvTextarea/VvTextarea.vue +218 -219
  299. package/src/components/VvTextarea/index.ts +35 -35
  300. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  301. package/src/components/VvTooltip/index.ts +12 -12
  302. package/src/components/common/HintSlot.ts +151 -152
  303. package/src/components/index.ts +10 -0
  304. package/src/composables/alert/{useInjectAlert.ts → useAlerInject.ts} +1 -1
  305. package/src/composables/alert/useAlert.ts +76 -73
  306. package/src/composables/alert/{useProvideAlert.ts → useAlertProvide.ts} +12 -12
  307. package/src/composables/dropdown/useDropdownContextmenu.ts +22 -0
  308. package/src/composables/dropdown/{useInjectDropdown.ts → useDropdownInject.ts} +6 -6
  309. package/src/composables/dropdown/useDropdownProvide.ts +94 -0
  310. package/src/composables/dropdown/useDropdownVirtualElement.ts +53 -0
  311. package/src/composables/group/useGroupStateInject.ts +55 -0
  312. package/src/composables/group/useGroupStateProvide.ts +14 -0
  313. package/src/composables/index.ts +3 -0
  314. package/src/composables/useBlurhash.ts +68 -0
  315. package/src/composables/useComponentFocus.ts +9 -9
  316. package/src/composables/useComponentIcon.ts +36 -35
  317. package/src/composables/useDebouncedInput.ts +25 -25
  318. package/src/composables/useDefaults.ts +81 -80
  319. package/src/composables/useModifiers.ts +29 -29
  320. package/src/composables/useOptions.ts +51 -42
  321. package/src/composables/usePersistence.ts +74 -0
  322. package/src/composables/useTextCount.ts +46 -46
  323. package/src/composables/useUniqueId.ts +4 -4
  324. package/src/composables/useVolver.ts +1 -1
  325. package/src/constants.ts +98 -83
  326. package/src/directives/index.ts +3 -6
  327. package/src/directives/v-contextmenu.ts +26 -34
  328. package/src/directives/v-tooltip.ts +20 -11
  329. package/src/icons.ts +2 -2
  330. package/src/index.ts +6 -4
  331. package/src/props/index.ts +467 -383
  332. package/src/resolvers/unplugin.ts +154 -144
  333. package/src/shims.d.ts +4 -5
  334. package/src/stories/Accordion/Accordion.settings.ts +51 -50
  335. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  336. package/src/stories/Accordion/Accordion.test.ts +56 -54
  337. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  338. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
  339. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
  340. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
  341. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +36 -36
  342. package/src/stories/Alert/Alert.settings.ts +117 -116
  343. package/src/stories/Alert/Alert.stories.ts +30 -30
  344. package/src/stories/Alert/Alert.test.ts +78 -80
  345. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  346. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  347. package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
  348. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  349. package/src/stories/AlertGroup/AlertGroup.test.ts +69 -71
  350. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  351. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  352. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
  353. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  354. package/src/stories/Avatar/Avatar.stories.ts +22 -22
  355. package/src/stories/Avatar/Avatar.test.ts +22 -24
  356. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  357. package/src/stories/Avatar/AvatarModifiers.stories.ts +60 -60
  358. package/src/stories/Avatar/AvatarSlots.stories.ts +17 -17
  359. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
  360. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  361. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
  362. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  363. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  364. package/src/stories/Badge/Badge.settings.ts +21 -20
  365. package/src/stories/Badge/Badge.stories.ts +24 -24
  366. package/src/stories/Badge/Badge.test.ts +8 -8
  367. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  368. package/src/stories/Blurhash/BlurhashComposable.stories.ts +116 -0
  369. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
  370. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
  371. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  372. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +19 -19
  373. package/src/stories/Button/Button.settings.ts +147 -151
  374. package/src/stories/Button/Button.stories.ts +19 -19
  375. package/src/stories/Button/Button.test.ts +41 -42
  376. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  377. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  378. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  379. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  380. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  381. package/src/stories/Button/ButtonState.stories.ts +23 -23
  382. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  383. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
  384. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  385. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
  386. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  387. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +17 -17
  388. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  389. package/src/stories/Card/Card.settings.ts +49 -48
  390. package/src/stories/Card/Card.stories.ts +22 -22
  391. package/src/stories/Card/Card.test.ts +14 -16
  392. package/src/stories/Card/CardSlots.stories.ts +42 -42
  393. package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
  394. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  395. package/src/stories/Checkbox/Checkbox.test.ts +63 -66
  396. package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
  397. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  398. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  399. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  400. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +64 -68
  401. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  402. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  403. package/src/stories/Combobox/Combobox.settings.ts +408 -385
  404. package/src/stories/Combobox/Combobox.stories.ts +116 -107
  405. package/src/stories/Combobox/Combobox.test.ts +92 -92
  406. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
  407. package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
  408. package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
  409. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -54
  410. package/src/stories/Dialog/Dialog.settings.ts +49 -40
  411. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  412. package/src/stories/Dialog/Dialog.test.ts +49 -54
  413. package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
  414. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  415. package/src/stories/Dropdown/Dropdown.settings.ts +62 -61
  416. package/src/stories/Dropdown/Dropdown.stories.ts +60 -60
  417. package/src/stories/Dropdown/Dropdown.test.ts +9 -13
  418. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +18 -19
  419. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +19 -19
  420. package/src/stories/Dropdown/DropdownSlots.stories.ts +51 -51
  421. package/src/stories/Icon/Icon.settings.ts +66 -65
  422. package/src/stories/Icon/Icon.stories.ts +29 -30
  423. package/src/stories/Icon/IconsCollection.stories.ts +24 -24
  424. package/src/stories/InputFile/InputFile.settings.ts +37 -0
  425. package/src/stories/InputFile/InputFile.stories.ts +97 -0
  426. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  427. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  428. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  429. package/src/stories/InputText/InputText.settings.ts +248 -246
  430. package/src/stories/InputText/InputText.stories.ts +68 -68
  431. package/src/stories/InputText/InputText.test.ts +119 -122
  432. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  433. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  434. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  435. package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
  436. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  437. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  438. package/src/stories/Nav/Nav.settings.ts +27 -27
  439. package/src/stories/Nav/Nav.stories.ts +18 -18
  440. package/src/stories/Nav/Nav.test.ts +10 -12
  441. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  442. package/src/stories/Progress/Progress.settings.ts +24 -23
  443. package/src/stories/Progress/Progress.stories.ts +23 -23
  444. package/src/stories/Progress/Progress.test.ts +5 -5
  445. package/src/stories/Radio/Radio.settings.ts +9 -9
  446. package/src/stories/Radio/Radio.stories.ts +47 -47
  447. package/src/stories/Radio/Radio.test.ts +54 -57
  448. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  449. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  450. package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
  451. package/src/stories/RadioGroup/RadioGroup.test.ts +64 -68
  452. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
  453. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  454. package/src/stories/Select/Select.settings.ts +72 -71
  455. package/src/stories/Select/Select.stories.ts +75 -66
  456. package/src/stories/Select/Select.test.ts +67 -70
  457. package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
  458. package/src/stories/Select/SelectOptions.stories.ts +55 -55
  459. package/src/stories/Select/SelectSlots.stories.ts +21 -20
  460. package/src/stories/Tab/Tab.settings.ts +34 -34
  461. package/src/stories/Tab/Tab.stories.ts +16 -16
  462. package/src/stories/Tab/Tab.test.ts +17 -19
  463. package/src/stories/Textarea/Textarea.settings.ts +80 -78
  464. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  465. package/src/stories/Textarea/Textarea.test.ts +70 -73
  466. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  467. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  468. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  469. package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
  470. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  471. package/src/stories/Tooltip/Tooltip.test.ts +53 -54
  472. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  473. package/src/stories/argTypes.ts +506 -505
  474. package/src/test/expect.ts +74 -79
  475. package/src/test/options.ts +17 -16
  476. package/src/test/sleep.ts +3 -2
  477. package/src/test/types.d.ts +12 -12
  478. package/src/types/alert.ts +21 -17
  479. package/src/types/blurhash.ts +21 -0
  480. package/src/types/floating-ui.ts +1 -1
  481. package/src/types/generic.ts +2 -3
  482. package/src/types/group.ts +35 -27
  483. package/src/types/index.ts +7 -0
  484. package/src/types/input-file.ts +10 -0
  485. package/src/types/nav.ts +13 -14
  486. package/src/utils/DomUtilities.ts +15 -0
  487. package/src/utils/ObjectUtilities.ts +192 -188
  488. package/src/workers/blurhash.ts +9 -0
  489. package/dist/composables/alert/useInjectAlert.d.ts +0 -9
  490. package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
  491. package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
  492. package/dist/composables/group/useProvideGroupState.d.ts +0 -6
  493. package/src/composables/dropdown/useProvideDropdown.ts +0 -94
  494. package/src/composables/group/useInjectedGroupState.ts +0 -51
  495. package/src/composables/group/useProvideGroupState.ts +0 -20
  496. /package/src/assets/icons/normal/{dulicate.svg → duplicate.svg} +0 -0
@@ -1,5 +1,6 @@
1
- import type { ExtractPropTypes, PropType } from 'vue';
2
1
  import type { FactoryOpts } from 'imask';
2
+ import type { ExtractPropTypes, PropType } from 'vue';
3
+ import { type VvIconProps } from '../VvIcon';
3
4
  export declare const INPUT_TYPES: {
4
5
  readonly TEXT: "text";
5
6
  readonly PASSWORD: "password";
@@ -16,14 +17,6 @@ export declare const INPUT_TYPES: {
16
17
  readonly WEEK: "week";
17
18
  };
18
19
  export type InputType = ValueOf<typeof INPUT_TYPES>;
19
- export declare const TYPES_ICON: {
20
- readonly PASSWORD_SHOW: "eye-on";
21
- readonly PASSWORD_HIDE: "eye-off";
22
- readonly DATE: "calendar";
23
- readonly TIME: "time";
24
- readonly COLOR: "color";
25
- readonly SEARCH: "close";
26
- };
27
20
  export declare const VvInputTextEvents: string[];
28
21
  export declare const VvInputTextProps: {
29
22
  /**
@@ -78,7 +71,7 @@ export declare const VvInputTextProps: {
78
71
  * @see VVIcon
79
72
  */
80
73
  iconShowPassword: {
81
- type: StringConstructor;
74
+ type: PropType<string | VvIconProps>;
82
75
  default: "eye-on";
83
76
  };
84
77
  /**
@@ -86,7 +79,7 @@ export declare const VvInputTextProps: {
86
79
  * @see VVIcon
87
80
  */
88
81
  iconHidePassword: {
89
- type: StringConstructor;
82
+ type: PropType<string | VvIconProps>;
90
83
  default: "eye-off";
91
84
  };
92
85
  /**
@@ -94,9 +87,17 @@ export declare const VvInputTextProps: {
94
87
  * @see VVIcon
95
88
  */
96
89
  iconClear: {
97
- type: StringConstructor;
90
+ type: PropType<string | VvIconProps>;
98
91
  default: "close";
99
92
  };
93
+ /**
94
+ * VvIcon name for remove suggestion button
95
+ * @see VVIcon
96
+ */
97
+ iconRemoveSuggestion: {
98
+ type: PropType<string | VvIconProps>;
99
+ default: "trash";
100
+ };
100
101
  /**
101
102
  * Label for step up button
102
103
  */
@@ -132,6 +133,13 @@ export declare const VvInputTextProps: {
132
133
  type: StringConstructor;
133
134
  default: string;
134
135
  };
136
+ /**
137
+ * Label for remove suggestion button
138
+ */
139
+ labelRemoveSuggestion: {
140
+ type: StringConstructor;
141
+ default: string;
142
+ };
135
143
  /**
136
144
  * iMask options
137
145
  * @see https://imask.js.org/guide.html
@@ -174,28 +182,69 @@ export declare const VvInputTextProps: {
174
182
  type: BooleanConstructor;
175
183
  default: boolean;
176
184
  };
177
- minlength: (StringConstructor | NumberConstructor)[];
178
- maxlength: (StringConstructor | NumberConstructor)[];
179
- placeholder: StringConstructor;
180
- required: BooleanConstructor;
181
- label: (StringConstructor | NumberConstructor)[];
182
- floating: BooleanConstructor;
185
+ /**
186
+ * Maximum number of suggestions
187
+ */
188
+ maxSuggestions: {
189
+ type: NumberConstructor;
190
+ default: number;
191
+ };
192
+ storageType: {
193
+ type: PropType<`${import("../../constants").StorageType}`>;
194
+ default: import("../../constants").StorageType;
195
+ validator: (value: import("../../constants").StorageType) => boolean;
196
+ };
197
+ storageKey: StringConstructor;
198
+ required: {
199
+ type: BooleanConstructor;
200
+ default: boolean;
201
+ };
202
+ minlength: {
203
+ type: (StringConstructor | NumberConstructor)[];
204
+ default: undefined;
205
+ };
206
+ maxlength: {
207
+ type: (StringConstructor | NumberConstructor)[];
208
+ default: undefined;
209
+ };
210
+ placeholder: {
211
+ type: StringConstructor;
212
+ default: undefined;
213
+ };
214
+ label: {
215
+ type: (StringConstructor | NumberConstructor)[];
216
+ default: undefined;
217
+ };
218
+ floating: {
219
+ type: BooleanConstructor;
220
+ default: boolean;
221
+ };
183
222
  icon: {
184
- type: (ObjectConstructor | StringConstructor)[];
223
+ type: PropType<string | VvIconProps>;
224
+ default: undefined;
185
225
  };
186
226
  iconPosition: {
187
- type: PropType<"before" | "after">;
227
+ type: PropType<`${import("../../constants").Position}`>;
188
228
  default: import("../../constants").Position;
189
229
  validation: (value: import("../../constants").Position) => boolean;
190
230
  };
191
- debounce: (StringConstructor | NumberConstructor)[];
231
+ debounce: {
232
+ type: (StringConstructor | NumberConstructor)[];
233
+ default: undefined;
234
+ };
192
235
  count: {
193
- type: (StringConstructor | BooleanConstructor)[];
236
+ type: (BooleanConstructor | StringConstructor)[];
194
237
  default: boolean;
195
238
  validator: (value: string) => boolean;
196
239
  };
197
- modifiers: PropType<string | string[]>;
198
- loading: BooleanConstructor;
240
+ modifiers: {
241
+ type: PropType<string | string[]>;
242
+ default: undefined;
243
+ };
244
+ loading: {
245
+ type: BooleanConstructor;
246
+ default: boolean;
247
+ };
199
248
  loadingLabel: {
200
249
  type: StringConstructor;
201
250
  default: string;
@@ -204,12 +253,30 @@ export declare const VvInputTextProps: {
204
253
  type: StringConstructor;
205
254
  default: string;
206
255
  };
207
- invalid: BooleanConstructor;
208
- invalidLabel: (ArrayConstructor | StringConstructor)[];
209
- valid: BooleanConstructor;
210
- validLabel: (ArrayConstructor | StringConstructor)[];
211
- readonly: BooleanConstructor;
212
- disabled: BooleanConstructor;
256
+ invalid: {
257
+ type: BooleanConstructor;
258
+ default: boolean;
259
+ };
260
+ invalidLabel: {
261
+ type: (ArrayConstructor | StringConstructor)[];
262
+ default: undefined;
263
+ };
264
+ valid: {
265
+ type: BooleanConstructor;
266
+ default: boolean;
267
+ };
268
+ validLabel: {
269
+ type: (ArrayConstructor | StringConstructor)[];
270
+ default: undefined;
271
+ };
272
+ readonly: {
273
+ type: BooleanConstructor;
274
+ default: boolean;
275
+ };
276
+ disabled: {
277
+ type: BooleanConstructor;
278
+ default: boolean;
279
+ };
213
280
  tabindex: {
214
281
  type: (StringConstructor | NumberConstructor)[];
215
282
  default: number;
@@ -218,7 +285,10 @@ export declare const VvInputTextProps: {
218
285
  type: StringConstructor;
219
286
  default: string;
220
287
  };
221
- autofocus: BooleanConstructor;
288
+ autofocus: {
289
+ type: BooleanConstructor;
290
+ default: boolean;
291
+ };
222
292
  name: {
223
293
  type: StringConstructor;
224
294
  required: boolean;
@@ -1,4 +1,9 @@
1
- import { inject, defineComponent, ref, watch, computed, openBlock, createBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, createElementBlock, createVNode, toRefs, normalizeClass, createElementVNode, withModifiers, Fragment, renderList, toHandlers } from "vue";
1
+ import { inject, defineComponent, getCurrentInstance, ref, watch, computed, openBlock, createBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, createElementBlock, createVNode, toRefs, normalizeClass, createElementVNode, withModifiers, Fragment, renderList, toHandlers } from "vue";
2
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
3
+ StorageType2["local"] = "local";
4
+ StorageType2["session"] = "session";
5
+ return StorageType2;
6
+ })(StorageType || {});
2
7
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
3
8
  Strategy2["absolute"] = "absolute";
4
9
  Strategy2["fixed"] = "fixed";
@@ -40,13 +45,6 @@ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
40
45
  ActionTag2["button"] = "button";
41
46
  return ActionTag2;
42
47
  })(ActionTag || {});
43
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
44
- AnchorTarget2["_blank"] = "_blank";
45
- AnchorTarget2["_self"] = "_self";
46
- AnchorTarget2["_parent"] = "_parent";
47
- AnchorTarget2["_top"] = "_top";
48
- return AnchorTarget2;
49
- })(AnchorTarget || {});
50
48
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
51
49
  const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
52
50
  "dropdownTrigger"
@@ -69,10 +67,7 @@ const LinkProps = {
69
67
  /**
70
68
  * Anchor target
71
69
  */
72
- target: {
73
- type: String,
74
- validator: (value) => Object.values(AnchorTarget).includes(value)
75
- },
70
+ target: String,
76
71
  /**
77
72
  * Anchor rel
78
73
  */
@@ -85,44 +80,65 @@ const DisabledProps = {
85
80
  /**
86
81
  * Whether the form control is disabled
87
82
  */
88
- disabled: Boolean
83
+ disabled: {
84
+ type: Boolean,
85
+ default: false
86
+ }
89
87
  };
90
88
  const ActiveProps = {
91
89
  /**
92
90
  * Whether the item is active
93
91
  */
94
- active: Boolean
92
+ active: {
93
+ type: Boolean,
94
+ default: false
95
+ }
95
96
  };
96
97
  const CurrentProps = {
97
98
  /**
98
99
  * Whether the item is current
99
100
  */
100
- current: Boolean
101
+ current: {
102
+ type: Boolean,
103
+ default: false
104
+ }
101
105
  };
102
106
  const PressedProps = {
103
107
  /**
104
108
  * Whether the item is pressed
105
109
  */
106
- pressed: Boolean
110
+ pressed: {
111
+ type: Boolean,
112
+ default: false
113
+ }
107
114
  };
108
115
  const LabelProps = {
109
116
  /**
110
117
  * The item label
111
118
  */
112
- label: [String, Number]
119
+ label: {
120
+ type: [String, Number],
121
+ default: void 0
122
+ }
113
123
  };
114
124
  const ModifiersProps = {
115
125
  /**
116
126
  * Component BEM modifiers
117
127
  */
118
- modifiers: [String, Array]
128
+ modifiers: {
129
+ type: [String, Array],
130
+ default: void 0
131
+ }
119
132
  };
120
133
  ({
121
134
  /**
122
135
  * VvIcon name or props
123
136
  * @see VVIcon
124
137
  */
125
- icon: { type: [String, Object] },
138
+ icon: {
139
+ type: [String, Object],
140
+ default: void 0
141
+ },
126
142
  /**
127
143
  * VvIcon position
128
144
  */
@@ -153,7 +169,8 @@ const ModifiersProps = {
153
169
  * Dropdown show / hide transition name
154
170
  */
155
171
  transitionName: {
156
- type: String
172
+ type: String,
173
+ default: void 0
157
174
  },
158
175
  /**
159
176
  * Offset of the dropdown from the trigger
@@ -221,7 +238,8 @@ const ModifiersProps = {
221
238
  * Set dropdown width to the same as the trigger
222
239
  */
223
240
  triggerWidth: {
224
- type: Boolean
241
+ type: Boolean,
242
+ default: false
225
243
  }
226
244
  });
227
245
  const ActionProps = {
@@ -245,6 +263,13 @@ const ActionProps = {
245
263
  ariaLabel: {
246
264
  type: String,
247
265
  default: void 0
266
+ },
267
+ /**
268
+ * Default tag for the action
269
+ */
270
+ defaultTag: {
271
+ type: String,
272
+ default: ActionTag.button
248
273
  }
249
274
  };
250
275
  const NavProps = {
@@ -253,6 +278,14 @@ const NavProps = {
253
278
  default: () => []
254
279
  }
255
280
  };
281
+ ({
282
+ storageType: {
283
+ type: String,
284
+ default: StorageType.local,
285
+ validator: (value) => Object.values(StorageType).includes(value)
286
+ },
287
+ storageKey: String
288
+ });
256
289
  const VvNavProps = {
257
290
  ...ModifiersProps,
258
291
  ...NavProps
@@ -269,15 +302,17 @@ function useInjectedDropdownTrigger() {
269
302
  function useInjectedDropdownAction() {
270
303
  return inject(INJECTION_KEY_DROPDOWN_ACTION, {});
271
304
  }
272
- const __default__$1 = {
305
+ const __default__$2 = {
273
306
  name: "VvAction"
274
307
  };
275
308
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
276
- ...__default__$1,
309
+ ...__default__$2,
277
310
  props: VvActionProps,
278
311
  emits: VvActionEvents,
279
- setup(__props, { expose: __expose, emit }) {
312
+ setup(__props, { expose: __expose, emit: __emit }) {
280
313
  const props = __props;
314
+ const emit = __emit;
315
+ const instance = getCurrentInstance();
281
316
  const volver = useVolver();
282
317
  const element = ref(null);
283
318
  __expose({ $el: element });
@@ -308,7 +343,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
308
343
  case props.href !== void 0:
309
344
  return ActionTag.a;
310
345
  default:
311
- return ActionTag.button;
346
+ return props.defaultTag;
312
347
  }
313
348
  });
314
349
  const hasProps = computed(() => {
@@ -333,30 +368,44 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
333
368
  to: props.to,
334
369
  target: props.target
335
370
  };
336
- default:
371
+ case ActionTag.button:
337
372
  return {
338
373
  ...toReturn,
339
374
  type: props.type,
340
375
  disabled: props.disabled
341
376
  };
377
+ default:
378
+ return toReturn;
342
379
  }
343
380
  });
344
- const onClick = (e) => {
381
+ function onClick(e) {
382
+ var _a;
345
383
  if (props.disabled) {
346
384
  e.preventDefault();
347
385
  return;
348
386
  }
387
+ if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onClick) {
388
+ emit("click", e);
389
+ return;
390
+ }
349
391
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("click", e);
350
- emit("click", e);
351
- };
352
- const onMouseover = (e) => {
392
+ }
393
+ function onMouseover(e) {
394
+ var _a;
395
+ if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onMouseover) {
396
+ emit("mouseover", e);
397
+ return;
398
+ }
353
399
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseover", e);
354
- emit("mouseover", e);
355
- };
356
- const onMouseleave = (e) => {
400
+ }
401
+ function onMouseleave(e) {
402
+ var _a;
403
+ if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onMouseleave) {
404
+ emit("mouseleave", e);
405
+ return;
406
+ }
357
407
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseleave", e);
358
- emit("mouseleave", e);
359
- };
408
+ }
360
409
  return (_ctx, _cache) => {
361
410
  return openBlock(), createBlock(resolveDynamicComponent(unref(hasTag)), mergeProps(unref(hasProps), {
362
411
  ref_key: "element",
@@ -373,33 +422,48 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
373
422
  }), {
374
423
  default: withCtx(() => [
375
424
  renderSlot(_ctx.$slots, "default", {}, () => [
376
- createTextVNode(toDisplayString(_ctx.label), 1)
425
+ createTextVNode(
426
+ toDisplayString(_ctx.label),
427
+ 1
428
+ /* TEXT */
429
+ )
377
430
  ])
378
431
  ]),
379
432
  _: 3
433
+ /* FORWARDED */
380
434
  }, 16, ["class"]);
381
435
  };
382
436
  }
383
437
  });
384
- const _hoisted_1$1 = {
438
+ const _hoisted_1 = {
385
439
  class: "vv-nav__item",
386
440
  role: "presentation"
387
441
  };
388
- const __default__ = {
442
+ const __default__$1 = {
389
443
  name: "VvNavItem",
390
444
  inheritAttrs: false
391
445
  };
392
446
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
393
- ...__default__,
447
+ ...__default__$1,
394
448
  setup(__props) {
395
449
  return (_ctx, _cache) => {
396
- return openBlock(), createElementBlock("li", _hoisted_1$1, [
397
- createVNode(_sfc_main$2, mergeProps(_ctx.$attrs, { class: "vv-nav__item-label" }), {
398
- default: withCtx(() => [
399
- renderSlot(_ctx.$slots, "default")
400
- ]),
401
- _: 3
402
- }, 16)
450
+ return openBlock(), createElementBlock("li", _hoisted_1, [
451
+ createVNode(
452
+ _sfc_main$2,
453
+ mergeProps(_ctx.$attrs, {
454
+ class: "vv-nav__item-label",
455
+ role: "menuitem"
456
+ }),
457
+ {
458
+ default: withCtx(() => [
459
+ renderSlot(_ctx.$slots, "default")
460
+ ]),
461
+ _: 3
462
+ /* FORWARDED */
463
+ },
464
+ 16
465
+ /* FULL_PROPS */
466
+ )
403
467
  ]);
404
468
  };
405
469
  }
@@ -419,55 +483,71 @@ function useModifiers(prefix, modifiers, others) {
419
483
  });
420
484
  }
421
485
  }
422
- if (others) {
423
- Object.keys(others.value).forEach((key) => {
424
- toReturn[`${prefix}--${key}`] = unref(others.value[key]);
425
- });
426
- }
427
486
  return toReturn;
428
487
  });
429
488
  }
430
- const _hoisted_1 = ["onClick"];
489
+ const __default__ = {
490
+ name: "VvNav"
491
+ };
431
492
  const _sfc_main = /* @__PURE__ */ defineComponent({
432
- __name: "VvNav",
493
+ ...__default__,
433
494
  props: VvNavProps,
434
495
  emits: VvNavEvents,
435
- setup(__props, { emit }) {
496
+ setup(__props, { emit: __emit }) {
436
497
  const props = __props;
498
+ const emit = __emit;
437
499
  const { modifiers } = toRefs(props);
438
- const onClick = (event) => {
500
+ function onClick(event) {
439
501
  var _a;
440
502
  const target = event.target;
441
503
  if (target == null ? void 0 : target.dataset.index) {
442
- const index = parseInt(target.dataset.index);
504
+ const index = Number.parseInt(target.dataset.index);
443
505
  const item = (_a = props.items) == null ? void 0 : _a[index];
444
506
  if (!item || (item == null ? void 0 : item.disabled)) {
445
507
  return;
446
508
  }
447
509
  emit("click", item);
448
510
  }
449
- };
511
+ }
450
512
  const bemCssClasses = useModifiers("vv-nav", modifiers);
451
513
  return (_ctx, _cache) => {
452
- return openBlock(), createElementBlock("nav", {
453
- class: normalizeClass(unref(bemCssClasses))
454
- }, [
455
- createElementVNode("ul", {
456
- class: "vv-nav__menu",
457
- role: "menu",
458
- "aria-busy": "true",
459
- onClick: withModifiers(onClick, ["stop"])
460
- }, [
461
- renderSlot(_ctx.$slots, "default", {}, () => [
462
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, ({ on = {}, ...item }, index) => {
463
- return openBlock(), createBlock(_sfc_main$1, mergeProps({
464
- key: index,
465
- "data-index": index
466
- }, item, toHandlers(on)), null, 16, ["data-index"]);
467
- }), 128))
514
+ return openBlock(), createElementBlock(
515
+ "nav",
516
+ {
517
+ class: normalizeClass(unref(bemCssClasses))
518
+ },
519
+ [
520
+ createElementVNode("ul", {
521
+ class: "vv-nav__menu",
522
+ role: "menu",
523
+ onClick: withModifiers(onClick, ["stop"])
524
+ }, [
525
+ renderSlot(_ctx.$slots, "default", {}, () => [
526
+ (openBlock(true), createElementBlock(
527
+ Fragment,
528
+ null,
529
+ renderList(_ctx.items, ({ on = {}, data, ...item }, index) => {
530
+ return openBlock(), createBlock(_sfc_main$1, mergeProps({
531
+ key: index,
532
+ "data-index": index,
533
+ ref_for: true
534
+ }, item, toHandlers(on)), {
535
+ default: withCtx(() => [
536
+ renderSlot(_ctx.$slots, "item", mergeProps({ ref_for: true }, { item, data, index }))
537
+ ]),
538
+ _: 2
539
+ /* DYNAMIC */
540
+ }, 1040, ["data-index"]);
541
+ }),
542
+ 128
543
+ /* KEYED_FRAGMENT */
544
+ ))
545
+ ])
468
546
  ])
469
- ], 8, _hoisted_1)
470
- ], 2);
547
+ ],
548
+ 2
549
+ /* CLASS */
550
+ );
471
551
  };
472
552
  }
473
553
  });
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvNav=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{}),l=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(l||{});const a=Symbol.for("volver"),i=Symbol.for("dropdownTrigger"),s=Symbol.for("dropdownAction"),u={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(l).includes(e)},rel:{type:String,default:"noopener noreferrer"}},d={disabled:Boolean},c={active:Boolean},v={current:Boolean},f={pressed:Boolean},p={label:[String,Number]},m={modifiers:[String,Array]};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...d,...p,...f,...c,...v,...u,type:{type:String,default:n.button,validator:e=>Object.values(n).includes(e)},ariaLabel:{type:String,default:void 0}},k={...m,...{items:{type:Array,default:()=>[]}}},y=b;const g=e.defineComponent({name:"VvAction",props:y,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const l=t,u=e.inject(a),d=e.ref(null);o({$el:d});const{reference:c,bus:v,aria:f,expanded:p}=e.inject(i,{});e.watch((()=>d.value),(e=>{c&&(c.value=e)}));const m=e.computed((()=>l.pressed||(null==p?void 0:p.value))),{role:b}=e.inject(s,{}),k=e.computed((()=>{switch(!0){case l.disabled:return r.button;case void 0!==l.to:return(null==u?void 0:u.nuxt)?r.nuxtLink:r.routerLink;case void 0!==l.href:return r.a;default:return r.button}})),y=e.computed((()=>{const e={...null==f?void 0:f.value,ariaPressed:!!m.value||void 0,ariaLabel:l.ariaLabel,role:null==b?void 0:b.value};switch(k.value){case r.a:return{...e,href:l.href,target:l.target,rel:l.rel};case r.routerLink:case r.nuxtLink:return{...e,to:l.to,target:l.target};default:return{...e,type:l.type,disabled:l.disabled}}})),g=e=>{l.disabled?e.preventDefault():(null==v||v.emit("click",e),n("click",e))},B=e=>{null==v||v.emit("mouseover",e),n("mouseover",e)},_=e=>{null==v||v.emit("mouseleave",e),n("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(k)),e.mergeProps(e.unref(y),{ref_key:"element",ref:d,class:{active:t.active,pressed:e.unref(m),disabled:t.disabled,current:t.current},onClickPassive:g,onMouseoverPassive:B,onMouseleavePassive:_}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}}),B={class:"vv-nav__item",role:"presentation"},_=e.defineComponent({name:"VvNavItem",inheritAttrs:!1,setup:t=>(t,o)=>(e.openBlock(),e.createElementBlock("li",B,[e.createVNode(g,e.mergeProps(t.$attrs,{class:"vv-nav__item-label"}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16)]))});const h=["onClick"];return e.defineComponent({__name:"VvNav",props:k,emits:["click"],setup(t,{emit:o}){const n=t,{modifiers:r}=e.toRefs(n),l=e=>{var t;const r=e.target;if(null==r?void 0:r.dataset.index){const e=parseInt(r.dataset.index),l=null==(t=n.items)?void 0:t[e];if(!l||(null==l?void 0:l.disabled))return;o("click",l)}},a=function(t,o,n){return e.computed((()=>{const r={[t]:!0},l="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${t}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{r[`${t}--${o}`]=e.unref(n.value[o])})),r}))}("vv-nav",r);return(t,o)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(a))},[e.createElementVNode("ul",{class:"vv-nav__menu",role:"menu","aria-busy":"true",onClick:e.withModifiers(l,["stop"])},[e.renderSlot(t.$slots,"default",{},(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(({on:t={},...o},n)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:n,"data-index":n},o,e.toHandlers(t)),null,16,["data-index"])))),128))]))],8,h)],2))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvNav=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.local="local",e.session="session",e))(t||{}),o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),l=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(l||{});const a=Symbol.for("volver"),i=Symbol.for("dropdownTrigger"),u=Symbol.for("dropdownAction"),s={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},d={disabled:{type:Boolean,default:!1}},c={active:{type:Boolean,default:!1}},v={current:{type:Boolean,default:!1}},f={pressed:{type:Boolean,default:!1}},p={label:{type:[String,Number],default:void 0}},m={modifiers:{type:[String,Array],default:void 0}};n.before,o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...d,...p,...f,...c,...v,...s,type:{type:String,default:r.button,validator:e=>Object.values(r).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:l.button}},g={items:{type:Array,default:()=>[]}};t.local;const y={...m,...g},k=b;const B=e.defineComponent({name:"VvAction",props:k,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const r=t,s=n,d=e.getCurrentInstance(),c=e.inject(a),v=e.ref(null);o({$el:v});const{reference:f,bus:p,aria:m,expanded:b}=e.inject(i,{});e.watch((()=>v.value),(e=>{f&&(f.value=e)}));const g=e.computed((()=>r.pressed||(null==b?void 0:b.value))),{role:y}=e.inject(u,{}),k=e.computed((()=>{switch(!0){case r.disabled:return l.button;case void 0!==r.to:return(null==c?void 0:c.nuxt)?l.nuxtLink:l.routerLink;case void 0!==r.href:return l.a;default:return r.defaultTag}})),B=e.computed((()=>{const e={...null==m?void 0:m.value,ariaPressed:!!g.value||void 0,ariaLabel:r.ariaLabel,role:null==y?void 0:y.value};switch(k.value){case l.a:return{...e,href:r.href,target:r.target,rel:r.rel};case l.routerLink:case l.nuxtLink:return{...e,to:r.to,target:r.target};case l.button:return{...e,type:r.type,disabled:r.disabled};default:return e}}));function h(e){var t;r.disabled?e.preventDefault():(null==(t=null==d?void 0:d.vnode.props)?void 0:t.onClick)?s("click",e):null==p||p.emit("click",e)}function x(e){var t;(null==(t=null==d?void 0:d.vnode.props)?void 0:t.onMouseover)?s("mouseover",e):null==p||p.emit("mouseover",e)}function S(e){var t;(null==(t=null==d?void 0:d.vnode.props)?void 0:t.onMouseleave)?s("mouseleave",e):null==p||p.emit("mouseleave",e)}return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(k)),e.mergeProps(e.unref(B),{ref_key:"element",ref:v,class:{active:t.active,pressed:e.unref(g),disabled:t.disabled,current:t.current},onClickPassive:h,onMouseoverPassive:x,onMouseleavePassive:S}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}}),h={class:"vv-nav__item",role:"presentation"},x=e.defineComponent({name:"VvNavItem",inheritAttrs:!1,setup:t=>(t,o)=>(e.openBlock(),e.createElementBlock("li",h,[e.createVNode(B,e.mergeProps(t.$attrs,{class:"vv-nav__item-label",role:"menuitem"}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16)]))});return e.defineComponent({name:"VvNav",props:y,emits:["click"],setup(t,{emit:o}){const n=t,r=o,{modifiers:l}=e.toRefs(n);function a(e){var t;const o=e.target;if(null==o?void 0:o.dataset.index){const e=Number.parseInt(o.dataset.index),l=null==(t=n.items)?void 0:t[e];if(!l||(null==l?void 0:l.disabled))return;r("click",l)}}const i=function(t,o){return e.computed((()=>{const e={[t]:!0},n="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return n&&Array.isArray(n)&&n.forEach((o=>{o&&(e[`${t}--${o}`]=!0)})),e}))}("vv-nav",l);return(t,o)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(i))},[e.createElementVNode("ul",{class:"vv-nav__menu",role:"menu",onClick:e.withModifiers(a,["stop"])},[e.renderSlot(t.$slots,"default",{},(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(({on:o={},data:n,...r},l)=>(e.openBlock(),e.createBlock(x,e.mergeProps({key:l,"data-index":l,ref_for:!0},r,e.toHandlers(o)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"item",e.mergeProps({ref_for:!0},{item:r,data:n,index:l}))])),_:2},1040,["data-index"])))),128))]))])],2))}})}));
@@ -1,21 +1,42 @@
1
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
2
  items: {
3
- type: globalThis.PropType<import("../../types/nav").NavItem[]>;
3
+ type: PropType<import("../../index.js").NavItem[]>;
4
4
  default: () => never[];
5
5
  };
6
- modifiers: globalThis.PropType<string | string[]>;
7
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
6
+ modifiers: {
7
+ type: PropType<string | string[]>;
8
+ default: undefined;
9
+ };
10
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
8
11
  items: {
9
- type: globalThis.PropType<import("../../types/nav").NavItem[]>;
12
+ type: PropType<import("../../index.js").NavItem[]>;
10
13
  default: () => never[];
11
14
  };
12
- modifiers: globalThis.PropType<string | string[]>;
13
- }>> & {
14
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
15
- }, {
16
- items: import("../../types/nav").NavItem[];
17
- }, {}>, {
15
+ modifiers: {
16
+ type: PropType<string | string[]>;
17
+ default: undefined;
18
+ };
19
+ }>> & Readonly<{}>, {
20
+ modifiers: string | string[];
21
+ items: import("../../index.js").NavItem[];
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLElement>, {
18
23
  default?(_: {}): any;
24
+ item?(_: {
25
+ item: {
26
+ label: string;
27
+ ariaLabel?: string;
28
+ title?: string;
29
+ to?: string | Record<string, unknown>;
30
+ href?: string;
31
+ target?: string;
32
+ rel?: string;
33
+ disabled?: boolean;
34
+ current?: boolean;
35
+ class?: string | string[];
36
+ };
37
+ data: Record<string, unknown> | undefined;
38
+ index: number;
39
+ }): any;
19
40
  }>;
20
41
  export default _default;
21
42
  type __VLS_WithTemplateSlots<T, S> = T & {