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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +148 -51
  3. package/auto-imports.d.ts +25 -12
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +28 -20
  6. package/dist/Volver.d.ts +11 -11
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -104
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +29 -10
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +485 -206
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +61 -18
  14. package/dist/components/VvAccordionGroup/index.d.ts +16 -8
  15. package/dist/components/VvAction/VvAction.es.js +84 -33
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +61 -28
  18. package/dist/components/VvAction/index.d.ts +26 -10
  19. package/dist/components/VvAlert/VvAlert.es.js +350 -318
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +25 -17
  22. package/dist/components/VvAlert/index.d.ts +20 -11
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +388 -327
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +22 -17
  26. package/dist/components/VvAlertGroup/index.d.ts +10 -18
  27. package/dist/components/VvAvatar/VvAvatar.es.js +66 -28
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +13 -5
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +147 -74
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +17 -10
  34. package/dist/components/VvAvatarGroup/index.d.ts +6 -3
  35. package/dist/components/VvBadge/VvBadge.es.js +78 -34
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -5
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +294 -83
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +28 -8
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +510 -488
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +97 -45
  46. package/dist/components/VvButton/index.d.ts +52 -30
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +95 -45
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +35 -17
  50. package/dist/components/VvButtonGroup/index.d.ts +13 -4
  51. package/dist/components/VvCard/VvCard.es.js +87 -42
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +13 -5
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -136
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -35
  58. package/dist/components/VvCheckbox/index.d.ts +52 -19
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +408 -322
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +103 -34
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +1963 -1639
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +260 -672
  66. package/dist/components/VvCombobox/index.d.ts +385 -135
  67. package/dist/components/VvDialog/VvDialog.es.js +177 -297
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +23 -7
  70. package/dist/components/VvDialog/index.d.ts +12 -0
  71. package/dist/components/VvDropdown/VvDropdown.es.js +172 -102
  72. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  73. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +110 -315
  74. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +77 -28
  75. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  76. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +13 -5
  77. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +38 -10
  78. package/dist/components/VvDropdown/index.d.ts +52 -118
  79. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +165 -60
  80. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  81. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +337 -10
  82. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  84. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  85. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  86. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.es.js +24 -102
  88. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  89. package/dist/components/VvIcon/VvIcon.vue.d.ts +4 -68
  90. package/dist/components/VvIcon/index.d.ts +33 -48
  91. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  92. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  93. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +317 -0
  94. package/dist/components/VvInputFile/index.d.ts +193 -0
  95. package/dist/components/VvInputText/VvInputClearAction.d.ts +16 -10
  96. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +20 -14
  97. package/dist/components/VvInputText/VvInputStepAction.d.ts +11 -7
  98. package/dist/components/VvInputText/VvInputText.es.js +1495 -548
  99. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  100. package/dist/components/VvInputText/VvInputText.vue.d.ts +216 -68
  101. package/dist/components/VvInputText/index.d.ts +101 -31
  102. package/dist/components/VvNav/VvNav.es.js +155 -75
  103. package/dist/components/VvNav/VvNav.umd.js +1 -1
  104. package/dist/components/VvNav/VvNav.vue.d.ts +32 -11
  105. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  106. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  107. package/dist/components/VvNav/index.d.ts +5 -2
  108. package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
  109. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  110. package/dist/components/VvProgress/VvProgress.es.js +73 -27
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +13 -6
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +175 -135
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -33
  117. package/dist/components/VvRadio/index.d.ts +50 -17
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +406 -321
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +103 -34
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +677 -611
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +107 -199
  125. package/dist/components/VvSelect/index.d.ts +196 -16
  126. package/dist/components/VvTab/VvTab.es.js +230 -110
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +34 -12
  129. package/dist/components/VvTab/index.d.ts +6 -3
  130. package/dist/components/VvTextarea/VvTextarea.es.js +278 -255
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +159 -54
  133. package/dist/components/VvTextarea/index.d.ts +69 -20
  134. package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +16 -9
  137. package/dist/components/VvTooltip/index.d.ts +5 -2
  138. package/dist/components/common/HintSlot.d.ts +8 -9
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +4303 -2228
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlerInject.d.ts +4 -0
  143. package/dist/composables/alert/useAlert.d.ts +71 -6
  144. package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
  145. package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
  146. package/dist/composables/dropdown/useDropdownInject.d.ts +12 -0
  147. package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +6 -7
  148. package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
  149. package/dist/composables/group/useGroupStateInject.d.ts +9 -0
  150. package/dist/composables/group/useGroupStateProvide.d.ts +6 -0
  151. package/dist/composables/index.d.ts +3 -0
  152. package/dist/composables/index.es.js +178 -6
  153. package/dist/composables/index.umd.js +1 -1
  154. package/dist/composables/useBlurhash.d.ts +7 -0
  155. package/dist/composables/useComponentFocus.d.ts +2 -2
  156. package/dist/composables/useComponentIcon.d.ts +9 -8
  157. package/dist/composables/useOptions.d.ts +5 -5
  158. package/dist/composables/usePersistence.d.ts +3 -0
  159. package/dist/composables/useUniqueId.d.ts +2 -2
  160. package/dist/composables/useVolver.d.ts +1 -1
  161. package/dist/constants.d.ts +35 -33
  162. package/dist/directives/index.d.ts +3 -5
  163. package/dist/directives/index.es.js +247 -82
  164. package/dist/directives/index.umd.js +1 -1
  165. package/dist/directives/v-contextmenu.es.js +137 -31
  166. package/dist/directives/v-contextmenu.umd.js +1 -1
  167. package/dist/directives/v-tooltip.es.js +101 -39
  168. package/dist/directives/v-tooltip.umd.js +1 -1
  169. package/dist/icons.d.ts +17 -17
  170. package/dist/icons.es.js +516 -516
  171. package/dist/icons.umd.js +1 -1
  172. package/dist/index.d.ts +3 -1
  173. package/dist/index.es.js +74 -6
  174. package/dist/index.umd.js +1 -1
  175. package/dist/props/index.d.ts +288 -198
  176. package/dist/resolvers/unplugin.d.ts +6 -1
  177. package/dist/resolvers/unplugin.es.js +87 -10
  178. package/dist/resolvers/unplugin.umd.js +1 -1
  179. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  180. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  181. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
  182. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1304 -538
  183. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  184. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  185. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  186. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  187. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  188. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  189. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  190. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  191. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  192. package/dist/stories/Button/Button.settings.d.ts +2 -194
  193. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  194. package/dist/stories/Card/Card.settings.d.ts +2 -63
  195. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  196. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
  199. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
  200. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  201. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  202. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  203. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  204. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  205. package/dist/stories/InputFile/InputFile.stories.d.ts +13 -0
  206. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  207. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  208. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  209. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  210. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  211. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  213. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  214. package/dist/stories/Select/Select.settings.d.ts +2 -246
  215. package/dist/stories/Select/Select.stories.d.ts +1 -0
  216. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  217. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  218. package/dist/stories/argTypes.d.ts +27 -866
  219. package/dist/test/expect.d.ts +1 -2
  220. package/dist/test/options.d.ts +1 -1
  221. package/dist/test/sleep.d.ts +1 -1
  222. package/dist/types/alert.d.ts +9 -7
  223. package/dist/types/blurhash.d.ts +12 -0
  224. package/dist/types/floating-ui.d.ts +1 -1
  225. package/dist/types/generic.d.ts +1 -2
  226. package/dist/types/group.d.ts +37 -15
  227. package/dist/types/index.d.ts +7 -0
  228. package/dist/types/input-file.d.ts +9 -0
  229. package/dist/types/nav.d.ts +2 -2
  230. package/dist/utils/DomUtilities.d.ts +1 -0
  231. package/dist/utils/ObjectUtilities.d.ts +8 -9
  232. package/dist/workers/blurhash.d.ts +1 -0
  233. package/package.json +238 -246
  234. package/src/Volver.ts +251 -246
  235. package/src/assets/icons/detailed.json +1 -1
  236. package/src/assets/icons/normal.json +1 -1
  237. package/src/assets/icons/simple.json +1 -1
  238. package/src/components/VvAccordion/VvAccordion.vue +163 -100
  239. package/src/components/VvAccordion/index.ts +65 -80
  240. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +224 -106
  241. package/src/components/VvAccordionGroup/index.ts +42 -42
  242. package/src/components/VvAction/VvAction.vue +144 -130
  243. package/src/components/VvAlert/VvAlert.vue +72 -70
  244. package/src/components/VvAlert/index.ts +149 -147
  245. package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
  246. package/src/components/VvAlertGroup/index.ts +102 -118
  247. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  248. package/src/components/VvAvatar/index.ts +5 -5
  249. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  250. package/src/components/VvAvatarGroup/index.ts +21 -21
  251. package/src/components/VvBadge/VvBadge.vue +15 -14
  252. package/src/components/VvBadge/index.ts +2 -2
  253. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
  254. package/src/components/VvBreadcrumb/index.ts +3 -9
  255. package/src/components/VvButton/VvButton.vue +163 -152
  256. package/src/components/VvButton/index.ts +104 -111
  257. package/src/components/VvButtonGroup/VvButtonGroup.vue +73 -65
  258. package/src/components/VvButtonGroup/index.ts +23 -22
  259. package/src/components/VvCard/VvCard.vue +30 -30
  260. package/src/components/VvCard/index.ts +2 -2
  261. package/src/components/VvCheckbox/VvCheckbox.vue +186 -184
  262. package/src/components/VvCheckbox/index.ts +45 -45
  263. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
  264. package/src/components/VvCombobox/VvCombobox.vue +657 -619
  265. package/src/components/VvCombobox/index.ts +212 -168
  266. package/src/components/VvDialog/VvDialog.vue +139 -129
  267. package/src/components/VvDialog/index.ts +42 -36
  268. package/src/components/VvDropdown/VvDropdown.vue +466 -445
  269. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  270. package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
  271. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  272. package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
  273. package/src/components/VvDropdown/index.ts +61 -27
  274. package/src/components/VvIcon/README.md +1 -1
  275. package/src/components/VvIcon/VvIcon.vue +133 -133
  276. package/src/components/VvIcon/index.ts +84 -97
  277. package/src/components/VvInputFile/VvInputFile.vue +413 -0
  278. package/src/components/VvInputFile/index.ts +143 -0
  279. package/src/components/VvInputText/VvInputClearAction.ts +51 -47
  280. package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
  281. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  282. package/src/components/VvInputText/VvInputText.vue +653 -516
  283. package/src/components/VvInputText/VvInputTextActions.ts +87 -87
  284. package/src/components/VvInputText/index.ts +201 -186
  285. package/src/components/VvNav/VvNav.vue +40 -36
  286. package/src/components/VvNav/VvNavItem.vue +12 -12
  287. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  288. package/src/components/VvNav/index.ts +2 -2
  289. package/src/components/VvProgress/VvProgress.vue +27 -27
  290. package/src/components/VvProgress/index.ts +28 -28
  291. package/src/components/VvRadio/VvRadio.vue +115 -112
  292. package/src/components/VvRadio/index.ts +29 -29
  293. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
  294. package/src/components/VvSelect/VvSelect.vue +262 -241
  295. package/src/components/VvSelect/index.ts +88 -63
  296. package/src/components/VvTab/VvTab.vue +79 -69
  297. package/src/components/VvTab/index.ts +13 -13
  298. package/src/components/VvTextarea/VvTextarea.vue +218 -219
  299. package/src/components/VvTextarea/index.ts +35 -35
  300. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  301. package/src/components/VvTooltip/index.ts +12 -12
  302. package/src/components/common/HintSlot.ts +151 -152
  303. package/src/components/index.ts +10 -0
  304. package/src/composables/alert/{useInjectAlert.ts → useAlerInject.ts} +1 -1
  305. package/src/composables/alert/useAlert.ts +76 -73
  306. package/src/composables/alert/{useProvideAlert.ts → useAlertProvide.ts} +12 -12
  307. package/src/composables/dropdown/useDropdownContextmenu.ts +22 -0
  308. package/src/composables/dropdown/{useInjectDropdown.ts → useDropdownInject.ts} +6 -6
  309. package/src/composables/dropdown/useDropdownProvide.ts +94 -0
  310. package/src/composables/dropdown/useDropdownVirtualElement.ts +53 -0
  311. package/src/composables/group/useGroupStateInject.ts +55 -0
  312. package/src/composables/group/useGroupStateProvide.ts +14 -0
  313. package/src/composables/index.ts +3 -0
  314. package/src/composables/useBlurhash.ts +68 -0
  315. package/src/composables/useComponentFocus.ts +9 -9
  316. package/src/composables/useComponentIcon.ts +36 -35
  317. package/src/composables/useDebouncedInput.ts +25 -25
  318. package/src/composables/useDefaults.ts +81 -80
  319. package/src/composables/useModifiers.ts +29 -29
  320. package/src/composables/useOptions.ts +51 -42
  321. package/src/composables/usePersistence.ts +74 -0
  322. package/src/composables/useTextCount.ts +46 -46
  323. package/src/composables/useUniqueId.ts +4 -4
  324. package/src/composables/useVolver.ts +1 -1
  325. package/src/constants.ts +98 -83
  326. package/src/directives/index.ts +3 -6
  327. package/src/directives/v-contextmenu.ts +26 -34
  328. package/src/directives/v-tooltip.ts +20 -11
  329. package/src/icons.ts +2 -2
  330. package/src/index.ts +6 -4
  331. package/src/props/index.ts +467 -383
  332. package/src/resolvers/unplugin.ts +154 -144
  333. package/src/shims.d.ts +4 -5
  334. package/src/stories/Accordion/Accordion.settings.ts +51 -50
  335. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  336. package/src/stories/Accordion/Accordion.test.ts +56 -54
  337. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  338. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
  339. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
  340. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
  341. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +36 -36
  342. package/src/stories/Alert/Alert.settings.ts +117 -116
  343. package/src/stories/Alert/Alert.stories.ts +30 -30
  344. package/src/stories/Alert/Alert.test.ts +78 -80
  345. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  346. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  347. package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
  348. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  349. package/src/stories/AlertGroup/AlertGroup.test.ts +69 -71
  350. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  351. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  352. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
  353. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  354. package/src/stories/Avatar/Avatar.stories.ts +22 -22
  355. package/src/stories/Avatar/Avatar.test.ts +22 -24
  356. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  357. package/src/stories/Avatar/AvatarModifiers.stories.ts +60 -60
  358. package/src/stories/Avatar/AvatarSlots.stories.ts +17 -17
  359. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
  360. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  361. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
  362. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  363. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  364. package/src/stories/Badge/Badge.settings.ts +21 -20
  365. package/src/stories/Badge/Badge.stories.ts +24 -24
  366. package/src/stories/Badge/Badge.test.ts +8 -8
  367. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  368. package/src/stories/Blurhash/BlurhashComposable.stories.ts +116 -0
  369. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
  370. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
  371. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  372. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +19 -19
  373. package/src/stories/Button/Button.settings.ts +147 -151
  374. package/src/stories/Button/Button.stories.ts +19 -19
  375. package/src/stories/Button/Button.test.ts +41 -42
  376. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  377. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  378. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  379. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  380. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  381. package/src/stories/Button/ButtonState.stories.ts +23 -23
  382. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  383. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
  384. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  385. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
  386. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  387. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +17 -17
  388. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  389. package/src/stories/Card/Card.settings.ts +49 -48
  390. package/src/stories/Card/Card.stories.ts +22 -22
  391. package/src/stories/Card/Card.test.ts +14 -16
  392. package/src/stories/Card/CardSlots.stories.ts +42 -42
  393. package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
  394. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  395. package/src/stories/Checkbox/Checkbox.test.ts +63 -66
  396. package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
  397. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  398. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  399. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  400. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +64 -68
  401. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  402. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  403. package/src/stories/Combobox/Combobox.settings.ts +408 -385
  404. package/src/stories/Combobox/Combobox.stories.ts +116 -107
  405. package/src/stories/Combobox/Combobox.test.ts +92 -92
  406. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
  407. package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
  408. package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
  409. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -54
  410. package/src/stories/Dialog/Dialog.settings.ts +49 -40
  411. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  412. package/src/stories/Dialog/Dialog.test.ts +49 -54
  413. package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
  414. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  415. package/src/stories/Dropdown/Dropdown.settings.ts +62 -61
  416. package/src/stories/Dropdown/Dropdown.stories.ts +60 -60
  417. package/src/stories/Dropdown/Dropdown.test.ts +9 -13
  418. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +18 -19
  419. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +19 -19
  420. package/src/stories/Dropdown/DropdownSlots.stories.ts +51 -51
  421. package/src/stories/Icon/Icon.settings.ts +66 -65
  422. package/src/stories/Icon/Icon.stories.ts +29 -30
  423. package/src/stories/Icon/IconsCollection.stories.ts +24 -24
  424. package/src/stories/InputFile/InputFile.settings.ts +37 -0
  425. package/src/stories/InputFile/InputFile.stories.ts +97 -0
  426. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  427. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  428. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  429. package/src/stories/InputText/InputText.settings.ts +248 -246
  430. package/src/stories/InputText/InputText.stories.ts +68 -68
  431. package/src/stories/InputText/InputText.test.ts +119 -122
  432. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  433. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  434. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  435. package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
  436. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  437. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  438. package/src/stories/Nav/Nav.settings.ts +27 -27
  439. package/src/stories/Nav/Nav.stories.ts +18 -18
  440. package/src/stories/Nav/Nav.test.ts +10 -12
  441. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  442. package/src/stories/Progress/Progress.settings.ts +24 -23
  443. package/src/stories/Progress/Progress.stories.ts +23 -23
  444. package/src/stories/Progress/Progress.test.ts +5 -5
  445. package/src/stories/Radio/Radio.settings.ts +9 -9
  446. package/src/stories/Radio/Radio.stories.ts +47 -47
  447. package/src/stories/Radio/Radio.test.ts +54 -57
  448. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  449. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  450. package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
  451. package/src/stories/RadioGroup/RadioGroup.test.ts +64 -68
  452. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
  453. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  454. package/src/stories/Select/Select.settings.ts +72 -71
  455. package/src/stories/Select/Select.stories.ts +75 -66
  456. package/src/stories/Select/Select.test.ts +67 -70
  457. package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
  458. package/src/stories/Select/SelectOptions.stories.ts +55 -55
  459. package/src/stories/Select/SelectSlots.stories.ts +21 -20
  460. package/src/stories/Tab/Tab.settings.ts +34 -34
  461. package/src/stories/Tab/Tab.stories.ts +16 -16
  462. package/src/stories/Tab/Tab.test.ts +17 -19
  463. package/src/stories/Textarea/Textarea.settings.ts +80 -78
  464. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  465. package/src/stories/Textarea/Textarea.test.ts +70 -73
  466. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  467. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  468. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  469. package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
  470. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  471. package/src/stories/Tooltip/Tooltip.test.ts +53 -54
  472. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  473. package/src/stories/argTypes.ts +506 -505
  474. package/src/test/expect.ts +74 -79
  475. package/src/test/options.ts +17 -16
  476. package/src/test/sleep.ts +3 -2
  477. package/src/test/types.d.ts +12 -12
  478. package/src/types/alert.ts +21 -17
  479. package/src/types/blurhash.ts +21 -0
  480. package/src/types/floating-ui.ts +1 -1
  481. package/src/types/generic.ts +2 -3
  482. package/src/types/group.ts +35 -27
  483. package/src/types/index.ts +7 -0
  484. package/src/types/input-file.ts +10 -0
  485. package/src/types/nav.ts +13 -14
  486. package/src/utils/DomUtilities.ts +15 -0
  487. package/src/utils/ObjectUtilities.ts +192 -188
  488. package/src/workers/blurhash.ts +9 -0
  489. package/dist/composables/alert/useInjectAlert.d.ts +0 -9
  490. package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
  491. package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
  492. package/dist/composables/group/useProvideGroupState.d.ts +0 -6
  493. package/src/composables/dropdown/useProvideDropdown.ts +0 -94
  494. package/src/composables/group/useInjectedGroupState.ts +0 -51
  495. package/src/composables/group/useProvideGroupState.ts +0 -20
  496. /package/src/assets/icons/normal/{dulicate.svg → duplicate.svg} +0 -0
