@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,100 +1,15 @@
1
- import { inject, computed, unref, defineComponent, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, watch, resolveDynamicComponent, withCtx, renderSlot, createTextVNode, toDisplayString, toRef, useAttrs, useSlots, createElementBlock, Fragment } from "vue";
1
+ import { inject, computed, unref, defineComponent, mergeDefaults, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, getCurrentInstance, watch, resolveDynamicComponent, withCtx, renderSlot, createTextVNode, toDisplayString, toRef, useAttrs, useSlots, createElementBlock, Fragment } from "vue";
2
2
  import { iconExists, Icon, addIcon } from "@iconify/vue";
3
3
  import { uid } from "uid";
4
- const VvIconProps = {
5
- /**
6
- * Color
7
- */
8
- color: String,
9
- /**
10
- * Width
11
- */
12
- width: {
13
- type: [String, Number]
14
- },
15
- /**
16
- * Height
17
- */
18
- height: {
19
- type: [String, Number]
20
- },
21
- /**
22
- * Icon name
23
- * Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
24
- * https://docs.iconify.design/api/providers.html#provider-in-icon-name
25
- */
26
- name: {
27
- type: String,
28
- required: true
29
- },
30
- /**
31
- * By default 'vv'
32
- * If custom collection is not added with "addCollection" DS class method, this prop could not be used
33
- * Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
34
- */
35
- provider: {
36
- type: String
37
- },
38
- /**
39
- * The name of icon set.
40
- * Icon default options prefix: simple | normal | detailed
41
- */
42
- prefix: {
43
- type: String,
44
- default: "normal"
45
- },
46
- /**
47
- * Url remote SVG icon
48
- */
49
- src: String,
50
- /**
51
- * Horizontal flip
52
- */
53
- horizontalFlip: Boolean,
54
- /**
55
- * Vertical flip
56
- */
57
- verticalFlip: Boolean,
58
- /**
59
- * String alternative to "horizontalFlip" and "verticalFlip".
60
- * Example: https://docs.iconify.design/icon-components/vue/transform.html
61
- */
62
- flip: String,
63
- /**
64
- * Icon render mode
65
- * 'style' = 'bg' or 'mask', depending on icon content
66
- * 'bg' = span with style using `background`
67
- * 'mask' = span with style using `mask`
68
- * 'svg' = svg
69
- * Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
70
- */
71
- mode: String,
72
- /**
73
- * Toggles inline or block mode
74
- * Example https://docs.iconify.design/icon-components/vue/inline.html
75
- */
76
- inline: Boolean,
77
- /**
78
- * rotates icon
79
- * Example https://docs.iconify.design/icon-components/vue/transform.html
80
- */
81
- rotate: [Number, String],
82
- /**
83
- * A callback that is called when icon data has been loaded
84
- */
85
- onLoad: Function,
86
- /**
87
- * SVG icon string
88
- */
89
- svg: String,
90
- /**
91
- * Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
92
- * @values string | string[]
93
- */
94
- modifiers: {
95
- type: [String, Array]
96
- }
4
+ const VvIconPropsDefaults = {
5
+ prefix: "normal"
6
+ /* normal */
97
7
  };
8
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
9
+ StorageType2["local"] = "local";
10
+ StorageType2["session"] = "session";
11
+ return StorageType2;
12
+ })(StorageType || {});
98
13
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
99
14
  Strategy2["absolute"] = "absolute";
100
15
  Strategy2["fixed"] = "fixed";
@@ -136,15 +51,10 @@ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
136
51
  ActionTag2["button"] = "button";
137
52
  return ActionTag2;
138
53
  })(ActionTag || {});
139
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
140
- AnchorTarget2["_blank"] = "_blank";
141
- AnchorTarget2["_self"] = "_self";
142
- AnchorTarget2["_parent"] = "_parent";
143
- AnchorTarget2["_top"] = "_top";
144
- return AnchorTarget2;
145
- })(AnchorTarget || {});
146
54
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
147
- const INJECTION_KEY_BUTTON_GROUP = Symbol.for("buttonGroup");
55
+ const INJECTION_KEY_BUTTON_GROUP = Symbol.for(
56
+ "buttonGroup"
57
+ );
148
58
  const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
