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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +148 -51
  3. package/auto-imports.d.ts +25 -12
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +28 -20
  6. package/dist/Volver.d.ts +11 -11
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -104
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +29 -10
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +485 -206
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +61 -18
  14. package/dist/components/VvAccordionGroup/index.d.ts +16 -8
  15. package/dist/components/VvAction/VvAction.es.js +84 -33
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +61 -28
  18. package/dist/components/VvAction/index.d.ts +26 -10
  19. package/dist/components/VvAlert/VvAlert.es.js +350 -318
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +25 -17
  22. package/dist/components/VvAlert/index.d.ts +20 -11
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +388 -327
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +22 -17
  26. package/dist/components/VvAlertGroup/index.d.ts +10 -18
  27. package/dist/components/VvAvatar/VvAvatar.es.js +66 -28
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +13 -5
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +147 -74
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +17 -10
  34. package/dist/components/VvAvatarGroup/index.d.ts +6 -3
  35. package/dist/components/VvBadge/VvBadge.es.js +78 -34
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -5
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +294 -83
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +28 -8
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +510 -488
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +97 -45
  46. package/dist/components/VvButton/index.d.ts +52 -30
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +95 -45
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +35 -17
  50. package/dist/components/VvButtonGroup/index.d.ts +13 -4
  51. package/dist/components/VvCard/VvCard.es.js +87 -42
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +13 -5
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -136
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -35
  58. package/dist/components/VvCheckbox/index.d.ts +52 -19
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +408 -322
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +103 -34
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +1963 -1639
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +260 -672
  66. package/dist/components/VvCombobox/index.d.ts +385 -135
  67. package/dist/components/VvDialog/VvDialog.es.js +177 -297
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +23 -7
  70. package/dist/components/VvDialog/index.d.ts +12 -0
  71. package/dist/components/VvDropdown/VvDropdown.es.js +172 -102
  72. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  73. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +110 -315
  74. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +77 -28
  75. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  76. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +13 -5
  77. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +38 -10
  78. package/dist/components/VvDropdown/index.d.ts +52 -118
  79. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +165 -60
  80. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  81. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +337 -10
  82. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  84. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  85. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  86. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.es.js +24 -102
  88. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  89. package/dist/components/VvIcon/VvIcon.vue.d.ts +4 -68
  90. package/dist/components/VvIcon/index.d.ts +33 -48
  91. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  92. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  93. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +317 -0
  94. package/dist/components/VvInputFile/index.d.ts +193 -0
  95. package/dist/components/VvInputText/VvInputClearAction.d.ts +16 -10
  96. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +20 -14
  97. package/dist/components/VvInputText/VvInputStepAction.d.ts +11 -7
  98. package/dist/components/VvInputText/VvInputText.es.js +1495 -548
  99. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  100. package/dist/components/VvInputText/VvInputText.vue.d.ts +216 -68
  101. package/dist/components/VvInputText/index.d.ts +101 -31
  102. package/dist/components/VvNav/VvNav.es.js +155 -75
  103. package/dist/components/VvNav/VvNav.umd.js +1 -1
  104. package/dist/components/VvNav/VvNav.vue.d.ts +32 -11
  105. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  106. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  107. package/dist/components/VvNav/index.d.ts +5 -2
  108. package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
  109. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  110. package/dist/components/VvProgress/VvProgress.es.js +73 -27
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +13 -6
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +175 -135
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -33
  117. package/dist/components/VvRadio/index.d.ts +50 -17
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +406 -321
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +103 -34
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +677 -611
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +107 -199
  125. package/dist/components/VvSelect/index.d.ts +196 -16
  126. package/dist/components/VvTab/VvTab.es.js +230 -110
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +34 -12
  129. package/dist/components/VvTab/index.d.ts +6 -3
  130. package/dist/components/VvTextarea/VvTextarea.es.js +278 -255
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +159 -54
  133. package/dist/components/VvTextarea/index.d.ts +69 -20
  134. package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +16 -9
  137. package/dist/components/VvTooltip/index.d.ts +5 -2
  138. package/dist/components/common/HintSlot.d.ts +8 -9
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +4303 -2228
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlerInject.d.ts +4 -0
  143. package/dist/composables/alert/useAlert.d.ts +71 -6
  144. package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
  145. package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
  146. package/dist/composables/dropdown/useDropdownInject.d.ts +12 -0
  147. package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +6 -7
  148. package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
  149. package/dist/composables/group/useGroupStateInject.d.ts +9 -0
  150. package/dist/composables/group/useGroupStateProvide.d.ts +6 -0
  151. package/dist/composables/index.d.ts +3 -0
  152. package/dist/composables/index.es.js +178 -6
  153. package/dist/composables/index.umd.js +1 -1
  154. package/dist/composables/useBlurhash.d.ts +7 -0
  155. package/dist/composables/useComponentFocus.d.ts +2 -2
  156. package/dist/composables/useComponentIcon.d.ts +9 -8
  157. package/dist/composables/useOptions.d.ts +5 -5
  158. package/dist/composables/usePersistence.d.ts +3 -0
  159. package/dist/composables/useUniqueId.d.ts +2 -2
  160. package/dist/composables/useVolver.d.ts +1 -1
  161. package/dist/constants.d.ts +35 -33
  162. package/dist/directives/index.d.ts +3 -5
  163. package/dist/directives/index.es.js +247 -82
  164. package/dist/directives/index.umd.js +1 -1
  165. package/dist/directives/v-contextmenu.es.js +137 -31
  166. package/dist/directives/v-contextmenu.umd.js +1 -1
  167. package/dist/directives/v-tooltip.es.js +101 -39
  168. package/dist/directives/v-tooltip.umd.js +1 -1
  169. package/dist/icons.d.ts +17 -17
  170. package/dist/icons.es.js +516 -516
  171. package/dist/icons.umd.js +1 -1
  172. package/dist/index.d.ts +3 -1
  173. package/dist/index.es.js +74 -6
  174. package/dist/index.umd.js +1 -1
  175. package/dist/props/index.d.ts +288 -198
  176. package/dist/resolvers/unplugin.d.ts +6 -1
  177. package/dist/resolvers/unplugin.es.js +87 -10
  178. package/dist/resolvers/unplugin.umd.js +1 -1
  179. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  180. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  181. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
  182. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1304 -538
  183. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  184. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  185. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  186. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  187. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  188. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  189. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  190. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  191. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  192. package/dist/stories/Button/Button.settings.d.ts +2 -194
  193. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  194. package/dist/stories/Card/Card.settings.d.ts +2 -63
  195. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  196. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
  199. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
  200. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  201. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  202. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  203. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  204. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  205. package/dist/stories/InputFile/InputFile.stories.d.ts +13 -0
  206. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  207. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  208. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  209. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  210. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  211. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  213. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  214. package/dist/stories/Select/Select.settings.d.ts +2 -246
  215. package/dist/stories/Select/Select.stories.d.ts +1 -0
  216. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  217. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  218. package/dist/stories/argTypes.d.ts +27 -866
  219. package/dist/test/expect.d.ts +1 -2
  220. package/dist/test/options.d.ts +1 -1
  221. package/dist/test/sleep.d.ts +1 -1
  222. package/dist/types/alert.d.ts +9 -7
  223. package/dist/types/blurhash.d.ts +12 -0
  224. package/dist/types/floating-ui.d.ts +1 -1
  225. package/dist/types/generic.d.ts +1 -2
  226. package/dist/types/group.d.ts +37 -15
  227. package/dist/types/index.d.ts +7 -0
  228. package/dist/types/input-file.d.ts +9 -0
  229. package/dist/types/nav.d.ts +2 -2
  230. package/dist/utils/DomUtilities.d.ts +1 -0
  231. package/dist/utils/ObjectUtilities.d.ts +8 -9
  232. package/dist/workers/blurhash.d.ts +1 -0
  233. package/package.json +238 -246
  234. package/src/Volver.ts +251 -246
  235. package/src/assets/icons/detailed.json +1 -1
  236. package/src/assets/icons/normal.json +1 -1
  237. package/src/assets/icons/simple.json +1 -1
  238. package/src/components/VvAccordion/VvAccordion.vue +163 -100
  239. package/src/components/VvAccordion/index.ts +65 -80
  240. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +224 -106
  241. package/src/components/VvAccordionGroup/index.ts +42 -42
  242. package/src/components/VvAction/VvAction.vue +144 -130
  243. package/src/components/VvAlert/VvAlert.vue +72 -70
  244. package/src/components/VvAlert/index.ts +149 -147
  245. package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
  246. package/src/components/VvAlertGroup/index.ts +102 -118
  247. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  248. package/src/components/VvAvatar/index.ts +5 -5
  249. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  250. package/src/components/VvAvatarGroup/index.ts +21 -21
  251. package/src/components/VvBadge/VvBadge.vue +15 -14
  252. package/src/components/VvBadge/index.ts +2 -2
  253. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
  254. package/src/components/VvBreadcrumb/index.ts +3 -9
  255. package/src/components/VvButton/VvButton.vue +163 -152
  256. package/src/components/VvButton/index.ts +104 -111
  257. package/src/components/VvButtonGroup/VvButtonGroup.vue +73 -65
  258. package/src/components/VvButtonGroup/index.ts +23 -22
  259. package/src/components/VvCard/VvCard.vue +30 -30
  260. package/src/components/VvCard/index.ts +2 -2
  261. package/src/components/VvCheckbox/VvCheckbox.vue +186 -184
  262. package/src/components/VvCheckbox/index.ts +45 -45
  263. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
  264. package/src/components/VvCombobox/VvCombobox.vue +657 -619
  265. package/src/components/VvCombobox/index.ts +212 -168
  266. package/src/components/VvDialog/VvDialog.vue +139 -129
  267. package/src/components/VvDialog/index.ts +42 -36
  268. package/src/components/VvDropdown/VvDropdown.vue +466 -445
  269. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  270. package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
  271. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  272. package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
  273. package/src/components/VvDropdown/index.ts +61 -27
  274. package/src/components/VvIcon/README.md +1 -1
  275. package/src/components/VvIcon/VvIcon.vue +133 -133
  276. package/src/components/VvIcon/index.ts +84 -97
  277. package/src/components/VvInputFile/VvInputFile.vue +413 -0
  278. package/src/components/VvInputFile/index.ts +143 -0
  279. package/src/components/VvInputText/VvInputClearAction.ts +51 -47
  280. package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
  281. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  282. package/src/components/VvInputText/VvInputText.vue +653 -516
  283. package/src/components/VvInputText/VvInputTextActions.ts +87 -87
  284. package/src/components/VvInputText/index.ts +201 -186
  285. package/src/components/VvNav/VvNav.vue +40 -36
  286. package/src/components/VvNav/VvNavItem.vue +12 -12
  287. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  288. package/src/components/VvNav/index.ts +2 -2
  289. package/src/components/VvProgress/VvProgress.vue +27 -27
  290. package/src/components/VvProgress/index.ts +28 -28
  291. package/src/components/VvRadio/VvRadio.vue +115 -112
  292. package/src/components/VvRadio/index.ts +29 -29
  293. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
  294. package/src/components/VvSelect/VvSelect.vue +262 -241
  295. package/src/components/VvSelect/index.ts +88 -63
  296. package/src/components/VvTab/VvTab.vue +79 -69
  297. package/src/components/VvTab/index.ts +13 -13
  298. package/src/components/VvTextarea/VvTextarea.vue +218 -219
  299. package/src/components/VvTextarea/index.ts +35 -35
  300. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  301. package/src/components/VvTooltip/index.ts +12 -12
  302. package/src/components/common/HintSlot.ts +151 -152
  303. package/src/components/index.ts +10 -0
  304. package/src/composables/alert/{useInjectAlert.ts → useAlerInject.ts} +1 -1
  305. package/src/composables/alert/useAlert.ts +76 -73
  306. package/src/composables/alert/{useProvideAlert.ts → useAlertProvide.ts} +12 -12
  307. package/src/composables/dropdown/useDropdownContextmenu.ts +22 -0
  308. package/src/composables/dropdown/{useInjectDropdown.ts → useDropdownInject.ts} +6 -6
  309. package/src/composables/dropdown/useDropdownProvide.ts +94 -0
  310. package/src/composables/dropdown/useDropdownVirtualElement.ts +53 -0
  311. package/src/composables/group/useGroupStateInject.ts +55 -0
  312. package/src/composables/group/useGroupStateProvide.ts +14 -0
  313. package/src/composables/index.ts +3 -0
  314. package/src/composables/useBlurhash.ts +68 -0
  315. package/src/composables/useComponentFocus.ts +9 -9
  316. package/src/composables/useComponentIcon.ts +36 -35
  317. package/src/composables/useDebouncedInput.ts +25 -25
  318. package/src/composables/useDefaults.ts +81 -80
  319. package/src/composables/useModifiers.ts +29 -29
  320. package/src/composables/useOptions.ts +51 -42
  321. package/src/composables/usePersistence.ts +74 -0
  322. package/src/composables/useTextCount.ts +46 -46
  323. package/src/composables/useUniqueId.ts +4 -4
  324. package/src/composables/useVolver.ts +1 -1
  325. package/src/constants.ts +98 -83
  326. package/src/directives/index.ts +3 -6
  327. package/src/directives/v-contextmenu.ts +26 -34
  328. package/src/directives/v-tooltip.ts +20 -11
  329. package/src/icons.ts +2 -2
  330. package/src/index.ts +6 -4
  331. package/src/props/index.ts +467 -383
  332. package/src/resolvers/unplugin.ts +154 -144
  333. package/src/shims.d.ts +4 -5
  334. package/src/stories/Accordion/Accordion.settings.ts +51 -50
  335. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  336. package/src/stories/Accordion/Accordion.test.ts +56 -54
  337. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  338. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
  339. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
  340. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
  341. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +36 -36
  342. package/src/stories/Alert/Alert.settings.ts +117 -116
  343. package/src/stories/Alert/Alert.stories.ts +30 -30
  344. package/src/stories/Alert/Alert.test.ts +78 -80
  345. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  346. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  347. package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
  348. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  349. package/src/stories/AlertGroup/AlertGroup.test.ts +69 -71
  350. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  351. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  352. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
  353. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  354. package/src/stories/Avatar/Avatar.stories.ts +22 -22
  355. package/src/stories/Avatar/Avatar.test.ts +22 -24
  356. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  357. package/src/stories/Avatar/AvatarModifiers.stories.ts +60 -60
  358. package/src/stories/Avatar/AvatarSlots.stories.ts +17 -17
  359. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
  360. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  361. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
  362. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  363. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  364. package/src/stories/Badge/Badge.settings.ts +21 -20
  365. package/src/stories/Badge/Badge.stories.ts +24 -24
  366. package/src/stories/Badge/Badge.test.ts +8 -8
  367. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  368. package/src/stories/Blurhash/BlurhashComposable.stories.ts +116 -0
  369. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
  370. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
  371. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  372. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +19 -19
  373. package/src/stories/Button/Button.settings.ts +147 -151
  374. package/src/stories/Button/Button.stories.ts +19 -19
  375. package/src/stories/Button/Button.test.ts +41 -42
  376. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  377. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  378. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  379. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  380. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  381. package/src/stories/Button/ButtonState.stories.ts +23 -23
  382. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  383. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
  384. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  385. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
  386. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  387. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +17 -17
  388. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  389. package/src/stories/Card/Card.settings.ts +49 -48
  390. package/src/stories/Card/Card.stories.ts +22 -22
  391. package/src/stories/Card/Card.test.ts +14 -16
  392. package/src/stories/Card/CardSlots.stories.ts +42 -42
  393. package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
  394. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  395. package/src/stories/Checkbox/Checkbox.test.ts +63 -66
  396. package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
  397. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  398. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  399. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  400. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +64 -68
  401. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  402. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  403. package/src/stories/Combobox/Combobox.settings.ts +408 -385
  404. package/src/stories/Combobox/Combobox.stories.ts +116 -107
  405. package/src/stories/Combobox/Combobox.test.ts +92 -92
  406. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
  407. package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
  408. package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
  409. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -54
  410. package/src/stories/Dialog/Dialog.settings.ts +49 -40
  411. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  412. package/src/stories/Dialog/Dialog.test.ts +49 -54
  413. package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
  414. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  415. package/src/stories/Dropdown/Dropdown.settings.ts +62 -61
  416. package/src/stories/Dropdown/Dropdown.stories.ts +60 -60
  417. package/src/stories/Dropdown/Dropdown.test.ts +9 -13
  418. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +18 -19
  419. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +19 -19
  420. package/src/stories/Dropdown/DropdownSlots.stories.ts +51 -51
  421. package/src/stories/Icon/Icon.settings.ts +66 -65
  422. package/src/stories/Icon/Icon.stories.ts +29 -30
  423. package/src/stories/Icon/IconsCollection.stories.ts +24 -24
  424. package/src/stories/InputFile/InputFile.settings.ts +37 -0
  425. package/src/stories/InputFile/InputFile.stories.ts +97 -0
  426. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  427. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  428. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  429. package/src/stories/InputText/InputText.settings.ts +248 -246
  430. package/src/stories/InputText/InputText.stories.ts +68 -68
  431. package/src/stories/InputText/InputText.test.ts +119 -122
  432. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  433. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  434. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  435. package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
  436. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  437. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  438. package/src/stories/Nav/Nav.settings.ts +27 -27
  439. package/src/stories/Nav/Nav.stories.ts +18 -18
  440. package/src/stories/Nav/Nav.test.ts +10 -12
  441. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  442. package/src/stories/Progress/Progress.settings.ts +24 -23
  443. package/src/stories/Progress/Progress.stories.ts +23 -23
  444. package/src/stories/Progress/Progress.test.ts +5 -5
  445. package/src/stories/Radio/Radio.settings.ts +9 -9
  446. package/src/stories/Radio/Radio.stories.ts +47 -47
  447. package/src/stories/Radio/Radio.test.ts +54 -57
  448. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  449. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  450. package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
  451. package/src/stories/RadioGroup/RadioGroup.test.ts +64 -68
  452. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
  453. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  454. package/src/stories/Select/Select.settings.ts +72 -71
  455. package/src/stories/Select/Select.stories.ts +75 -66
  456. package/src/stories/Select/Select.test.ts +67 -70
  457. package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
  458. package/src/stories/Select/SelectOptions.stories.ts +55 -55
  459. package/src/stories/Select/SelectSlots.stories.ts +21 -20
  460. package/src/stories/Tab/Tab.settings.ts +34 -34
  461. package/src/stories/Tab/Tab.stories.ts +16 -16
  462. package/src/stories/Tab/Tab.test.ts +17 -19
  463. package/src/stories/Textarea/Textarea.settings.ts +80 -78
  464. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  465. package/src/stories/Textarea/Textarea.test.ts +70 -73
  466. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  467. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  468. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  469. package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
  470. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  471. package/src/stories/Tooltip/Tooltip.test.ts +53 -54
  472. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  473. package/src/stories/argTypes.ts +506 -505
  474. package/src/test/expect.ts +74 -79
  475. package/src/test/options.ts +17 -16
  476. package/src/test/sleep.ts +3 -2
  477. package/src/test/types.d.ts +12 -12
  478. package/src/types/alert.ts +21 -17
  479. package/src/types/blurhash.ts +21 -0
  480. package/src/types/floating-ui.ts +1 -1
  481. package/src/types/generic.ts +2 -3
  482. package/src/types/group.ts +35 -27
  483. package/src/types/index.ts +7 -0
  484. package/src/types/input-file.ts +10 -0
  485. package/src/types/nav.ts +13 -14
  486. package/src/utils/DomUtilities.ts +15 -0
  487. package/src/utils/ObjectUtilities.ts +192 -188
  488. package/src/workers/blurhash.ts +9 -0
  489. package/dist/composables/alert/useInjectAlert.d.ts +0 -9
  490. package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
  491. package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
  492. package/dist/composables/group/useProvideGroupState.d.ts +0 -6
  493. package/src/composables/dropdown/useProvideDropdown.ts +0 -94
  494. package/src/composables/group/useInjectedGroupState.ts +0 -51
  495. package/src/composables/group/useProvideGroupState.ts +0 -20
  496. /package/src/assets/icons/normal/{dulicate.svg → duplicate.svg} +0 -0