@@ -2,49 +2,49 @@ import type { ExtractPropTypes } from 'vue'
2
2
  import { InputTextareaProps } from '../../props'
3
3
 
4
4
  export const WRAP = {
5
- hard: 'hard',
6
- soft: 'soft',
5
+ hard: 'hard',
6
+ soft: 'soft',
7
7
  }
8
8
 
9
9
  export const SPELLCHECK = {
10
- true: true,
11
- false: false,
12
- default: 'default',
10
+ true: true,
11
+ false: false,
12
+ default: 'default',
13
13
  }
14
14
 
15
15
  export const VvTextareaEvents = ['update:modelValue', 'focus', 'blur', 'keyup']
16
16
 
17
17
  export const VvTextareaProps = {
18
- ...InputTextareaProps,
19
- /**
20
- * Textarea value
21
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#value
22
- */
23
- modelValue: String,
24
- /**
25
- * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. If it is not specified, the default value is 20.
26
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#cols
27
- */
28
- cols: { type: [String, Number], default: 20 },
29
- /**
30
- * The number of visible text lines for the control. If it is specified, it must be a positive integer. If it is not specified, the default value is 2.
31
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#rows
32
- */
33
- rows: { type: [String, Number], default: 2 },
34
- /**
35
- * Indicates how the control should wrap the value for form submission.
36
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
37
- */
38
- wrap: { type: String, default: WRAP.soft },
39
- /**
40
- * Specifies whether the <textarea> is subject to spell checking by the underlying browser/OS.
41
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
42
- */
43
- spellcheck: { type: [Boolean, String], default: SPELLCHECK.default },
44
- /**
45
- * If true, the textarea will be resizable
46
- */
47
- resizable: Boolean,
18
+ ...InputTextareaProps,
19
+ /**
20
+ * Textarea value
21
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#value
22
+ */
23
+ modelValue: String,
24
+ /**
25
+ * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. If it is not specified, the default value is 20.
26
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#cols
27
+ */
28
+ cols: { type: [String, Number], default: 20 },
29
+ /**
30
+ * The number of visible text lines for the control. If it is specified, it must be a positive integer. If it is not specified, the default value is 2.
31
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#rows
32
+ */
33
+ rows: { type: [String, Number], default: 2 },
34
+ /**
35
+ * Indicates how the control should wrap the value for form submission.
36
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
37
+ */
38
+ wrap: { type: String, default: WRAP.soft },
39
+ /**
40
+ * Specifies whether the <textarea> is subject to spell checking by the underlying browser/OS.
41
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
42
+ */
43
+ spellcheck: { type: [Boolean, String], default: SPELLCHECK.default },
44
+ /**
45
+ * If true, the textarea will be resizable
46
+ */
47
+ resizable: Boolean,
48
48
  }
