@volverjs/ui-vue 0.0.10-beta.4 → 0.0.10-beta.40

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