@@ -1,6 +1,5 @@
1
- import { unref, computed, isRef, defineComponent, h, inject, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, watch, useSlots, createElementBlock, normalizeClass, toDisplayString, createElementVNode, renderSlot, normalizeProps, guardReactiveProps, withDirectives, vModelText, createTextVNode, createVNode, createSlots, withCtx } from "vue";
1
+ import { unref, computed, isRef, defineComponent, h, inject, mergeDefaults, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, useId, watch, useSlots, createElementBlock, normalizeClass, createTextVNode, toDisplayString, createElementVNode, renderSlot, normalizeProps, guardReactiveProps, withDirectives, vModelText, createVNode, createSlots, withCtx } from "vue";
2
2
  import { iconExists, Icon, addIcon } from "@iconify/vue";
3
- import { uid } from "uid";
4
3
  import { useFocus, useElementVisibility } from "@vueuse/core";
5
4
  function isEmpty(value) {
6
5
  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));
@@ -126,100 +125,15 @@ function HintSlotFactory(propsOrRef, slots) {
126
125
  HintSlot
127
126
  };
128
127
  }
129
- const VvIconProps = {
130
- /**
131
- * Color
132
- */
133
- color: String,
134
- /**
135
- * Width
136
- */
137
- width: {
138
- type: [String, Number]
139
- },
140
- /**
141
- * Height
142
- */
143
- height: {
144
- type: [String, Number]
145
- },
146
- /**
147
- * Icon name
148
- * Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
149
- * https://docs.iconify.design/api/providers.html#provider-in-icon-name
150
- */
151
- name: {
152
- type: String,
153
- required: true
154
- },
155
- /**
156
- * By default 'vv'
157
- * If custom collection is not added with "addCollection" DS class method, this prop could not be used
158
- * Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
159
- */
160
- provider: {
161
- type: String
162
- },
163
- /**
164
- * The name of icon set.
165
- * Icon default options prefix: simple | normal | detailed
166
- */
167
- prefix: {
168
- type: String,
169
- default: "normal"
170
- },
171
- /**
172
- * Url remote SVG icon
173
- */
174
- src: String,
175
- /**
176
- * Horizontal flip
177
- */
178
- horizontalFlip: Boolean,
179
- /**
180
- * Vertical flip
181
- */
182
- verticalFlip: Boolean,
183
- /**
184
- * String alternative to "horizontalFlip" and "verticalFlip".
185
- * Example: https://docs.iconify.design/icon-components/vue/transform.html
186
- */
187
- flip: String,
188
- /**
189
- * Icon render mode
190
- * 'style' = 'bg' or 'mask', depending on icon content
191
- * 'bg' = span with style using `background`
192
- * 'mask' = span with style using `mask`
193
- * 'svg' = svg
194
- * Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
195
- */
196
- mode: String,
197
- /**
198
- * Toggles inline or block mode
199
- * Example https://docs.iconify.design/icon-components/vue/inline.html
200
- */
201
- inline: Boolean,
202
- /**
203
- * rotates icon
204
- * Example https://docs.iconify.design/icon-components/vue/transform.html
205
- */
206
- rotate: [Number, String],
207
- /**
208
- * A callback that is called when icon data has been loaded
209
- */
210
- onLoad: Function,
211
- /**
212
- * SVG icon string
213
- */
214
- svg: String,
215
- /**
216
- * Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
217
- * @values string | string[]
218
- */
219
- modifiers: {
220
- type: [String, Array]
221
- }
128
+ const VvIconPropsDefaults = {
129
+ prefix: "normal"
130
+ /* normal */
222
131
  };
132
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
133
+ StorageType2["local"] = "local";
134
+ StorageType2["session"] = "session";
135
+ return StorageType2;
136
+ })(StorageType || {});
223
137
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
224
138
  Strategy2["absolute"] = "absolute";