49
49
 
50
50
  export type VvTextareaPropsTypes = ExtractPropTypes<typeof VvTextareaProps>
@@ -1,23 +1,29 @@
1
1
  <script setup lang="ts">
2
- import { VvTooltipProps } from '.'
2
+ import { VvTooltipProps } from '.'
3
3
 
4
- const props = defineProps(VvTooltipProps)
5
- const { modifiers } = toRefs(props)
4
+ const props = defineProps(VvTooltipProps)
5
+ const { modifiers } = toRefs(props)
6
6
 
7
- // styles
8
- const bemCssClasses = useModifiers(
9
- 'vv-tooltip',
10
- modifiers,
11
- computed(() => ({
12
- [props.position]: true,
13
- })),
14
- )
7
+ // styles
8
+ const bemCssClasses = useModifiers(
9
+ 'vv-tooltip',
10
+ modifiers,
11
+ computed(() => ({
12
+ [props.position]: true,
13
+ })),
14
+ )
15
+ </script>
16
+
17
+ <script lang="ts">
18
+ export default {
19
+ name: 'VvTooltip',
20
+ }
15
21
  </script>
16
22
 
17
23
  <template>
18
- <span :class="bemCssClasses" role="tooltip" inert>
19
- <slot>
20
- {{ value }}
21
- </slot>
22
- </span>
24
+ <span :class="bemCssClasses" role="tooltip" inert>
25
+ <slot>
26
+ {{ value }}
27
+ </slot>
28
+ </span>
23
29
  </template>