149
59
  "dropdownTrigger"
150
60
  );
@@ -182,12 +92,29 @@ const __default__$2 = {
182
92
  };
183
93
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
184
94
  ...__default__$2,
185
- props: VvIconProps,
95
+ props: /* @__PURE__ */ mergeDefaults({
96
+ name: {},
97
+ color: {},
98
+ width: {},
99
+ height: {},
100
+ provider: {},
101
+ prefix: {},
102
+ src: {},
103
+ horizontalFlip: { type: Boolean },
104
+ verticalFlip: { type: Boolean },
105
+ flip: {},
106
+ mode: {},
107
+ inline: { type: Boolean },
108
+ rotate: {},
109
+ onLoad: { type: Function },
110
+ svg: {},
111
+ modifiers: {}
112
+ }, VvIconPropsDefaults),
186
113
  setup(__props) {
187
114
  const props = __props;
188
115
  const hasRotate = computed(() => {
189
116
  if (typeof props.rotate === "string") {
190
- return parseFloat(props.rotate);
117
+ return Number.parseFloat(props.rotate);
191
118
  }
192
119
  return props.rotate;
193
120
  });
@@ -269,7 +196,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
269
196
  color: _ctx.color,
270
197
  onLoad: _ctx.onLoad,
271
198
  icon: unref(icon)
272
- }), null, 16, ["class"])) : createCommentVNode("", true);
199
+ }), null, 16, ["class"])) : createCommentVNode("v-if", true);
273
200
  };
274
201
  }
275
202
  });