225
139
  Strategy2["fixed"] = "fixed";
@@ -254,13 +168,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
254
168
  ButtonType2["reset"] = "reset";
255
169
  return ButtonType2;
256
170
  })(ButtonType || {});
257
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
258
- AnchorTarget2["_blank"] = "_blank";
259
- AnchorTarget2["_self"] = "_self";
260
- AnchorTarget2["_parent"] = "_parent";
261
- AnchorTarget2["_top"] = "_top";
262
- return AnchorTarget2;
263
- })(AnchorTarget || {});
171
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
172
+ ActionTag2["nuxtLink"] = "nuxt-link";
173
+ ActionTag2["routerLink"] = "router-link";
174
+ ActionTag2["a"] = "a";
175
+ ActionTag2["button"] = "button";
176
+ return ActionTag2;
177
+ })(ActionTag || {});
264
178
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
265
179
  function useVolver() {
266
180
  return inject(INJECTION_KEY_VOLVER);
@@ -293,12 +207,29 @@ const __default__$1 = {
293
207
  };
294
208
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
295
209
  ...__default__$1,
296
- props: VvIconProps,
210
+ props: /* @__PURE__ */ mergeDefaults({
211
+ name: {},
212
+ color: {},
213
+ width: {},
214
+ height: {},
215
+ provider: {},
216
+ prefix: {},
217
+ src: {},
218
+ horizontalFlip: { type: Boolean },
219
+ verticalFlip: { type: Boolean },
220
+ flip: {},
221
+ mode: {},
222
+ inline: { type: Boolean },
223
+ rotate: {},
224
+ onLoad: { type: Function },
225
+ svg: {},
226
+ modifiers: {}
227
+ }, VvIconPropsDefaults),
297
228
  setup(__props) {
298
229
  const props = __props;
299
230
  const hasRotate = computed(() => {
300
231
  if (typeof props.rotate === "string") {
301
- return parseFloat(props.rotate);
232
+ return Number.parseFloat(props.rotate);
302
233
  }
303
234
  return props.rotate;
304
235
  });
@@ -380,7 +311,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
380
311
  color: _ctx.color,
381
312
  onLoad: _ctx.onLoad,
382
313
  icon: unref(icon)
383
- }), null, 16, ["class"])) : createCommentVNode("", true);
314
+ }), null, 16, ["class"])) : createCommentVNode("v-if", true);
384
315
  };