@@ -3,16 +3,16 @@ import { Side } from '../../constants'
3
3
  import { ModifiersProps } from '../../props'
4
4
 
5
5
  export const VvTooltipProps = {
6
- ...ModifiersProps,
7
- /**
8
- * Define the tooltip position
9
- * @default Side.bottom
10
- */
11
- position: {
12
- type: String as PropType<`${Side}`>,
13
- default: Side.bottom,
14
- },
15
- value: {
16
- type: String,
17
- },
6
+ ...ModifiersProps,
7
+ /**
8
+ * Define the tooltip position
9
+ * @default Side.bottom
10
+ */
11
+ position: {
12
+ type: String as PropType<`${Side}`>,
13
+ default: Side.bottom,
14
+ },
15
+ value: {
16
+ type: String,
17
+ },
18
18
  }
@@ -1,175 +1,174 @@
1
- import type { ExtractPropTypes, Slots } from 'vue'
2
- import type { Ref } from 'vue'
1
+ import type { ExtractPropTypes, Ref, Slots } from 'vue'
3
2
 
4
3
  /**
5
4
  * Merge array of string
6
5
  * @param {string[] | string} items
7
- * @returns {string}
6
+ * @returns {string} merged string
8
7
  */
9
8
  function joinLines(items: string[] | string | unknown[] | undefined) {
10
- if (Array.isArray(items)) {
11
- return items.filter((item) => isString(item)).join(' ')
12
- }
13
- return items
9
+ if (Array.isArray(items)) {
10
+ return items.filter(item => isString(item)).join(' ')
11
+ }
12
+ return items
14
13
  }