@@ -288,10 +215,7 @@ const LinkProps = {
288
215
  /**
289
216
  * Anchor target
290
217
  */
291
- target: {
292
- type: String,
293
- validator: (value) => Object.values(AnchorTarget).includes(value)
294
- },
218
+ target: String,
295
219
  /**
296
220
  * Anchor rel
297
221
  */
@@ -304,7 +228,10 @@ const LoadingProps = {
304
228
  /**
305
229
  * Loading status
306
230
  */
307
- loading: Boolean,
231
+ loading: {
232
+ type: Boolean,
233
+ default: false
234
+ },
308
235
  /**
309
236
  * Loading label
310
237
  */
@@ -317,44 +244,65 @@ const DisabledProps = {
317
244
  /**
318
245
  * Whether the form control is disabled
319
246
  */
320
- disabled: Boolean
247
+ disabled: {
248
+ type: Boolean,
249
+ default: false
250
+ }
321
251
  };
322
252
  const ActiveProps = {
323
253
  /**
324
254
  * Whether the item is active
325
255
  */
326
- active: Boolean
256
+ active: {
257
+ type: Boolean,
258
+ default: false
259
+ }
327
260
  };
328
261
  const CurrentProps = {
329
262
  /**
330
263
  * Whether the item is current
331
264
  */
332
- current: Boolean
265
+ current: {
266
+ type: Boolean,
267
+ default: false
268
+ }
333
269
  };
334
270
  const PressedProps = {
335
271
  /**
336
272
  * Whether the item is pressed
337
273
  */
338
- pressed: Boolean
274
+ pressed: {
275
+ type: Boolean,
276
+ default: false
277
+ }
339
278
  };
340
279
  const LabelProps = {
341
280
  /**
342
281
  * The item label
343
282
  */
344
- label: [String, Number]
283
+ label: {
284
+ type: [String, Number],
285
+ default: void 0
286
+ }
345
287
  };
346
288
  const ModifiersProps = {
347
289
  /**
348
290
  * Component BEM modifiers
349
291
  */
350
- modifiers: [String, Array]
292
+ modifiers: {
293
+ type: [String, Array],
294
+ default: void 0
295
+ }
351
296
  };
352
- ({
297
+ const IconProps = {
353
298
  /**
354
299
  * VvIcon name or props
355
300
  * @see VVIcon
356
301
  */
357
- icon: { type: [String, Object] },
302
+ icon: {
303
+ type: [String, Object],
304
+ default: void 0
305
+ },
358
306
  /**
359
307
  * VvIcon position
360
308
  */
@@ -363,7 +311,7 @@ const ModifiersProps = {
363
311
  default: Position.before,
364
312
  validation: (value) => Object.values(Position).includes(value)
365
313
  }
366
- });
314
+ };
367
315
  const UnselectableProps = {
368
316
  /**
369
317
  * If true the input will be unselectable
@@ -398,7 +346,8 @@ const IdProps = {
398
346
  * Dropdown show / hide transition name
399
347
  */
400
348
  transitionName: {
401
- type: String
349
+ type: String,
350
+ default: void 0
402
351
  },
403
352
  /**
404
353
  * Offset of the dropdown from the trigger
@@ -466,7 +415,8 @@ const IdProps = {
466
415
  * Set dropdown width to the same as the trigger
467
416
  */
468
417
  triggerWidth: {
469
- type: Boolean
418
+ type: Boolean,
419
+ default: false
470
420
  }
471
421
  });
472
422
  const ActionProps = {
@@ -490,8 +440,23 @@ const ActionProps = {
490
440
  ariaLabel: {
491
441
  type: String,
492
442
  default: void 0
443
+ },
444
+ /**
445
+ * Default tag for the action
446
+ */
447
+ defaultTag: {
448
+ type: String,
449
+ default: ActionTag.button
493
450
  }
494
451
  };
452
+ ({
453
+ storageType: {
454
+ type: String,
455
+ default: StorageType.local,
456
+ validator: (value) => Object.values(StorageType).includes(value)
457
+ },
458
+ storageKey: String
459
+ });
495
460
  const VvActionEvents = ["click", "mouseover", "mouseleave"];
496
461
  const VvActionProps = ActionProps;
497
462
  function useInjectedDropdownTrigger() {
@@ -507,8 +472,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
507
472
  ...__default__$1,
508
473
  props: VvActionProps,
509
474
  emits: VvActionEvents,
510
- setup(__props, { expose: __expose, emit }) {
475
+ setup(__props, { expose: __expose, emit: __emit }) {
511
476
  const props = __props;
477
+ const emit = __emit;
478
+ const instance = getCurrentInstance();
512
479
  const volver = useVolver();
513
480
  const element = ref(null);
514
481
  __expose({ $el: element });
@@ -539,7 +506,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
539
506
  case props.href !== void 0:
540
507
  return ActionTag.a;
541
508
  default:
542
- return ActionTag.button;
509
+ return props.defaultTag;
543
510
  }
544
511
  });
545
512
  const hasProps = computed(() => {
@@ -564,30 +531,44 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
564
531
  to: props.to,
565
532
  target: props.target
566
533
  };
567
- default:
534
+ case ActionTag.button:
568
535
  return {
569
536
  ...toReturn,
570
537
  type: props.type,
571
538
  disabled: props.disabled
572
539
  };
540
+ default:
541
+ return toReturn;
573
542
  }
574
543
  });
575
- const onClick = (e) => {
544
+ function onClick(e) {
545
+ var _a;
576
546
  if (props.disabled) {
577
547
  e.preventDefault();
578
548
  return;
579
549
  }
550
+ if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onClick) {
551
+ emit("click", e);
552
+ return;
553
+ }
580
554
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("click", e);
581
- emit("click", e);
582
- };
583
- const onMouseover = (e) => {
555
+ }
556
+ function onMouseover(e) {
557
+ var _a;
558
+ if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onMouseover) {
559
+ emit("mouseover", e);
560
+ return;
561
+ }
584
562
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseover", e);
585
- emit("mouseover", e);
586
- };
587
- const onMouseleave = (e) => {
563
+ }
564
+ function onMouseleave(e) {
565
+ var _a;
566
+ if ((_a = instance == null ? void 0 : instance.vnode.props) == null ? void 0 : _a.onMouseleave) {
567
+ emit("mouseleave", e);
568
+ return;
569
+ }
588
570
  dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseleave", e);
589
- emit("mouseleave", e);
590
- };
571
+ }
591
572
  return (_ctx, _cache) => {
592
573
  return openBlock(), createBlock(resolveDynamicComponent(unref(hasTag)), mergeProps(unref(hasProps), {
593
574
  ref_key: "element",
@@ -604,105 +585,28 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
604
585
  }), {
605
586
  default: withCtx(() => [
606
587
  renderSlot(_ctx.$slots, "default", {}, () => [
607
- createTextVNode(toDisplayString(_ctx.label), 1)
588
+ createTextVNode(
589
+ toDisplayString(_ctx.label),
590
+ 1
591
+ /* TEXT */
592
+ )
608
593
  ])
609
594
  ]),
610
595
  _: 3
596
+ /* FORWARDED */
611
597
  }, 16, ["class"]);
612
598
  };
