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

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 +2304 -1992
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +258 -672
  66. package/dist/components/VvCombobox/index.d.ts +377 -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 +1491 -551
  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 +606 -597
  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 +4086 -2029
  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 +277 -193
  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 +655 -619
  265. package/src/components/VvCombobox/index.ts +210 -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 +652 -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 +461 -384
  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
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2022-2023 24/Consulting
3
+ Copyright (c) 2022-present 8 Wave S.r.l. and contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <div align="center">
2
-
2
+
3
3
  [![volverjs](.storybook/static/volverjs-ui-vue.svg)](https://volverjs.github.io/ui-vue)
4
4
 
5
5
  ## @volverjs/ui-vue
@@ -16,7 +16,7 @@ maintained with ❤️ by
16
16
 
17
17
  <br>
18
18
 
19
- [![24/Consulting](.storybook/static/24consulting.svg)](https://24consulting.it)
19
+ [![8 Wave](.storybook/static/8wave.svg)](https://8wave.it)
20
20
 
21
21
  <br>
22
22
 
@@ -46,12 +46,12 @@ Install the plugin in your `main.ts` file.
46
46
  ```typescript
47
47
  // main.ts
48
48
  import { createApp } from 'vue'
49
- import App from './App.vue'
50
49
 
51
50
  // import @volverjs/ui-vue plugin
52
51
  import { VolverPlugin } from '@volverjs/ui-vue'
53
52
  // import @volverjs/ui-vue icons collections
54
53
  import iconsCollections from '@volverjs/ui-vue/icons'
54
+ import App from './App.vue'
55
55
  /*
56
56
  * import @volverjs/style base style with reset and props
57
57
  * for scss support you can import the scss file
@@ -63,28 +63,28 @@ const app = createApp(App).mount('#app')
63
63
 
64
64
  // install the plugin
65
65
  app.use(VolverPlugin, {
66
- iconsCollections,
67
- /*
66
+ iconsCollections,
67
+ /*
68
68
  * if you want can import components globally
69
69
  * components: { VvButton, VvInputText }
70
70
  */
71
- components: undefined,
72
- /*
71
+ components: undefined,
72
+ /*
73
73
  * if you want can import directives globally
74
74
  * directives: { toolip: VTooltip }
75
75
  */
76
- directives: undefined,
77
- /*
76
+ directives: undefined,
77
+ /*
78
78
  * if you want can create components aliases
79
79
  * aliases: { Btn: VvButton, BtnDanger: VvButton}
80
80
  */
81
- aliases: undefined,
82
- /*
81
+ aliases: undefined,
82
+ /*
83
83
  * if you want can change default props
84
84
  * for globally imported components and aliases
85
85
  * defaults: { VvButton: { modifiers: 'secondary', BtnDanger: { modifiers: 'danger' } }
86
86
  */
87
- defaults: undefined
87
+ defaults: undefined
88
88
  })
89
89
  ```
90
90
 
@@ -123,38 +123,38 @@ To learn more about icons collections, check [icons documentation](src/component
123
123
  You can use `@volverjs/ui-vue` with [`unplugin-vue-components`](https://github.com/antfu/unplugin-vue-components) to automatically import components and styles.
124
124
 
125
125
  ```typescript
126
+ import { VolverResolver } from '@volverjs/ui-vue/resolvers/unplugin'
127
+ import Components from 'unplugin-vue-components/vite'
126
128
  // vite.config.ts
127
129
  import { defineConfig } from 'vite'
128
- import Components from 'unplugin-vue-components/vite'
129
- import { VolverResolver } from '@volverjs/ui-vue/resolvers/unplugin'
130
130
 
131
131
  export default defineConfig({
132
- // ...
133
- plugins: [
134
132
  // ...
135
- Components({
136
- resolvers: [
137
- VolverResolver({
138
- /*
133
+ plugins: [
134
+ // ...
135
+ Components({
136
+ resolvers: [
137
+ VolverResolver({
138
+ /*
139
139
  * enable/disable auto import of components style
140
140
  * also accept 'scss' for scss support
141
141
  * default: false
142
142
  */
143
- importStyle: false,
144
- /*
143
+ importStyle: false,
144
+ /*
145
145
  * enable/disable auto import of directives
146
146
  * default: false
147
147
  */
148
- directives: false,
149
- /*
148
+ directives: false,
149
+ /*
150
150
  * Change components prefix
151
151
  * default: 'vv'
152
152
  */
153
- prefix: 'vv'
153
+ prefix: 'vv'
154
+ })
155
+ ]
154
156
  })
155
- ]
156
- })
157
- ]
157
+ ]
158
158
  })
159
159
  ```
160
160
 
@@ -167,27 +167,28 @@ export default defineConfig({
167
167
  Used to show alert messages and notifications
168
168
 
169
169
  ```typescript
170
- export type AlertModifiers =
171
- | 'success'
172
- | 'info'
173
- | 'warning'
174
- | 'danger'
175
- | 'brand'
176
- | 'accent'
170
+ export type AlertModifier =
171
+ | 'success'
172
+ | 'info'
173
+ | 'warning'
174
+ | 'danger'
175
+ | 'brand'
176
+ | 'accent'
177
+ | string
177
178
  ```
178
179
 
179
180
  ```typescript
180
181
  export type Alert = {
181
- id: string | number
182
- group: string
183
- title?: string
184
- icon: string | Record<string, unknown>
185
- content?: string
186
- footer?: string
187
- modifiers: AlertModifiers
188
- dismissable: boolean
189
- autoClose: number
190
- timestamp: number
182
+ id: string | number
183
+ title?: string
184
+ icon?: string | VvIconProps
185
+ content?: string
186
+ footer?: string
187
+ modifiers?: AlertModifier | AlertModifier[]
188
+ dismissable?: boolean
189
+ autoClose?: number
190
+ closeLabel?: string
191
+ role?: AlertRole
191
192
  }
192
193
  ```
193
194
 
@@ -199,10 +200,10 @@ import { useAlert } from '@volverjs/ui-vue/composables'
199
200
  const { addAlert, removeAlert, alerts } = useAlert()
200
201
 
201
202
  function showSuccess() {
202
- addAlert({
203
- title: 'Success!',
204
- modifiers: 'success'
205
- })
203
+ addAlert({
204
+ title: 'Success!',
205
+ modifiers: 'success'
206
+ })
206
207
  }
207
208
  ```
208
209
 
@@ -219,7 +220,101 @@ function showSuccess() {
219
220
  </div>
220
221
  ```
221
222
 
222
- ###
223
+ ### useBlurhash
224
+
225
+ Used to create blurred preview image ([blurhash](https://blurha.sh/))
226
+
227
+ ##### Example
228
+
229
+ ```typescript
230
+ import { useBlurhash } from '@volverjs/ui-vue/composables'
231
+
232
+ const { encode, decode, loadImage } = useBlurhash()
233
+
234
+ const isLoading = ref(false)
235
+ const file = ref({})
236
+ const canvas = ref()
237
+ const isImgLoaded = ref(false)
238
+ const blurhash = ref('')
239
+ const imageUrl = ref('')
240
+ const image = ref()
241
+
242
+ watch(
243
+ file,
244
+ async (newValue) => {
245
+ if (newValue?.size) {
246
+ this.imageUrl = URL.createObjectURL(newValue)
247
+ this.image = await this.loadImage(this.imageUrl)
248
+ this.blurhash = await this.encode(newValue)
249
+ }
250
+ else {
251
+ this.image = null
252
+ this.imageUrl = ''
253
+ this.blurhash = ''
254
+ }
255
+ },
256
+ { immediate: true }
257
+ )
258
+
259
+ watch(blurhash, async (newValue) => {
260
+ if (this.image) {
261
+ const blurhashDecoded = await this.decode(
262
+ newValue,
263
+ this.image.width,
264
+ this.image.height
265
+ )
266
+
267
+ if (this.canvas) {
268
+ this.canvas.width = this.image.width
269
+ this.canvas.height = this.image.height
270
+ const ctx = this.canvas.getContext('2d')
271
+ const imageData = ctx.createImageData(
272
+ this.canvas.width,
273
+ this.canvas.height
274
+ )
275
+ imageData.data.set(blurhashDecoded)
276
+ ctx.putImageData(imageData, 0, 0)
277
+ }
278
+ }
279
+ })
280
+ ```
281
+
282
+ ```html
283
+ <div
284
+ class="w-full grid gap-md grid-cols-3 h-150"
285
+ :class="{ 'vv-skeleton': isLoading }"
286
+ >
287
+ <div class="w-150 h-150 col-span-1">
288
+ <div class="text-20 font-semibold mb-md">Upload image</div>
289
+ <vv-input-file
290
+ v-model="file"
291
+ name="input-file"
292
+ modifiers="drop-area square hidden"
293
+ accept=".gif,.jpg,.jpeg,.png,image/gif,image/jpeg,image/png"
294
+ />
295
+ </div>
296
+ <div v-show="blurhash" class="h-150 col-span-2">
297
+ <picture class="flex gap-md justify-center">
298
+ <div>
299
+ <div class="text-20 font-semibold mb-md">Blurhash</div>
300
+ <canvas ref="canvas" class="w-150 h-150 block object-cover" />
301
+ </div>
302
+ <div>
303
+ <div class="text-20 font-semibold mb-md">Image</div>
304
+ <img
305
+ v-if="image"
306
+ class="w-150 h-150 block object-cover"
307
+ :class="{ 'vv-skeleton__item': isLoading }"
308
+ :src="imageUrl"
309
+ alt="image"
310
+ :width="image.width"
311
+ :height="image.height"
312
+ />
313
+ </div>
314
+ </picture>
315
+ </div>
316
+ </div>
317
+ ```
223
318
 
224
319
  ## Roadmap
225
320
 
@@ -232,9 +327,11 @@ The following features are planned for the next releases:
232
327
  - [x] (v0.0.6) `VvAvatar` and `VvAvatarGroup` component;
233
328
  - [x] (v0.0.6) Menus, navigation and tabs with `VvNav` and `VvTab`;
234
329
  - [x] (v0.0.6) Alerts, notifications and toasts with `VvAlert` and `VvAlertGroup` component;
330
+ - [x] (v0.0.10) Multiple uploads with `VvInputFile`;
331
+ - [x] (v0.0.10) `useBlurhash` composable;
332
+ - [ ] Image crop and file previews;
235
333
  - [ ] Loaders with `VvLoader` and `VvSkeleton`;
236
334
  - [ ] `VvTable` component with sort, filters, pagination and cell editing;
237
- - [ ] Multiple uploads, image crop and file previews with `VvInputFile`;
238
335
  - [ ] Carousel and galleries with `VvCarousel` component;
239
336
  - [ ] Calendar and date picker with `VvCalendar` component.
240
337
 
package/auto-imports.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  // @ts-nocheck
4
4
  // noinspection JSUnusedGlobalSymbols
5
5
  // Generated by unplugin-auto-import
6
+ // biome-ignore lint: disable
6
7
  export {}
7
8
  declare global {
8
9
  const EffectScope: typeof import('vue')['EffectScope']
@@ -37,11 +38,13 @@ declare global {
37
38
  const extendRef: typeof import('@vueuse/core')['extendRef']
38
39
  const filterArray: typeof import('./src/utils/ObjectUtilities')['filterArray']
39
40
  const findIndexInList: typeof import('./src/utils/ObjectUtilities')['findIndexInList']
41
+ const findScrollContainer: typeof import('./src/utils/DomUtilities')['findScrollContainer']
40
42
  const getCurrentInstance: typeof import('vue')['getCurrentInstance']
41
43
  const getCurrentScope: typeof import('vue')['getCurrentScope']
42
44
  const h: typeof import('vue')['h']
43
45
  const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
44
46
  const inject: typeof import('vue')['inject']
47
+ const injectLocal: typeof import('@vueuse/core')['injectLocal']
45
48
  const isDefined: typeof import('@vueuse/core')['isDefined']
46
49
  const isEmpty: typeof import('./src/utils/ObjectUtilities')['isEmpty']
47
50
  const isFunction: typeof import('./src/utils/ObjectUtilities')['isFunction']
@@ -50,7 +53,6 @@ declare global {
50
53
  const isReadonly: typeof import('vue')['isReadonly']
51
54
  const isRef: typeof import('vue')['isRef']
52
55
  const isString: typeof import('./src/utils/ObjectUtilities')['isString']
53
- const kebabCase: typeof import('./src/utils/ObjectUtilities')['kebabCase']
54
56
  const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
55
57
  const markRaw: typeof import('vue')['markRaw']
56
58
  const nextTick: typeof import('vue')['nextTick']
@@ -71,10 +73,12 @@ declare global {
71
73
  const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
72
74
  const onUnmounted: typeof import('vue')['onUnmounted']
73
75
  const onUpdated: typeof import('vue')['onUpdated']
76
+ const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
74
77
  const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
75
78
  const pickBy: typeof import('./src/utils/ObjectUtilities')['pickBy']
76
79
  const propsToObject: typeof import('./src/utils/ObjectUtilities')['propsToObject']
77
80
  const provide: typeof import('vue')['provide']
81
+ const provideLocal: typeof import('@vueuse/core')['provideLocal']
78
82
  const reactify: typeof import('@vueuse/core')['reactify']
79
83
  const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
80
84
  const reactive: typeof import('vue')['reactive']
@@ -117,6 +121,7 @@ declare global {
117
121
  const until: typeof import('@vueuse/core')['until']
118
122
  const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
119
123
  const useAlert: typeof import('./src/composables/alert/useAlert')['useAlert']
124
+ const useAlertProvideGroup: typeof import('./src/composables/alert/useAlertProvide')['useAlertProvideGroup']
120
125
  const useAnimate: typeof import('@vueuse/core')['useAnimate']
121
126
  const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference']
122
127
  const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
@@ -136,11 +141,13 @@ declare global {
136
141
  const useBase64: typeof import('@vueuse/core')['useBase64']
137
142
  const useBattery: typeof import('@vueuse/core')['useBattery']
138
143
  const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
144
+ const useBlurhash: typeof import('./src/composables/useBlurhash')['useBlurhash']
139
145
  const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
140
146
  const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
141
147
  const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
142
148
  const useCached: typeof import('@vueuse/core')['useCached']
143
149
  const useClipboard: typeof import('@vueuse/core')['useClipboard']
150
+ const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems']
144
151
  const useCloned: typeof import('@vueuse/core')['useCloned']
145
152
  const useColorMode: typeof import('@vueuse/core')['useColorMode']
146
153
  const useComponentFocus: typeof import('./src/composables/useComponentFocus')['useComponentFocus']
@@ -167,6 +174,11 @@ declare global {
167
174
  const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
168
175
  const useDraggable: typeof import('@vueuse/core')['useDraggable']
169
176
  const useDropZone: typeof import('@vueuse/core')['useDropZone']
177
+ const useDropdownContextmenu: typeof import('./src/composables/dropdown/useDropdownContextmenu')['useDropdownContextmenu']
178
+ const useDropdownProvideAction: typeof import('./src/composables/dropdown/useDropdownProvide')['useDropdownProvideAction']
179
+ const useDropdownProvideItem: typeof import('./src/composables/dropdown/useDropdownProvide')['useDropdownProvideItem']
180
+ const useDropdownProvideTrigger: typeof import('./src/composables/dropdown/useDropdownProvide')['useDropdownProvideTrigger']
181
+ const useDropdownVirtualElement: typeof import('./src/composables/dropdown/useDropdownVirtualElement')['useDropdownVirtualElement']
170
182
  const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
171
183
  const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
172
184
  const useElementHover: typeof import('@vueuse/core')['useElementHover']
@@ -186,14 +198,16 @@ declare global {
186
198
  const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
187
199
  const useGamepad: typeof import('@vueuse/core')['useGamepad']
188
200
  const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
201
+ const useGroupStateInject: typeof import('./src/composables/group/useGroupStateInject')['useGroupStateInject']
202
+ const useGroupStateProvide: typeof import('./src/composables/group/useGroupStateProvide')['useGroupStateProvide']
203
+ const useId: typeof import('vue')['useId']
189
204
  const useIdle: typeof import('@vueuse/core')['useIdle']
190
205
  const useImage: typeof import('@vueuse/core')['useImage']
191
206
  const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
192
- const useInjectedAlertGroup: typeof import('./src/composables/alert/useInjectAlert')['useInjectedAlertGroup']
193
- const useInjectedDropdownAction: typeof import('./src/composables/dropdown/useInjectDropdown')['useInjectedDropdownAction']
194
- const useInjectedDropdownItem: typeof import('./src/composables/dropdown/useInjectDropdown')['useInjectedDropdownItem']
195
- const useInjectedDropdownTrigger: typeof import('./src/composables/dropdown/useInjectDropdown')['useInjectedDropdownTrigger']
196
- const useInjectedGroupState: typeof import('./src/composables/group/useInjectedGroupState')['useInjectedGroupState']
207
+ const useInjectedAlertGroup: typeof import('./src/composables/alert/useAlerInject')['useInjectedAlertGroup']
208
+ const useInjectedDropdownAction: typeof import('./src/composables/dropdown/useDropdownInject')['useInjectedDropdownAction']
209
+ const useInjectedDropdownItem: typeof import('./src/composables/dropdown/useDropdownInject')['useInjectedDropdownItem']
210
+ const useInjectedDropdownTrigger: typeof import('./src/composables/dropdown/useDropdownInject')['useInjectedDropdownTrigger']
197
211
  const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
198
212
  const useInterval: typeof import('@vueuse/core')['useInterval']
199
213
  const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
@@ -206,6 +220,7 @@ declare global {
206
220
  const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
207
221
  const useMemoize: typeof import('@vueuse/core')['useMemoize']
208
222
  const useMemory: typeof import('@vueuse/core')['useMemory']
223
+ const useModel: typeof import('vue')['useModel']
209
224
  const useModifiers: typeof import('./src/composables/useModifiers')['useModifiers']
210
225
  const useMounted: typeof import('@vueuse/core')['useMounted']
211
226
  const useMouse: typeof import('@vueuse/core')['useMouse']
@@ -224,6 +239,7 @@ declare global {
224
239
  const useParentElement: typeof import('@vueuse/core')['useParentElement']
225
240
  const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver']
226
241
  const usePermission: typeof import('@vueuse/core')['usePermission']
242
+ const usePersistence: typeof import('./src/composables/usePersistence')['usePersistence']
227
243
  const usePointer: typeof import('@vueuse/core')['usePointer']
228
244
  const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
229
245
  const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
@@ -233,11 +249,6 @@ declare global {
233
249
  const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
234
250
  const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
235
251
  const usePrevious: typeof import('@vueuse/core')['usePrevious']
236
- const useProvideAlertGroup: typeof import('./src/composables/alert/useProvideAlert')['useProvideAlertGroup']
237
- const useProvideDropdownAction: typeof import('./src/composables/dropdown/useProvideDropdown')['useProvideDropdownAction']
238
- const useProvideDropdownItem: typeof import('./src/composables/dropdown/useProvideDropdown')['useProvideDropdownItem']
239
- const useProvideDropdownTrigger: typeof import('./src/composables/dropdown/useProvideDropdown')['useProvideDropdownTrigger']
240
- const useProvideGroupState: typeof import('./src/composables/group/useProvideGroupState')['useProvideGroupState']
241
252
  const useRafFn: typeof import('@vueuse/core')['useRafFn']
242
253
  const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
243
254
  const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
@@ -258,6 +269,7 @@ declare global {
258
269
  const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
259
270
  const useSupported: typeof import('@vueuse/core')['useSupported']
260
271
  const useSwipe: typeof import('@vueuse/core')['useSwipe']
272
+ const useTemplateRef: typeof import('vue')['useTemplateRef']
261
273
  const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
262
274
  const useTextCount: typeof import('./src/composables/useTextCount')['useTextCount']
263
275
  const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
@@ -312,5 +324,6 @@ declare global {
312
324
  // for type re-export
313
325
  declare global {
314
326
  // @ts-ignore
315
- export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
327
+ export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
328
+ import('vue')
316
329
  }
package/bin/icons.cjs CHANGED
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("fs"),require("yargs"),require("yargs/helpers"),require("@iconify/tools"),require("path"),require("@iconify/utils"),require("chokidar")):"function"==typeof define&&define.amd?define(["exports","fs","yargs","yargs/helpers","@iconify/tools","path","@iconify/utils","chokidar"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self)["generate-icons"]={},e.fileSystem,e.yargs,e.helpers,e.tools,e.path,e.utils,e.chokidar)}(this,(function(e,o,r,i,t,n,s,c){"use strict";function a(e,r="iconify",i={}){return o.readdirSync(e).forEach((function(t){o.statSync(e+"/"+t).isDirectory()?i=a(e+"/"+t,t,i):t.includes(".svg")&&(i[r]?i[r].push(n.join(e,"/",t)):i[r]=[n.join(e,"/",t)])})),i}function l(e,r,i){const c=a(e,i);Object.keys(c).length?Object.keys(c).forEach((e=>{!async function(e,r,i){const c=t.blankIconSet(e);for(const n of r){const e=await o.promises.readFile(n,{encoding:"utf-8"}),r=new t.SVG(e);await t.cleanupSVG(r),await t.parseColors(r,{defaultColor:"currentColor",callback:(e,o,r)=>!r||t.isEmptyColor(r)?o:"currentColor"}),await t.runSVGO(r);const i=n.replace(/^.*[\\/]/,"").split(".")[0].replace(/ /g,"-").replace(/[^a-z0-9-]/gi,"");c.fromSVG(i,r)}const a=c.export();try{s.validateIconSet(a)}catch(f){throw new Error(`Icon set is not valid: ${null==f?void 0:f.message}`)}const l=`${i}/${a.prefix}.json`;o.mkdirSync(n.dirname(l),{recursive:!0}),o.writeFileSync(l,JSON.stringify(a))}(e,c[e],r),console.info(`Icons generated in: ${r}/${e}.json\n`)})):console.error(`There are no files in ${e}`)}const f=r(i.hideBin(process.argv)).argv,d=f.srcPath,u=f.destPath||d;d&&u||(console.error("Please specify the srcPath and destPath with --srcPath and --destPath"),process.exit()),f.watch?c.watch(d).on("add",(()=>{l(d,u,f.prefix)})).on("change",(()=>{l(d,u,f.prefix)})):l(d,u,f.prefix),e.createIconifyJsonFiles=l,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("node:fs"),require("node:path"),require("yargs"),require("yargs/helpers"),require("@iconify/tools"),require("@iconify/utils"),require("chokidar")):"function"==typeof define&&define.amd?define(["exports","node:fs","node:path","yargs","yargs/helpers","@iconify/tools","@iconify/utils","chokidar"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self)["generate-icons"]={},e.fileSystem,e.path,e.yargs,e.helpers,e.tools,e.utils,e.chokidar)}(this,(function(e,o,r,n,i,t,s,c){"use strict";function a(e,n="iconify",i={}){return o.readdirSync(e).forEach((t=>{o.statSync(`${e}/${t}`).isDirectory()?i=a(`${e}/${t}`,t,i):t.includes(".svg")&&(i[n]?i[n].push(r.join(e,"/",t)):i[n]=[r.join(e,"/",t)])})),i}function l(e,n,i){const c=a(e,i);Object.keys(c).length?Object.keys(c).forEach((e=>{!async function(e,n,i){const c=t.blankIconSet(e);for(const r of n)try{const e=await o.promises.readFile(r,{encoding:"utf-8"}),n=new t.SVG(e);await t.cleanupSVG(n),await t.parseColors(n,{defaultColor:"currentColor",callback:(e,o,r)=>!r||t.isEmptyColor(r)?o:"currentColor"}),await t.runSVGO(n);const i=r.replace(/^.*[\\/]/,"").split(".")[0].replace(/ /g,"-").replace(/[^a-z0-9-]/gi,"");c.fromSVG(i,n)}catch(f){console.error(f)}const a=c.export();try{s.validateIconSet(a)}catch(f){throw new Error(`Icon set is not valid: ${null==f?void 0:f.message}`)}const l=`${i}/${a.prefix}.json`;o.mkdirSync(r.dirname(l),{recursive:!0}),o.writeFileSync(l,JSON.stringify(a))}(e,c[e],n),console.info(`Icons generated in: ${n}/${e}.json\n`)})):console.error(`There are no files in ${e}`)}const f=n(i.hideBin(process.argv)).argv,d=f.srcPath,u=f.destPath||d;d&&u||(console.error("Please specify the srcPath and destPath with --srcPath and --destPath"),process.exit()),f.watch?(l(d,u,f.prefix),c.watch(d,{ignoreInitial:!0}).on("add",(()=>{l(d,u,f.prefix)})).on("change",(()=>{l(d,u,f.prefix)}))):l(d,u,f.prefix),e.createIconifyJsonFiles=l,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
package/bin/icons.js CHANGED
@@ -1,15 +1,16 @@
1
- import fileSystem from "fs";
1
+ #!/usr/bin/env node
2
+ import fileSystem from "node:fs";
3
+ import path from "node:path";
2
4
  import yargs from "yargs";
3
5
  import { hideBin } from "yargs/helpers";
4
6
  import { blankIconSet, SVG, cleanupSVG, parseColors, isEmptyColor, runSVGO } from "@iconify/tools";
5
- import path from "path";
6
7
  import { validateIconSet } from "@iconify/utils";
7
8
  import chokidar from "chokidar";
8
9
  function getAllFiles(dirPath, prefix = "iconify", objectFiles = {}) {
9
10
  const files = fileSystem.readdirSync(dirPath);
10
- files.forEach(function(file) {
11
- if (fileSystem.statSync(dirPath + "/" + file).isDirectory()) {
12
- objectFiles = getAllFiles(dirPath + "/" + file, file, objectFiles);
11
+ files.forEach((file) => {
12
+ if (fileSystem.statSync(`${dirPath}/${file}`).isDirectory()) {
13
+ objectFiles = getAllFiles(`${dirPath}/${file}`, file, objectFiles);
13
14
  } else {
14
15
  if (file.includes(".svg")) {
15
16
  objectFiles[prefix] ? objectFiles[prefix].push(path.join(dirPath, "/", file)) : objectFiles[prefix] = [path.join(dirPath, "/", file)];
@@ -21,20 +22,24 @@ function getAllFiles(dirPath, prefix = "iconify", objectFiles = {}) {
21
22
  async function generateIcons(prefix, files, destPath2) {
22
23
  const iconSet = blankIconSet(prefix);
23
24
  for (const file of files) {
24
- const content = await fileSystem.promises.readFile(file, {
25
- encoding: "utf-8"
26
- });
27
- const svg = new SVG(content);
28
- await cleanupSVG(svg);
29
- await parseColors(svg, {
30
- defaultColor: "currentColor",
31
- callback: (attr, colorStr, color) => {
32
- return !color || isEmptyColor(color) ? colorStr : "currentColor";
33
- }
34
- });
35
- await runSVGO(svg);
36
- const fileName = file.replace(/^.*[\\/]/, "").split(".")[0].replace(/ /g, "-").replace(/[^a-z0-9-]/gi, "");
37
- iconSet.fromSVG(fileName, svg);
25
+ try {
26
+ const content = await fileSystem.promises.readFile(file, {
27
+ encoding: "utf-8"
28
+ });
29
+ const svg = new SVG(content);
30
+ await cleanupSVG(svg);
31
+ await parseColors(svg, {
32
+ defaultColor: "currentColor",
33
+ callback: (attr, colorStr, color) => {
34
+ return !color || isEmptyColor(color) ? colorStr : "currentColor";
35
+ }
36
+ });
37
+ await runSVGO(svg);
38
+ const fileName = file.replace(/^.*[\\/]/, "").split(".")[0].replace(/ /g, "-").replace(/[^a-z0-9-]/gi, "");
39
+ iconSet.fromSVG(fileName, svg);
40
+ } catch (error) {
41
+ console.error(error);
42
+ }
38
43
  }
39
44
  const iconifyJson = iconSet.export();
40
45
  try {
@@ -70,7 +75,10 @@ if (!srcPath || !destPath) {
70
75
  process.exit();
71
76
  }
72
77
  if (argv.watch) {
73
- chokidar.watch(srcPath).on("add", () => {
78
+ createIconifyJsonFiles(srcPath, destPath, argv.prefix);
79
+ chokidar.watch(srcPath, {
80
+ ignoreInitial: true
81
+ }).on("add", () => {
74
82
  createIconifyJsonFiles(srcPath, destPath, argv.prefix);
75
83
  }).on("change", () => {
76
84
  createIconifyJsonFiles(srcPath, destPath, argv.prefix);
package/dist/Volver.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { type IconifyIcon, type IconifyJSON, type PartialIconifyAPIConfig } from '@iconify/vue';
2
1
  import type { Component, Directive, Plugin, Ref } from 'vue';
2
+ import { type IconifyIcon, type IconifyJSON, type PartialIconifyAPIConfig } from '@iconify/vue';
3
3
  export declare function useDefaultProps(component: Component, defaults?: Record<string, unknown>, name?: string): Component;
4
4
  export type DefaultOptions = Record<string, Record<string, unknown>>;
5
5
  export type VolverOptions = {
@@ -45,33 +45,33 @@ export type VolverOptions = {
45
45
  };
46
46
  export interface VolverInterface {
47
47
  /**
48
- * @param {String} src Icon source path (url)
48
+ * @param {string} src Icon source path (url)
49
49
  * @param {RequestInit} options
50
50
  * @returns {Promise<string | undefined>} String SVG if exist
51
51
  */
52
- fetchIcon(src: string, options?: RequestInit): Promise<string | undefined>;
52
+ fetchIcon: (src: string, options?: RequestInit) => Promise<string | undefined>;
53
53
  /**
54
54
  * Add iconify collection to library
55
55
  * @see https://docs.iconify.design/icon-components/vue/add-collection.html
56
56
  * @param {IconifyJSON} collection
57
- * @param {String} providerName Optional provider name
57
+ * @param {string} providerName Optional provider name
58
58
  */
59
- addCollection(collection: IconifyJSON, providerName?: string): boolean;
59
+ addCollection: (collection: IconifyJSON, providerName?: string) => boolean;
60
60
  /**
61
61
  * Add icon to collection
62
62
  * @see https://docs.iconify.design/icon-components/vue/add-icon.html
63
- * @param {String} name
63
+ * @param {string} name
64
64
  * @param {IconifyIcon} data
65
- * @returns {Boolean} true on success, false if something is wrong with data
65
+ * @returns {boolean} true on success, false if something is wrong with data
66
66
  */
67
- addIcon(name: string, data: IconifyIcon): boolean;
67
+ addIcon: (name: string, data: IconifyIcon) => boolean;
68
68
  /**
69
69
  * Add custom config for icons provider
70
- * @param {String} provider
70
+ * @param {string} provider
71
71
  * @param {PartialIconifyAPIConfig} customConfig
72
- * @returns {Boolean} true on success, false if something is wrong with data
72
+ * @returns {boolean} true on success, false if something is wrong with data
73
73
  */
74
- addIconsAPIProvider(provider: string, customConfig: PartialIconifyAPIConfig): boolean;
74
+ addIconsAPIProvider: (provider: string, customConfig: PartialIconifyAPIConfig) => boolean;
75
75
  /**
76
76
  * Current provider
77
77
  */