15
14
 
16
15
  export type HintSlotProps = Readonly<
17
- ExtractPropTypes<{
18
- hintLabel: {
19
- type: StringConstructor
20
- default: ''
21
- required: true
22
- }
23
- modelValue: unknown
24
- valid: BooleanConstructor
25
- validLabel: (StringConstructor | ArrayConstructor)[]
26
- invalid: BooleanConstructor
27
- invalidLabel: (StringConstructor | ArrayConstructor)[]
28
- loading: BooleanConstructor
29
- loadingLabel: StringConstructor
30
- }>
16
+ ExtractPropTypes<{
17
+ hintLabel: {
18
+ type: StringConstructor
19
+ default: ''
20
+ required: true
21
+ }
22
+ modelValue: unknown
23
+ valid: BooleanConstructor
24
+ validLabel: (StringConstructor | ArrayConstructor)[]
25
+ invalid: BooleanConstructor
26
+ invalidLabel: (StringConstructor | ArrayConstructor)[]
27
+ loading: BooleanConstructor
28
+ loadingLabel: StringConstructor
29
+ }>
31
30
  >
32
31
 
33
32
  /**
34
33
  * Return a vue component (HintSlot) to render and manage hint, errors, valid, loading state and messages
35
- * @param {HintSlotProps} parentProps vue props
36
- * @param {Slots} parentSlots vue slots
34
+ * @param {HintSlotProps} propsOrRef vue props
35
+ * @param {Slots} slots vue slots
37
36
  * @returns {Component} vue component
38
37
  */