613
599
  }
614
600
  });
615
- function equals(obj1, obj2, field) {
616
- if (field) {
617
- return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);
618
- }
619
- return deepEquals(obj1, obj2);
620
- }
621
- function deepEquals(a, b) {
622
- if (a === b)
623
- return true;
624
- if (a && b && typeof a == "object" && typeof b == "object") {
625
- const arrA = Array.isArray(a);
626
- const arrB = Array.isArray(b);
627
- let i, length, key;
628
- if (arrA && arrB) {
629
- length = a.length;
630
- if (length != b.length)
631
- return false;
632
- for (i = length; i-- !== 0; )
633
- if (!deepEquals(a[i], b[i]))
634
- return false;
635
- return true;
636
- }
637
- if (arrA != arrB)
638
- return false;
639
- const dateA = a instanceof Date, dateB = b instanceof Date;
640
- if (dateA != dateB)
641
- return false;
642
- if (dateA && dateB)
643
- return a.getTime() == b.getTime();
644
- const regexpA = a instanceof RegExp, regexpB = b instanceof RegExp;
645
- if (regexpA != regexpB)
646
- return false;
647
- if (regexpA && regexpB)
648
- return a.toString() == b.toString();
649
- const keys = Object.keys(a);
650
- length = keys.length;
651
- if (length !== Object.keys(b).length)
652
- return false;
653
- for (i = length; i-- !== 0; )
654
- if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
655
- return false;
656
- for (i = length; i-- !== 0; ) {
657
- key = keys[i];
658
- if (!deepEquals(a[key], b[key]))
659
- return false;
660
- }
661
- return true;
662
- }
663
- return a !== a && b !== b;
664
- }
665
- function resolveFieldData(data, field) {
666
- if (data && Object.keys(data).length && field) {
667
- if (field.indexOf(".") === -1) {
668
- return data[field];
669
- } else {
670
- const fields = field.split(".");
671
- let value = data;
672
- for (let i = 0, len = fields.length; i < len; ++i) {
673
- if (data == null) {
674
- return null;
675
- }
676
- value = value[fields[i]];
677
- }
678
- return value;
679
- }
680
- } else {
681
- return null;
682
- }
683
- }
684
- function contains(value, list) {
685
- if (value != null && list && list.length) {
686
- for (const val of list) {
687
- if (equals(value, val)) {
688
- return true;
689
- }
690
- }
691
- }
692
- return false;
693
- }
694
- function isEmpty(value) {
695
- return ((value2) => value2 === null || value2 === void 0 || value2 === "" || Array.isArray(value2) && value2.length === 0 || !(value2 instanceof Date) && typeof value2 === "object" && Object.keys(value2).length === 0)(unref(value));
696
- }
697
601
  function useInjectedGroupState(groupKey) {
698
602
  const group = inject(groupKey, void 0);
699
- const isInGroup = computed(() => !isEmpty(group));
603
+ const isInGroup = computed(() => group !== void 0);
700
604
  function getGroupOrLocalRef(propName, props, emit) {
701
- if (group == null ? void 0 : group.value) {
702
- const groupPropValue = unref(group.value)[propName];
605
+ const groupPropValue = group == null ? void 0 : group[propName];
606
+ if (groupPropValue) {
703
607
  return computed({
704
608
  get() {
705
- return groupPropValue == null ? void 0 : groupPropValue.value;
609
+ return groupPropValue.value;
706
610
  },
707
611
  set(value) {
708
612
  groupPropValue.value = value;
@@ -715,8 +619,9 @@ function useInjectedGroupState(groupKey) {
715
619
  return propRef.value;
716
620
  },
717
621
  set(value) {
718
- if (emit)
622
+ if (emit) {
719
623
  emit(`update:${propName}`, value);
624
+ }
720
625
  }
721
626
  });
722
627
  }
@@ -733,10 +638,7 @@ const VvButtonProps = {
733
638
  ...ModifiersProps,
734
639
  ...UnselectableProps,
735
640
  ...LoadingProps,
736
- /**
737
- * Button icon
738
- */
739
- icon: [String, Object],
641
+ ...IconProps,
740
642
  /**
741
643
  * Button icon position
742
644
  */
@@ -783,14 +685,11 @@ function useGroupProps(props, emit) {
783
685
  const { id, iconPosition, icon, label, pressed } = toRefs(props);
784
686
  const modelValue = getGroupOrLocalRef("modelValue", props, emit);
785
687
  const toggle = getGroupOrLocalRef("toggle", props);
786
- const unselectable = getGroupOrLocalRef(
787
- "unselectable",
788
- props
789
- );
790
- const multiple = computed(() => (group == null ? void 0 : group.value.multiple.value) ?? false);
688
+ const unselectable = getGroupOrLocalRef("unselectable", props);
689
+ const multiple = computed(() => (group == null ? void 0 : group.multiple.value) ?? false);
791
690
  const modifiers = computed(() => {
792
691
  let localModifiers = props.modifiers;
793
- let groupModifiers = group == null ? void 0 : group.value.modifiers.value;
692
+ let groupModifiers = group == null ? void 0 : group.modifiers.value;
794
693
  const toReturn = /* @__PURE__ */ new Set();
795
694
  if (localModifiers) {
796
695
  if (!Array.isArray(localModifiers)) {
@@ -807,10 +706,7 @@ function useGroupProps(props, emit) {
807
706
  return Array.from(toReturn);
808
707
  });
809
708
  const disabled = computed(
810
- () => {
811
- var _a;
812
- return Boolean(props.disabled || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
813
- }
709
+ () => Boolean(props.disabled || (group == null ? void 0 : group.disabled.value))
814
710
  );
815
711
  return {
816
712
  // group props
@@ -830,7 +726,127 @@ function useGroupProps(props, emit) {
830
726
  label
831
727
  };
832
728
  }
833
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
729
+ function useUniqueId(id) {
730
+ return computed(() => String((id == null ? void 0 : id.value) || uid()));
731
+ }
732
+ function equals(obj1, obj2, field) {
733
+ if (field) {
734
+ return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);
735
+ }
736
+ return deepEquals(obj1, obj2);
737
+ }
738
+ function deepEquals(a, b) {
739
+ if (a === b)
740
+ return true;
741
+ if (a && b && typeof a == "object" && typeof b == "object") {
742
+ const arrA = Array.isArray(a);
743
+ const arrB = Array.isArray(b);
744
+ let i, length, key;
745
+ if (arrA && arrB) {
746
+ length = a.length;
747
+ if (length !== b.length)
748
+ return false;
749
+ for (i = length; i-- !== 0; ) {
750
+ if (!deepEquals(a[i], b[i]))
751
+ return false;
752
+ }
753
+ return true;
754
+ }
755
+ if (arrA !== arrB)
756
+ return false;
757
+ const dateA = a instanceof Date;
758
+ const dateB = b instanceof Date;
759
+ if (dateA !== dateB)
760
+ return false;
761
+ if (dateA && dateB)
762
+ return a.getTime() === b.getTime();
763
+ const regexpA = a instanceof RegExp;
764
+ const regexpB = b instanceof RegExp;
765
+ if (regexpA !== regexpB)
766
+ return false;
767
+ if (regexpA && regexpB)
768
+ return a.toString() === b.toString();
769
+ const keys = Object.keys(a);
770
+ length = keys.length;
771
+ if (length !== Object.keys(b).length)
772
+ return false;
773
+ for (i = length; i-- !== 0; ) {
774
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
775
+ return false;
776
+ }
777
+ for (i = length; i-- !== 0; ) {
778
+ key = keys[i];
779
+ if (!deepEquals(a[key], b[key]))
780
+ return false;
781
+ }
782
+ return true;
783
+ }
784
+ return Number.isNaN(a) && Number.isNaN(b);
785
+ }
786
+ function resolveFieldData(data, field) {
787
+ if (data && Object.keys(data).length && field) {
788
+ if (!field.includes(".")) {
789
+ return data[field];
790
+ } else {
791
+ const fields = field.split(".");
792
+ let value = data;
793
+ for (let i = 0, len = fields.length; i < len; ++i) {
794
+ if (data == null) {
795
+ return null;
796
+ }
797
+ value = value[fields[i]];
798
+ }
799
+ return value;
800
+ }
801
+ } else {
802
+ return null;
803
+ }
804
+ }
805
+ function contains(value, list) {
806
+ if (value != null && list && list.length) {
807
+ for (const val of list) {
808
+ if (equals(value, val)) {
809
+ return true;
810
+ }
811
+ }
812
+ }
813
+ return false;
814
+ }
815
+ function useComponentIcon(icon, iconPosition) {
816
+ const hasIcon = computed(() => {
817
+ if (typeof (icon == null ? void 0 : icon.value) === "string") {
818
+ return { name: icon == null ? void 0 : icon.value };
819
+ }
820
+ return icon == null ? void 0 : icon.value;
821
+ });
822
+ const hasIconBefore = computed(
823
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Position.before ? hasIcon.value : void 0
824
+ );
825
+ const hasIconAfter = computed(
826
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Position.after ? hasIcon.value : void 0
827
+ );
828
+ const hasIconLeft = computed(
829
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.left ? hasIcon.value : void 0
830
+ );
831
+ const hasIconRight = computed(
832
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.right ? hasIcon.value : void 0
833
+ );
834
+ const hasIconTop = computed(
835
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.top ? hasIcon.value : void 0
836
+ );
837
+ const hasIconBottom = computed(
838
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.bottom ? hasIcon.value : void 0
839
+ );
840
+ return {
841
+ hasIcon,
842
+ hasIconLeft,
843
+ hasIconRight,
844
+ hasIconTop,
845
+ hasIconBottom,
846
+ hasIconBefore,
847
+ hasIconAfter
848
+ };
849
+ }
834
850
  const _hoisted_1 = {
835
851
  key: 1,
836
852
  class: "vv-button__label"
@@ -840,14 +856,16 @@ const _hoisted_2 = {
840
856
  class: "vv-button__label"
841
857
  };
842
858
  const __default__ = {
843
- name: "VvButton"
859
+ name: "VvButton",
860
+ inheritAttrs: false
844
861
  };
845
862
  const _sfc_main = /* @__PURE__ */ defineComponent({
846
863
  ...__default__,
847
864
  props: VvButtonProps,
848
865
  emits: VvButtonEvents,
849
- setup(__props, { expose: __expose, emit }) {
866
+ setup(__props, { expose: __expose, emit: __emit }) {
850
867
  const props = __props;
868
+ const emit = __emit;
851
869
  const attrs = useAttrs();
852
870
  const slots = useSlots();
853
871
  const {
@@ -882,10 +900,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
882
900
  "vv-button",
883
901
  modifiers,
884
902
  computed(() => ({
885
- reverse: [Side.right, Side.bottom].includes(
903
+ "reverse": [Side.right, Side.bottom].includes(
886
904
  iconPosition.value
887
905
  ),
888
- column: [Side.top, Side.bottom].includes(
906
+ "column": [Side.top, Side.bottom].includes(
889
907
  iconPosition.value
890
908
  ),
891
909
  "icon-only": Boolean(
@@ -893,13 +911,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
893
911
  )
894
912
  }))
895
913
  );
896
- const hasIconProps = computed(
897
- () => typeof (icon == null ? void 0 : icon.value) === "string" ? { name: icon == null ? void 0 : icon.value } : icon == null ? void 0 : icon.value
898
- );
914
+ const { hasIcon } = useComponentIcon(icon);
899
915
  const toggleValue = computed(() => {
900
916
  return props.value !== void 0 ? props.value : name.value;
901
917
  });
902
- const onClick = () => {
918
+ const hasListeners = computed(() => {
919
+ if (!toggle.value) {
920
+ return void 0;
921
+ }
922
+ return {
923
+ onClick
924
+ };
925
+ });
926
+ function onClick() {
903
927
  if (toggle.value) {
904
928
  if (Array.isArray(modelValue.value)) {
905
929
  if (contains(toggleValue.value, modelValue.value)) {
@@ -919,9 +943,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
919
943
  }
920
944
  modelValue.value = toggleValue.value;
921
945
  }
922
- };
946
+ }
923
947
  return (_ctx, _cache) => {
924
948
  return openBlock(), createBlock(_sfc_main$1, mergeProps({
949
+ ...unref(attrs),
950
+ ...unref(hasListeners),
925
951
  disabled: unref(disabled),
926
952
  pressed: unref(pressed),
927
953
  active: _ctx.active,
@@ -935,8 +961,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
935
961
  id: unref(hasId),
936
962
  ref_key: "element",
937
963
  ref: element,
938
- class: unref(bemCssClasses),
939
- onClick
964
+ class: unref(bemCssClasses)
940
965
  }), {
941
966
  default: withCtx(() => [
942
967
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -945,24 +970,44 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
945
970
  key: 0,
946
971
  class: "vv-button__loading-icon",
947
972
  name: _ctx.loadingIcon
948
- }, null, 8, ["name"])) : createCommentVNode("", true),
949
- _ctx.loadingLabel ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(_ctx.loadingLabel), 1)) : createCommentVNode("", true)
950
- ]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
951
- renderSlot(_ctx.$slots, "before"),
952
- unref(icon) ? (openBlock(), createBlock(_sfc_main$2, mergeProps({
953
- key: 0,
954
- class: "vv-button__icon"
955
- }, unref(hasIconProps)), null, 16)) : createCommentVNode("", true),
956
- unref(label) ? (openBlock(), createElementBlock("span", _hoisted_2, [
957
- renderSlot(_ctx.$slots, "label", {}, () => [
958
- createTextVNode(toDisplayString(unref(label)), 1)
959
- ])
960
- ])) : createCommentVNode("", true),
961
- renderSlot(_ctx.$slots, "after")
962
- ], 64))
973
+ }, null, 8, ["name"])) : createCommentVNode("v-if", true),
974
+ _ctx.loadingLabel ? (openBlock(), createElementBlock(
975
+ "span",
976
+ _hoisted_1,
977
+ toDisplayString(_ctx.loadingLabel),
978
+ 1
979
+ /* TEXT */
980
+ )) : createCommentVNode("v-if", true)
981
+ ]) : (openBlock(), createElementBlock(
982
+ Fragment,
983
+ { key: 1 },
984
+ [
985
+ renderSlot(_ctx.$slots, "before"),
986
+ unref(hasIcon) ? (openBlock(), createBlock(
987
+ _sfc_main$2,
988
+ mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-button__icon" }),
989
+ null,
990
+ 16
991
+ /* FULL_PROPS */
992
+ )) : createCommentVNode("v-if", true),
993
+ unref(label) ? (openBlock(), createElementBlock("span", _hoisted_2, [
994
+ renderSlot(_ctx.$slots, "label", {}, () => [
995
+ createTextVNode(
996
+ toDisplayString(unref(label)),
997
+ 1
998
+ /* TEXT */
999
+ )
1000
+ ])
1001
+ ])) : createCommentVNode("v-if", true),
1002
+ renderSlot(_ctx.$slots, "after")
1003
+ ],
1004
+ 64
1005
+ /* STABLE_FRAGMENT */
1006
+ ))
963
1007
  ])
964
1008
  ]),
965
1009
  _: 3
1010
+ /* FORWARDED */
966
1011
  }, 16, ["id", "class"]);
967
1012
  };
968
1013
  }