385
316
  }
386
317
  });
@@ -399,10 +330,7 @@ const LinkProps = {
399
330
  /**
400
331
  * Anchor target
401
332
  */
402
- target: {
403
- type: String,
404
- validator: (value) => Object.values(AnchorTarget).includes(value)
405
- },
333
+ target: String,
406
334
  /**
407
335
  * Anchor rel
408
336
  */
@@ -415,27 +343,33 @@ const ValidProps = {
415
343
  /**
416
344
  * Valid status
417
345
  */
418
- valid: Boolean,
346
+ valid: { type: Boolean, default: false },
419
347
  /**
420
348
  * Valid label
421
349
  */
422
- validLabel: [String, Array]
350
+ validLabel: { type: [String, Array], default: void 0 }
423
351
  };
424
352
  const InvalidProps = {
425
353
  /**
426
354
  * Invalid status
427
355
  */
428
- invalid: Boolean,
356
+ invalid: {
357
+ type: Boolean,
358
+ default: false
359
+ },
429
360
  /**
430
361
  * Invalid label
431
362
  */
432
- invalidLabel: [String, Array]
363
+ invalidLabel: { type: [String, Array], default: void 0 }
433
364
  };
434
365
  const LoadingProps = {
435
366
  /**
436
367
  * Loading status
437
368
  */
438
- loading: Boolean,
369
+ loading: {
370
+ type: Boolean,
371
+ default: false
372
+ },
439
373
  /**
440
374
  * Loading label
441
375
  */
@@ -448,43 +382,73 @@ const DisabledProps = {
448
382
  /**
449
383
  * Whether the form control is disabled
450
384
  */
451
- disabled: Boolean
385
+ disabled: {
386
+ type: Boolean,
387
+ default: false
388
+ }
389
+ };
390
+ const RequiredProps = {
391
+ /**
392
+ * Whether the form control is required
393
+ */
394
+ required: {
395
+ type: Boolean,
396
+ default: false
397
+ }
452
398
  };
453
399
  const ActiveProps = {
454
400
  /**
455
401
  * Whether the item is active
456
402
  */
457
- active: Boolean
403
+ active: {
404
+ type: Boolean,
405
+ default: false
406
+ }
458
407
  };
459
408
  const CurrentProps = {
460
409
  /**
461
410
  * Whether the item is current
462
411
  */
463
- current: Boolean
412
+ current: {
413
+ type: Boolean,
414
+ default: false
415
+ }
464
416
  };
465
417
  const PressedProps = {
466
418
  /**
467
419
  * Whether the item is pressed
468
420
  */
469
- pressed: Boolean
421
+ pressed: {
422
+ type: Boolean,
423
+ default: false
424
+ }
470
425
  };
471
426
  const LabelProps = {
472
427
  /**
473
428
  * The item label
474
429
  */
475
- label: [String, Number]
430
+ label: {
431
+ type: [String, Number],
432
+ default: void 0
433
+ }
476
434
  };
477
435
  const ReadonlyProps = {
478
436
  /**
479
437
  * The value is not editable
480
438
  */
481
- readonly: Boolean
439
+ readonly: {
440
+ type: Boolean,
441
+ default: false
442
+ }
482
443
  };
483
444
  const ModifiersProps = {
484
445
  /**
485
446
  * Component BEM modifiers
486
447
  */
487
- modifiers: [String, Array]
448
+ modifiers: {
449
+ type: [String, Array],
450
+ default: void 0
451
+ }
488
452
  };
489
453
  const HintProps = {
490
454
  hintLabel: { type: String, default: "" }
@@ -503,14 +467,20 @@ const DebounceProps = {
503
467
  /**
504
468
  * Milliseconds to wait before emitting the input event
505
469
  */
506
- debounce: [Number, String]
470
+ debounce: {
471
+ type: [Number, String],
472
+ default: void 0
473
+ }
507
474
  };
508
475
  const IconProps = {
509
476
  /**
510
477
  * VvIcon name or props
511
478
  * @see VVIcon
512
479
  */
513
- icon: { type: [String, Object] },
480
+ icon: {
481
+ type: [String, Object],
482
+ default: void 0
483
+ },
514
484
  /**
515
485
  * VvIcon position
516
486
  */
@@ -531,7 +501,10 @@ const FloatingLabelProps = {
531
501
  /**
532
502
  * If true the label will be floating
533
503
  */
534
- floating: Boolean
504
+ floating: {
505
+ type: Boolean,
506
+ default: false
507
+ }
535
508
  };
536
509
  const IdProps = {
537
510
  /**
@@ -561,7 +534,8 @@ const IdProps = {
561
534
  * Dropdown show / hide transition name
562
535
  */
563
536
  transitionName: {
564
- type: String
537
+ type: String,
538
+ default: void 0
565
539
  },
566
540
  /**
567
541
  * Offset of the dropdown from the trigger
@@ -629,7 +603,8 @@ const IdProps = {
629
603
  * Set dropdown width to the same as the trigger
630
604
  */
631
605
  triggerWidth: {
632
- type: Boolean
606
+ type: Boolean,
607
+ default: false
633
608
  }
634
609
  });
635
610
  const IdNameProps = {
@@ -646,7 +621,10 @@ const AutofocusProps = {
646
621
  * Global attribute autofocus
647
622
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
648
623
  */
649
- autofocus: Boolean
624
+ autofocus: {
625
+ type: Boolean,
626
+ default: false
627
+ }
650
628
  };
651
629
  const AutocompleteProps = {
652
630
  /**
@@ -678,28 +656,31 @@ const InputTextareaProps = {
678
656
  * Available for input types: text, search, url, tel, email, password
679
657
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
680
658
  */
681
- minlength: [String, Number],
659
+ minlength: { type: [String, Number], default: void 0 },
682
660
  /**
683
661
  * Input / Textarea maxlength
684
662
  * Maximum length (number of characters) of value
685
663
  * Available for input types: text, search, url, tel, email, password
686
664
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
687
665
  */
688
- maxlength: [String, Number],
666
+ maxlength: { type: [String, Number], default: void 0 },
689
667
  /**
690
668
  * Input / Textarea placeholder
691
669
  * Text that appears in the form control when it has no value set
692
670
  * Available for input types: text, search, url, tel, email, password, number
693
671
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder
694
672
  */
695
- placeholder: String,
673
+ placeholder: {
674
+ type: String,
675
+ default: void 0
676
+ },
696
677
  /**
697
678
  * Input / Textarea required
698
679
  * A value is required or must be check for the form to be submittable
699
680
  * Available for all input types except color
700
681
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#required
701
682
  */
702
- required: Boolean
683
+ ...RequiredProps
703
684
  };
704
685
  ({
705
686
  ...DisabledProps,
@@ -722,8 +703,23 @@ const InputTextareaProps = {
722
703
  ariaLabel: {
723
704
  type: String,
724
705
  default: void 0
706
+ },
707
+ /**
708
+ * Default tag for the action
709
+ */
710
+ defaultTag: {
711
+ type: String,
712
+ default: ActionTag.button
725
713
  }
726
714
  });
715
+ ({
716
+ storageType: {
717
+ type: String,
718
+ default: StorageType.local,
719
+ validator: (value) => Object.values(StorageType).includes(value)
720
+ },
721
+ storageKey: String
722
+ });
727
723
  const WRAP = {
728
724
  hard: "hard",
729
725
  soft: "soft"
@@ -819,14 +815,16 @@ function useDefaults(componentName, propsDefinition, props) {
819
815
  }, {});
820
816
  });
821
817
  }
822
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
818
+ function useUniqueId(id) {
819
+ return computed(() => String((id == null ? void 0 : id.value) || useId()));
820
+ }
823
821
  function useDebouncedInput(modelValue, emit, ms = 0, {
824
822
  getter = (value) => value,
825
823
  setter = (value) => value
826
824
  } = {}) {
827
825
  let timeout;
828
826
  if (typeof ms === "string") {
829
- ms = parseInt(ms);
827
+ ms = Number.parseInt(ms);
830
828
  }
831
829
  return computed({
832
830
  get: () => getter(modelValue == null ? void 0 : modelValue.value),
@@ -841,30 +839,30 @@ function useDebouncedInput(modelValue, emit, ms = 0, {
841
839
  });
842
840
  }
843
841
  function useComponentIcon(icon, iconPosition) {
842
+ const hasIcon = computed(() => {
843
+ if (typeof (icon == null ? void 0 : icon.value) === "string") {
844
+ return { name: icon == null ? void 0 : icon.value };
845
+ }
846
+ return icon == null ? void 0 : icon.value;
847
+ });
844
848
  const hasIconBefore = computed(
845
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Position.before)
849
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Position.before ? hasIcon.value : void 0
846
850
  );
847
851
  const hasIconAfter = computed(
848
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Position.after)
852
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Position.after ? hasIcon.value : void 0
849
853
  );
850
854
  const hasIconLeft = computed(
851
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.left)
855
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.left ? hasIcon.value : void 0
852
856
  );
853
857
  const hasIconRight = computed(
854
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.right)
858
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.right ? hasIcon.value : void 0
855
859
  );
856
860
  const hasIconTop = computed(
857
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.top)
861
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.top ? hasIcon.value : void 0
858
862
  );