39
38
  export function HintSlotFactory(
40
- propsOrRef: HintSlotProps | Ref<HintSlotProps>,
41
- slots: Slots,
39
+ propsOrRef: HintSlotProps | Ref<HintSlotProps>,
40
+ slots: Slots,
42
41
  ) {
43
- const props = computed(() => {
44
- if (isRef(propsOrRef)) {
45
- return propsOrRef.value
46
- }
47
- return propsOrRef
48
- })
42
+ const props = computed(() => {
43
+ if (isRef(propsOrRef)) {
44
+ return propsOrRef.value
45
+ }
46
+ return propsOrRef
47
+ })
49
48
 
50
- // label
51
- const invalidLabel = computed(() => joinLines(props.value.invalidLabel))
52
- const validLabel = computed(() => joinLines(props.value.validLabel))
53
- const loadingLabel = computed(() => props.value.loadingLabel)
54
- const hintLabel = computed(() => props.value.hintLabel)
49
+ // label
50
+ const invalidLabel = computed(() => joinLines(props.value.invalidLabel))
51
+ const validLabel = computed(() => joinLines(props.value.validLabel))
52
+ const loadingLabel = computed(() => props.value.loadingLabel)
53
+ const hintLabel = computed(() => props.value.hintLabel)
55
54
 
56
- // type
57
- const hasLoadingLabelOrSlot = computed(() =>
58
- Boolean(props.value.loading && (slots.loading || loadingLabel.value)),
59
- )
60
- const hasInvalidLabelOrSlot = computed(
61
- () =>
62
- !hasLoadingLabelOrSlot.value &&
63
- Boolean(
64
- props.value.invalid && (slots.invalid || invalidLabel.value),
65
- ),
66
- )
67
- const hasValidLabelOrSlot = computed(
68
- () =>
69
- !hasLoadingLabelOrSlot.value &&
70
- !hasInvalidLabelOrSlot.value &&
71
- Boolean(props.value.valid && (slots.valid || validLabel.value)),
72
- )
73
- const hasHintLabelOrSlot = computed(
74
- () =>
75
- !hasLoadingLabelOrSlot.value &&
76
- !hasInvalidLabelOrSlot.value &&
77
- !hasValidLabelOrSlot.value &&
78
- Boolean(slots.hint || hintLabel.value),
79
- )
80
- const isVisible = computed(
81
- () =>
82
- hasInvalidLabelOrSlot.value ||
83
- hasValidLabelOrSlot.value ||
84
- hasLoadingLabelOrSlot.value ||
85
- hasHintLabelOrSlot.value,
86
- )
87
- const hintSlotScope = computed(() => ({
88
- modelValue: props.value.modelValue,
89
- valid: props.value.valid,
90
- invalid: props.value.invalid,
91
- loading: props.value.loading,
92
- }))
93
- // component
94
- const HintSlot = defineComponent({
95
- name: 'HintSlot',
96
- props: {
97
- tag: {
98
- type: String,
99
- default: 'small',
100
- },
101
- },
102
- setup() {
103
- return {
104
- isVisible,
105
- invalidLabel,
106
- validLabel,
107
- loadingLabel,
108
- hintLabel,
109
- hasInvalidLabelOrSlot,
110
- hasValidLabelOrSlot,
111
- hasLoadingLabelOrSlot,
112
- hasHintLabelOrSlot,
113
- }
114
- },
115
- render() {
116
- if (this.isVisible) {
117
- let role
118
- if (this.hasInvalidLabelOrSlot) {
119
- role = 'alert'
120
- }
121
- if (this.hasValidLabelOrSlot) {
122
- role = 'status'
123
- }
124
- if (this.hasLoadingLabelOrSlot) {
125
- return h(
126
- this.tag,
127
- {
128
- role,
129
- },
130
- this.$slots.loading?.() ?? this.loadingLabel,
131
- )
132
- }
133
- if (this.hasInvalidLabelOrSlot) {
134
- return h(
135
- this.tag,
136
- {
137
- role,
138
- },
139
- this.$slots.invalid?.() ??
140
- this.$slots.invalid ??
141
- this.invalidLabel,
142
- )
143
- }
144
- if (this.hasValidLabelOrSlot) {
145
- return h(
146
- this.tag,
147
- {
148
- role,
149
- },
150
- this.$slots.valid?.() ?? this.validLabel,
151
- )
152
- }
153
- return h(
154
- this.tag,
155
- {
156
- role,
157
- },
158
- this.$slots.hint?.() ?? this.$slots.hint ?? this.hintLabel,
159
- )
160
- }
161
- return null
162
- },
163
- })
55
+ // type
56
+ const hasLoadingLabelOrSlot = computed(() =>
57
+ Boolean(props.value.loading && (slots.loading || loadingLabel.value)),
58
+ )
59
+ const hasInvalidLabelOrSlot = computed(
60
+ () =>
61
+ !hasLoadingLabelOrSlot.value
62
+ && Boolean(
63
+ props.value.invalid && (slots.invalid || invalidLabel.value),
64
+ ),
65
+ )
66
+ const hasValidLabelOrSlot = computed(
67
+ () =>
68
+ !hasLoadingLabelOrSlot.value
69
+ && !hasInvalidLabelOrSlot.value
70
+ && Boolean(props.value.valid && (slots.valid || validLabel.value)),
71
+ )
72
+ const hasHintLabelOrSlot = computed(
73
+ () =>
74
+ !hasLoadingLabelOrSlot.value
75
+ && !hasInvalidLabelOrSlot.value
76
+ && !hasValidLabelOrSlot.value
77
+ && Boolean(slots.hint || hintLabel.value),
78
+ )
79
+ const isVisible = computed(
80
+ () =>
81
+ hasInvalidLabelOrSlot.value
82
+ || hasValidLabelOrSlot.value
83
+ || hasLoadingLabelOrSlot.value
84
+ || hasHintLabelOrSlot.value,
85
+ )
86
+ const hintSlotScope = computed(() => ({
87
+ modelValue: props.value.modelValue,
88
+ valid: props.value.valid,
89
+ invalid: props.value.invalid,
90
+ loading: props.value.loading,
91
+ }))
92
+ // component
93
+ const HintSlot = defineComponent({
94
+ name: 'HintSlot',
95
+ props: {
96
+ tag: {
97
+ type: String,
98
+ default: 'small',
99
+ },
100
+ },
101
+ setup() {
102
+ return {
103
+ isVisible,
104
+ invalidLabel,
105
+ validLabel,
106
+ loadingLabel,
107
+ hintLabel,
108
+ hasInvalidLabelOrSlot,
109
+ hasValidLabelOrSlot,
110
+ hasLoadingLabelOrSlot,
111
+ hasHintLabelOrSlot,
112
+ }
113
+ },
114
+ render() {
115
+ if (this.isVisible) {
116
+ let role
117
+ if (this.hasInvalidLabelOrSlot) {
118
+ role = 'alert'
119
+ }
120
+ if (this.hasValidLabelOrSlot) {
121
+ role = 'status'
122
+ }
123
+ if (this.hasLoadingLabelOrSlot) {
124
+ return h(
125
+ this.tag,
126
+ {
127
+ role,
128
+ },
129
+ this.$slots.loading?.() ?? this.loadingLabel,
130
+ )
131
+ }
132
+ if (this.hasInvalidLabelOrSlot) {
133
+ return h(
134
+ this.tag,
135
+ {
136
+ role,
137
+ },
138
+ this.$slots.invalid?.()
139
+ ?? this.$slots.invalid
140
+ ?? this.invalidLabel,
141
+ )
142
+ }
143
+ if (this.hasValidLabelOrSlot) {
144
+ return h(
145
+ this.tag,
146
+ {
147
+ role,
148
+ },
149
+ this.$slots.valid?.() ?? this.validLabel,
150
+ )
151
+ }
152
+ return h(
153
+ this.tag,
154
+ {
155
+ role,
156
+ },
157
+ this.$slots.hint?.() ?? this.$slots.hint ?? this.hintLabel,
158
+ )
159
+ }
160
+ return null
161
+ },
162
+ })
164
163
 
165
- return {
166
- hasInvalidLabelOrSlot,
167
- hasHintLabelOrSlot,
168
- hasValidLabelOrSlot,
169
- hasLoadingLabelOrSlot,
170
- hintSlotScope,
171
- HintSlot,
172
- }
164
+ return {
165
+ hasInvalidLabelOrSlot,
166
+ hasHintLabelOrSlot,
167
+ hasValidLabelOrSlot,
168
+ hasLoadingLabelOrSlot,
169
+ hintSlotScope,
170
+ HintSlot,
171
+ }
173
172
  }
174
173
 
175
174
  export default HintSlotFactory
@@ -2,6 +2,9 @@ export { default as VvAccordion } from './VvAccordion/VvAccordion.vue'
2
2
  export { default as VvAccordionGroup } from './VvAccordionGroup/VvAccordionGroup.vue'
3
3
  export { default as VvAction } from './VvAction/VvAction.vue'
4
4
  export { default as VvAlert } from './VvAlert/VvAlert.vue'
5
+ export { default as VvAlertGroup } from './VvAlertGroup/VvAlertGroup.vue'
6
+ export { default as VvAvatar } from './VvAvatar/VvAvatar.vue'
7
+ export { default as VvAvatarGroup } from './VvAvatarGroup/VvAvatarGroup.vue'
5
8
  export { default as VvBadge } from './VvBadge/VvBadge.vue'
6
9
  export { default as VvBreadcrumb } from './VvBreadcrumb/VvBreadcrumb.vue'
7
10
  export { default as VvButton } from './VvButton/VvButton.vue'
@@ -12,9 +15,16 @@ export { default as VvCheckboxGroup } from './VvCheckboxGroup/VvCheckboxGroup.vu
12
15
  export { default as VvCombobox } from './VvCombobox/VvCombobox.vue'
13
16
  export { default as VvDialog } from './VvDialog/VvDialog.vue'