859
863
  const hasIconBottom = computed(
860
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.bottom)
864
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.bottom ? hasIcon.value : void 0
861
865
  );
862
- const hasIcon = computed(() => {
863
- if (typeof (icon == null ? void 0 : icon.value) === "string") {
864
- return { name: icon == null ? void 0 : icon.value };
865
- }
866
- return icon == null ? void 0 : icon.value;
867
- });
868
866
  return {
869
867
  hasIcon,
870
868
  hasIconLeft,
@@ -919,18 +917,19 @@ function useTextCount(text, options) {
919
917
  };
920
918
  }
921
919
  const _hoisted_1 = ["for"];
922
- const _hoisted_2 = { class: "vv-textarea__wrapper" };
923
- const _hoisted_3 = {
920
+ const _hoisted_2 = { key: 0 };
921
+ const _hoisted_3 = { class: "vv-textarea__wrapper" };
922
+ const _hoisted_4 = {
924
923
  key: 0,
925
924
  class: "vv-textarea__input-before"
926
925
  };
927
- const _hoisted_4 = { class: "vv-textarea__inner" };
928
- const _hoisted_5 = ["id"];
929
- const _hoisted_6 = {
926
+ const _hoisted_5 = { class: "vv-textarea__inner" };
927
+ const _hoisted_6 = ["id"];
928
+ const _hoisted_7 = {
930
929
  key: 1,
931
930
  class: "vv-textarea__input-after"
932
931
  };
933
- const _hoisted_7 = {
932
+ const _hoisted_8 = {
934
933
  key: 2,
935
934
  class: "vv-textarea__limit"
936
935
  };
@@ -941,8 +940,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
941
940
  ...__default__,
942
941
  props: VvTextareaProps,
943
942
  emits: VvTextareaEvents,
944
- setup(__props, { emit }) {
943
+ setup(__props, { emit: __emit }) {
945
944
  const props = __props;
945
+ const emit = __emit;
946
946
  const slots = useSlots();
947
947
  const propsDefaults = useDefaults(
948
948
  "VvTextarea",
@@ -971,10 +971,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
971
971
  () => props.floating && isEmpty(props.placeholder) ? " " : props.placeholder
972
972
  );
973
973
  const localModelValue = useDebouncedInput(modelValue, emit, debounce == null ? void 0 : debounce.value);
974
- const { hasIcon, hasIconBefore, hasIconAfter } = useComponentIcon(
975
- icon,
976
- iconPosition
977
- );
974
+ const { hasIconBefore, hasIconAfter } = useComponentIcon(icon, iconPosition);
978
975
  const { focused } = useComponentFocus(textarea, emit);
979
976
  const isVisible = useElementVisibility(textarea);
980
977
  watch(isVisible, (newValue) => {
@@ -1011,34 +1008,34 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1011
1008
  "vv-textarea",
1012
1009
  modifiers,
1013
1010
  computed(() => ({
1014
- valid: valid.value,
1015
- invalid: invalid.value,
1016
- loading: loading.value,
1017
- disabled: props.disabled,
1018
- readonly: props.readonly,
1019
- "icon-before": hasIconBefore.value,
1020
- "icon-after": hasIconAfter.value,
1021
- floating: props.floating && !isEmpty(props.label),
1022
- dirty: isDirty.value,
1023
- focused: focused.value,
1024
- resizable: props.resizable
1011
+ "valid": valid.value,
1012
+ "invalid": invalid.value,
1013
+ "loading": loading.value,
1014
+ "disabled": props.disabled,
1015
+ "readonly": props.readonly,
1016
+ "icon-before": hasIconBefore.value !== void 0,
1017
+ "icon-after": hasIconAfter.value !== void 0,
1018
+ "floating": props.floating && !isEmpty(props.label),
1019
+ "dirty": isDirty.value,
1020
+ "focus": focused.value,
1021
+ "resizable": props.resizable
1025
1022
  }))
1026
1023
  );
1027
1024
  const hasAttrs = computed(
1028
1025
  () => ({
1029
- name: props.name,
1030
- placeholder: hasPlaceholder.value,
1031
- tabindex: hasTabindex.value,
1032
- disabled: props.disabled,
1033
- readonly: props.readonly,
1034
- required: props.required,
1035
- autocomplete: props.autocomplete,
1036
- minlength: props.minlength,
1037
- maxlength: props.maxlength,
1038
- cols: props.cols,
1039
- rows: props.rows,
1040
- wrap: props.wrap,
1041
- spellcheck: props.spellcheck,
1026
+ "name": props.name,
1027
+ "placeholder": hasPlaceholder.value,
1028
+ "tabindex": hasTabindex.value,
1029
+ "disabled": props.disabled,
1030
+ "readonly": props.readonly,
1031
+ "required": props.required,
1032
+ "autocomplete": props.autocomplete,
1033
+ "minlength": props.minlength,
1034
+ "maxlength": props.maxlength,
1035
+ "cols": props.cols,
1036
+ "rows": props.rows,
1037
+ "wrap": props.wrap,
1038
+ "spellcheck": props.spellcheck,
1042
1039
  "aria-invalid": isInvalid.value,
1043
1040
  "aria-describedby": hasHintLabelOrSlot.value ? hasHintId.value : void 0,
1044
1041
  "aria-errormessage": hasInvalidLabelOrSlot.value ? hasHintId.value : void 0
@@ -1053,85 +1050,111 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1053
1050
  minlength: props.minlength,
1054
1051
  clear: onClear
1055
1052
  }));
1056
- const onClear = () => {
1053
+ function onClear() {
1057
1054
  localModelValue.value = void 0;
1058
- };
1055
+ }
1059
1056
  return (_ctx, _cache) => {
1060
- return openBlock(), createElementBlock("div", {
1061
- class: normalizeClass(unref(bemCssClasses))
1062
- }, [
1063
- unref(label) ? (openBlock(), createElementBlock("label", {
1064
- key: 0,
1065
- for: unref(hasId),
1066
- class: "vv-textarea__label"
1067
- }, toDisplayString(unref(label)), 9, _hoisted_1)) : createCommentVNode("", true),
1068
- createElementVNode("div", _hoisted_2, [
1069
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3, [
1070
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
1071
- ])) : createCommentVNode("", true),
1072
- createElementVNode("div", _hoisted_4, [
1073
- unref(hasIconBefore) ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
1074
- key: 0,
1075
- class: "vv-textarea__icon"
1076
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true),
1077
- withDirectives(createElementVNode("textarea", mergeProps({
1078
- id: unref(hasId),
1079
- ref_key: "textarea",
1080
- ref: textarea,
1081
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
1082
- }, unref(hasAttrs), {
1083
- onKeyup: _cache[1] || (_cache[1] = ($event) => emit("keyup", $event))
1084
- }), null, 16, _hoisted_5), [
1085
- [vModelText, unref(localModelValue)]
1057
+ return openBlock(), createElementBlock(
1058
+ "div",
1059
+ {
1060
+ class: normalizeClass(unref(bemCssClasses))
1061
+ },
1062
+ [
1063
+ unref(label) ? (openBlock(), createElementBlock("label", {
1064
+ key: 0,
1065
+ for: unref(hasId),
1066
+ class: "vv-textarea__label"
1067
+ }, [
1068
+ createTextVNode(
1069
+ toDisplayString(unref(label)) + " ",
1070
+ 1
1071
+ /* TEXT */
1072
+ ),
1073
+ _ctx.required ? (openBlock(), createElementBlock("span", _hoisted_2, "*")) : createCommentVNode("v-if", true)
1074
+ ], 8, _hoisted_1)) : createCommentVNode("v-if", true),
1075
+ createElementVNode("div", _hoisted_3, [
1076
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_4, [
1077
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
1078
+ ])) : createCommentVNode("v-if", true),
1079
+ createElementVNode("div", _hoisted_5, [
1080
+ unref(hasIconBefore) ? (openBlock(), createBlock(
1081
+ _sfc_main$1,
1082
+ mergeProps({ key: 0 }, unref(hasIconBefore), { class: "vv-textarea__icon" }),
1083
+ null,
1084
+ 16
1085
+ /* FULL_PROPS */
1086
+ )) : createCommentVNode("v-if", true),
1087
+ withDirectives(createElementVNode("textarea", mergeProps({
1088
+ id: unref(hasId),
1089
+ ref_key: "textarea",
1090
+ ref: textarea,
1091
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
1092
+ }, unref(hasAttrs), {
1093
+ onKeyup: _cache[1] || (_cache[1] = ($event) => emit("keyup", $event))
1094
+ }), null, 16, _hoisted_6), [
1095
+ [vModelText, unref(localModelValue)]
1096
+ ]),
1097
+ unref(hasIconAfter) ? (openBlock(), createBlock(
1098
+ _sfc_main$1,
1099
+ mergeProps({ key: 1 }, unref(hasIconAfter), { class: "vv-textarea__icon vv-textarea__icon-after" }),
1100
+ null,
1101
+ 16
1102
+ /* FULL_PROPS */
1103
+ )) : createCommentVNode("v-if", true)
1086
1104
  ]),
1087
- unref(hasIconAfter) ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
1088
- key: 1,
1089
- class: "vv-textarea__icon vv-textarea__icon-after"
1090
- }, unref(hasIcon)), null, 16)) : createCommentVNode("", true)
1105
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_7, [
1106
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
1107
+ ])) : createCommentVNode("v-if", true),
1108
+ unref(count) ? (openBlock(), createElementBlock("span", _hoisted_8, [
1109
+ renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
1110
+ createTextVNode(
1111
+ toDisplayString(unref(countFormatted)),
1112
+ 1
1113
+ /* TEXT */
1114
+ )
1115
+ ])
1116
+ ])) : createCommentVNode("v-if", true)
1091
1117
  ]),
1092
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_6, [
1093
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
1094
- ])) : createCommentVNode("", true),
1095
- unref(count) ? (openBlock(), createElementBlock("span", _hoisted_7, [
1096
- renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
1097
- createTextVNode(toDisplayString(unref(countFormatted)), 1)
1098
- ])
1099
- ])) : createCommentVNode("", true)
1100
- ]),
1101
- createVNode(unref(HintSlot), {
1102
- id: unref(hasHintId),
1103
- class: "vv-textarea__hint"
1104
- }, createSlots({ _: 2 }, [
1105
- _ctx.$slots.hint ? {
1106
- name: "hint",
1107
- fn: withCtx(() => [
1108
- renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1109
- ]),
1110
- key: "0"
1111
- } : void 0,
1112
- _ctx.$slots.loading ? {
1113
- name: "loading",
1114
- fn: withCtx(() => [
1115
- renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1116
- ]),
1117
- key: "1"
1118
- } : void 0,
1119
- _ctx.$slots.valid ? {
1120
- name: "valid",
1121
- fn: withCtx(() => [
1122
- renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1123
- ]),
1124
- key: "2"
1125
- } : void 0,
1126
- _ctx.$slots.invalid ? {
1127
- name: "invalid",
1128
- fn: withCtx(() => [
1129
- renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1130
- ]),
1131
- key: "3"
1132
- } : void 0
1133
- ]), 1032, ["id"])
1134
- ], 2);
1118
+ createVNode(unref(HintSlot), {
1119
+ id: unref(hasHintId),
1120
+ class: "vv-textarea__hint"
1121
+ }, createSlots({
1122
+ _: 2
1123
+ /* DYNAMIC */
1124
+ }, [
1125
+ _ctx.$slots.hint ? {
1126
+ name: "hint",
1127
+ fn: withCtx(() => [
1128
+ renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1129
+ ]),
1130
+ key: "0"
1131
+ } : void 0,
1132
+ _ctx.$slots.loading ? {
1133
+ name: "loading",
1134
+ fn: withCtx(() => [
1135
+ renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1136
+ ]),
1137
+ key: "1"
1138
+ } : void 0,
1139
+ _ctx.$slots.valid ? {
1140
+ name: "valid",
1141
+ fn: withCtx(() => [
1142
+ renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1143
+ ]),
1144
+ key: "2"
1145
+ } : void 0,
1146
+ _ctx.$slots.invalid ? {
1147
+ name: "invalid",
1148
+ fn: withCtx(() => [
1149
+ renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
1150
+ ]),
1151
+ key: "3"
1152
+ } : void 0
1153
+ ]), 1032, ["id"])
1154
+ ],
1155
+ 2
1156
+ /* CLASS */
1157
+ );
1135
1158
  };
1136
1159
  }
1137
1160
  });