14
17
  export { default as VvDropdown } from './VvDropdown/VvDropdown.vue'
18
+ export { default as VvDropdownAction } from './VvDropdown/VvDropdownAction.vue'
19
+ export { default as VvDropdownItem } from './VvDropdown/VvDropdownItem.vue'
20
+ export { default as VvDropdownOptgroup } from './VvDropdown/VvDropdownOptgroup.vue'
21
+ export { default as VvDropdownOption } from './VvDropdown/VvDropdownOption.vue'
15
22
  export { default as VvIcon } from './VvIcon/VvIcon.vue'
23
+ export { default as VvInputFile } from './VvInputFile/VvInputFile.vue'
16
24
  export { default as VvInputText } from './VvInputText/VvInputText.vue'
17
25
  export { default as VvNav } from './VvNav/VvNav.vue'
26
+ export { default as VvNavItem } from './VvNav/VvNavItem.vue'
27
+ export { default as VvNavSeparator } from './VvNav/VvNavSeparator.vue'
18
28
  export { default as VvProgress } from './VvProgress/VvProgress.vue'
19
29
  export { default as VvRadio } from './VvRadio/VvRadio.vue'
20
30
  export { default as VvRadioGroup } from './VvRadioGroup/VvRadioGroup.vue'
@@ -4,5 +4,5 @@ import { INJECTION_KEY_ALERT_GROUP } from '../../constants'
4
4
  * Injects alert group name
5
5
  */
6
6
  export function useInjectedAlertGroup() {
7
- return inject(INJECTION_KEY_ALERT_GROUP, {})
7
+ return inject(INJECTION_KEY_ALERT_GROUP, {})
8
8
  }