@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,7 +1,11 @@
1
- import { provide, computed, unref, inject, defineComponent, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, watch, withModifiers, createElementBlock, normalizeProps, guardReactiveProps, renderSlot, createTextVNode, toDisplayString, createElementVNode, createVNode, TransitionGroup, toHandlers, withCtx, Fragment, renderList } from "vue";
1
+ import { provide, computed, unref, inject, useId, watch, ref, defineComponent, mergeDefaults, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, createElementBlock, normalizeProps, guardReactiveProps, renderSlot, createTextVNode, toDisplayString, withModifiers, createElementVNode, createVNode, TransitionGroup, toHandlers, withCtx, Fragment, renderList } from "vue";
2
2
  import mitt from "mitt";
3
3
  import { iconExists, Icon, addIcon } from "@iconify/vue";
4
- import { uid } from "uid";
4
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
5
+ StorageType2["local"] = "local";
6
+ StorageType2["session"] = "session";
7
+ return StorageType2;
8
+ })(StorageType || {});
5
9
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
6
10
  Strategy2["absolute"] = "absolute";
7
11
  Strategy2["fixed"] = "fixed";
@@ -36,13 +40,18 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
36
40
  ButtonType2["reset"] = "reset";
37
41
  return ButtonType2;
38
42
  })(ButtonType || {});
39
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
40
- AnchorTarget2["_blank"] = "_blank";
41
- AnchorTarget2["_self"] = "_self";
42
- AnchorTarget2["_parent"] = "_parent";
43
- AnchorTarget2["_top"] = "_top";
44
- return AnchorTarget2;
45
- })(AnchorTarget || {});
43
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
44
+ ActionTag2["nuxtLink"] = "nuxt-link";
45
+ ActionTag2["routerLink"] = "router-link";
46
+ ActionTag2["a"] = "a";
47
+ ActionTag2["button"] = "button";
48
+ return ActionTag2;
49
+ })(ActionTag || {});
50
+ var AlertRole = /* @__PURE__ */ ((AlertRole2) => {
51
+ AlertRole2["alert"] = "alert";
52
+ AlertRole2["alertdialog"] = "alertdialog";
53
+ return AlertRole2;
54
+ })(AlertRole || {});
46
55
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
47
56
  const INJECTION_KEY_ALERT_GROUP = Symbol.for(
48
57
  "alertGroup"
@@ -62,10 +71,7 @@ const LinkProps = {
62
71
  /**
63
72
  * Anchor target
64
73
  */
65
- target: {
66
- type: String,
67
- validator: (value) => Object.values(AnchorTarget).includes(value)
68
- },
74
+ target: String,
69
75
  /**
70
76
  * Anchor rel
71
77
  */
@@ -78,44 +84,65 @@ const DisabledProps = {
78
84
  /**
79
85
  * Whether the form control is disabled
80
86
  */
81
- disabled: Boolean
87
+ disabled: {
88
+ type: Boolean,
89
+ default: false
90
+ }
82
91
  };
83
92
  const ActiveProps = {
84
93
  /**
85
94
  * Whether the item is active
86
95
  */
87
- active: Boolean
96
+ active: {
97
+ type: Boolean,
98
+ default: false
99
+ }
88
100
  };
89
101
  const CurrentProps = {
90
102
  /**
91
103
  * Whether the item is current
92
104
  */
93
- current: Boolean
105
+ current: {
106
+ type: Boolean,
107
+ default: false
108
+ }
94
109
  };
95
110
  const PressedProps = {
96
111
  /**
97
112
  * Whether the item is pressed
98
113
  */
99
- pressed: Boolean
114
+ pressed: {
115
+ type: Boolean,
116
+ default: false
117
+ }
100
118
  };
101
119
  const LabelProps = {
102
120
  /**
103
121
  * The item label
104
122
  */
105
- label: [String, Number]
123
+ label: {
124
+ type: [String, Number],
125
+ default: void 0
126
+ }
106
127
  };
107
128
  const ModifiersProps = {
108
129
  /**
109
130
  * Component BEM modifiers
110
131
  */
111
- modifiers: [String, Array]
132
+ modifiers: {
133
+ type: [String, Array],
134
+ default: void 0
135
+ }
112
136
  };
113
137
  const IconProps = {
114
138
  /**
115
139
  * VvIcon name or props
116
140
  * @see VVIcon
117
141
  */
118
- icon: { type: [String, Object] },
142
+ icon: {
143
+ type: [String, Object],
144
+ default: void 0
145
+ },
119
146
  /**
120
147
  * VvIcon position
121
148
  */
@@ -153,7 +180,8 @@ const IdProps = {
153
180
  * Dropdown show / hide transition name
154
181
  */
155
182
  transitionName: {
156
- type: String
183
+ type: String,
184
+ default: void 0
157
185
  },
158
186
  /**
159
187
  * Offset of the dropdown from the trigger
@@ -221,7 +249,8 @@ const IdProps = {
221
249
  * Set dropdown width to the same as the trigger
222
250
  */
223
251
  triggerWidth: {
224
- type: Boolean
252
+ type: Boolean,
253
+ default: false
225
254
  }
226
255
  });
227
256
  ({
@@ -245,9 +274,24 @@ const IdProps = {
245
274
  ariaLabel: {
246
275
  type: String,
247
276
  default: void 0
277
+ },
278
+ /**
279
+ * Default tag for the action
280
+ */
281
+ defaultTag: {
282
+ type: String,
283
+ default: ActionTag.button
248
284
  }
249
285
  });
250
- function useProvideAlertGroup({
286
+ ({
287
+ storageType: {
288
+ type: String,
289
+ default: StorageType.local,
290
+ validator: (value) => Object.values(StorageType).includes(value)
291
+ },
292
+ storageKey: String
293
+ });
294
+ function useAlertProvideGroup({
251
295
  name
252
296
  }) {
253
297
  const bus = mitt();
@@ -317,17 +361,17 @@ const VvAlertGroupProps = {
317
361
  };
318
362
  const VvAlertGroupEvents = [
319
363
  "close",
320
- "before-enter",
321
- "after-leave",
364
+ "beforeEnter",
365
+ "afterLeave",
322
366
  "enter",
323
- "after-enter",
324
- "enter-cancelled",
325
- "before-leave",
367
+ "afterEnter",
368
+ "enterCancelled",
369
+ "beforeLeave",
326
370
  "leave",
327
- "leave-cancelled"
371
+ "leaveCancelled"
328
372
  ];
329
- const useVvAlertGroup = (props, emit) => {
330
- const bus = useProvideAlertGroup({ name: computed(() => props.name) });
373
+ function useVvAlertGroup(props, emit) {
374
+ const bus = useAlertProvideGroup({ name: computed(() => props.name) });
331
375
  if (props.block && !props.inline || !props.block && props.inline) {
332
376
  console.warn(
333
377
  `[VvAlertGroup]: block and inline props must coexist at the same time.`
@@ -381,101 +425,197 @@ const useVvAlertGroup = (props, emit) => {
381
425
  class: hasClass.value
382
426
  }))
383
427
  };
384
- };
385
- const VvIconProps = {
428
+ }
429
+ function useInjectedAlertGroup() {
430
+ return inject(INJECTION_KEY_ALERT_GROUP, {});
431
+ }
432
+ function useUniqueId(id) {
433
+ return computed(() => String((id == null ? void 0 : id.value) || useId()));
434
+ }
435
+ function useComponentIcon(icon, iconPosition) {
436
+ const hasIcon = computed(() => {
437
+ if (typeof (icon == null ? void 0 : icon.value) === "string") {
438
+ return { name: icon == null ? void 0 : icon.value };
439
+ }
440
+ return icon == null ? void 0 : icon.value;
441
+ });
442
+ const hasIconBefore = computed(
443
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Position.before ? hasIcon.value : void 0
444
+ );
445
+ const hasIconAfter = computed(
446
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Position.after ? hasIcon.value : void 0
447
+ );
448
+ const hasIconLeft = computed(
449
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.left ? hasIcon.value : void 0
450
+ );
451
+ const hasIconRight = computed(
452
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.right ? hasIcon.value : void 0
453
+ );
454
+ const hasIconTop = computed(
455
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.top ? hasIcon.value : void 0
456
+ );
457
+ const hasIconBottom = computed(
458
+ () => (iconPosition == null ? void 0 : iconPosition.value) === Side.bottom ? hasIcon.value : void 0
459
+ );
460
+ return {
461
+ hasIcon,
462
+ hasIconLeft,
463
+ hasIconRight,
464
+ hasIconTop,
465
+ hasIconBottom,
466
+ hasIconBefore,
467
+ hasIconAfter
468
+ };
469
+ }
470
+ const VvAlertProps = {
471
+ ...IdProps,
472
+ ...IconProps,
386
473
  /**
387
- * Color
474
+ * Component BEM modifiers
388
475
  */
389
- color: String,
476
+ modifiers: {
477
+ type: [String, Array],
478
+ default: void 0
479
+ },
390
480
  /**
391
- * Width
481
+ * The alert is dismissable
482
+ * @default false
483
+ * @type boolean
392
484
  */
393
- width: {
394
- type: [String, Number]
485
+ dismissable: {
486
+ type: Boolean,
487
+ default: false
395
488
  },
396
489
  /**
397
- * Height
490
+ * The alert auto close after the specified time in milliseconds
491
+ * @default 0
492
+ * @type number
398
493
  */
399
- height: {
400
- type: [String, Number]
494
+ autoClose: {
495
+ type: Number,
496
+ default: 0
401
497
  },
402
498
  /**
403
- * Icon name
404
- * Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
405
- * https://docs.iconify.design/api/providers.html#provider-in-icon-name
499
+ * The alert close label
500
+ * @default 'Close'
501
+ * @type string
406
502
  */
407
- name: {
503
+ closeLabel: {
408
504
  type: String,
409
- required: true
505
+ default: "Close"
410
506
  },
411
507
  /**
412
- * By default 'vv'
413
- * If custom collection is not added with "addCollection" DS class method, this prop could not be used
414
- * Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
508
+ * The alert title
509
+ * @default ''
510
+ * @type string
415
511
  */
416
- provider: {
417
- type: String
512
+ title: {
513
+ type: String,
514
+ default: void 0
418
515
  },
419
516
  /**
420
- * The name of icon set.
421
- * Icon default options prefix: simple | normal | detailed
517
+ * The alert content
518
+ * @default ''
519
+ * @type string
422
520
  */
423
- prefix: {
521
+ content: {
424
522
  type: String,
425
- default: "normal"
523
+ default: void 0
426
524
  },
427
525
  /**
428
- * Url remote SVG icon
429
- */
430
- src: String,
431
- /**
432
- * Horizontal flip
433
- */
434
- horizontalFlip: Boolean,
435
- /**
436
- * Vertical flip
437
- */
438
- verticalFlip: Boolean,
439
- /**
440
- * String alternative to "horizontalFlip" and "verticalFlip".
441
- * Example: https://docs.iconify.design/icon-components/vue/transform.html
442
- */
443
- flip: String,
444
- /**
445
- * Icon render mode
446
- * 'style' = 'bg' or 'mask', depending on icon content
447
- * 'bg' = span with style using `background`
448
- * 'mask' = span with style using `mask`
449
- * 'svg' = svg
450
- * Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
451
- */
452
- mode: String,
453
- /**
454
- * Toggles inline or block mode
455
- * Example https://docs.iconify.design/icon-components/vue/inline.html
456
- */
457
- inline: Boolean,
458
- /**
459
- * rotates icon
460
- * Example https://docs.iconify.design/icon-components/vue/transform.html
461
- */
462
- rotate: [Number, String],
463
- /**
464
- * A callback that is called when icon data has been loaded
465
- */
466
- onLoad: Function,
467
- /**
468
- * SVG icon string
526
+ * The alert footer
527
+ * @default ''
528
+ * @type string
469
529
  */
470
- svg: String,
530
+ footer: {
531
+ type: String,
532
+ default: void 0
533
+ },
471
534
  /**
472
- * Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
473
- * @values string | string[]
535
+ * The alert role
536
+ * @default 'alert'
537
+ * @type string
538
+ * @values 'alert', 'alertdialog'
539
+ * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Alert_Role
540
+ * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Alertdialog_role
474
541
  */
475
- modifiers: {
476
- type: [String, Array]
542
+ role: {
543
+ type: String,
544
+ default: AlertRole.alert
477
545
  }
478
546
  };
547
+ const VvAlertEvents = ["close"];
548
+ function useVvAlert(props, emit) {
549
+ const { bus } = useInjectedAlertGroup();
550
+ const hasId = useUniqueId(computed(() => props.id));
551
+ const hasTitleId = computed(() => `${hasId.value}-title`);
552
+ let timeout;
553
+ const close = () => {
554
+ if (timeout) {
555
+ clearTimeout(timeout);
556
+ }
557
+ emit("close", hasId.value);
558
+ bus == null ? void 0 : bus.emit("close", hasId.value);
559
+ };
560
+ watch(
561
+ () => props.autoClose,
562
+ (value) => {
563
+ if (value > 0) {
564
+ timeout = setTimeout(close, value);
565
+ return;
566
+ }
567
+ if (timeout) {
568
+ clearTimeout(timeout);
569
+ }
570
+ },
571
+ {
572
+ immediate: true
573
+ }
574
+ );
575
+ const isMouseover = ref(false);
576
+ const onMouseover = () => {
577
+ isMouseover.value = true;
578
+ if (timeout) {
579
+ clearTimeout(timeout);
580
+ }
581
+ };
582
+ const onMouseleave = () => {
583
+ isMouseover.value = false;
584
+ if (props.autoClose > 0) {
585
+ timeout = setTimeout(close, props.autoClose);
586
+ }
587
+ };
588
+ const { hasIcon } = useComponentIcon(computed(() => props.icon));
589
+ const hasClass = useModifiers(
590
+ "vv-alert",
591
+ computed(() => props.modifiers),
592
+ computed(() => ({
593
+ "dismissable": props.autoClose > 0 || props.dismissable,
594
+ "auto-close": props.autoClose > 0,
595
+ "hover": isMouseover.value
596
+ }))
597
+ );
598
+ const hasStyle = computed(() => ({
599
+ "--alert-duration": `${props.autoClose}ms`
600
+ }));
601
+ return {
602
+ close,
603
+ hasIcon,
604
+ hasTitleId,
605
+ hasProps: computed(() => ({
606
+ onMouseover,
607
+ onMouseleave,
608
+ "class": hasClass.value,
609
+ "style": hasStyle.value,
610
+ "role": props.role,
611
+ "aria-labelledby": hasTitleId.value
612
+ }))
613
+ };
614
+ }
615
+ const VvIconPropsDefaults = {
616
+ prefix: "normal"
617
+ /* normal */
618
+ };
479
619
  function useVolver() {
480
620
  return inject(INJECTION_KEY_VOLVER);
481
621
  }
@@ -484,12 +624,29 @@ const __default__$2 = {
484
624
  };
485
625
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
486
626
  ...__default__$2,
487
- props: VvIconProps,
627
+ props: /* @__PURE__ */ mergeDefaults({
628
+ name: {},
629
+ color: {},
630
+ width: {},
631
+ height: {},
632
+ provider: {},
633
+ prefix: {},
634
+ src: {},
635
+ horizontalFlip: { type: Boolean },
636
+ verticalFlip: { type: Boolean },
637
+ flip: {},
638
+ mode: {},
639
+ inline: { type: Boolean },
640
+ rotate: {},
641
+ onLoad: { type: Function },
642
+ svg: {},
643
+ modifiers: {}
644
+ }, VvIconPropsDefaults),
488
645
  setup(__props) {
489
646
  const props = __props;
490
647
  const hasRotate = computed(() => {
491
648
  if (typeof props.rotate === "string") {
492
- return parseFloat(props.rotate);
649
+ return Number.parseFloat(props.rotate);
493
650
  }
494
651
  return props.rotate;
495
652
  });
@@ -571,170 +728,21 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
571
728
  color: _ctx.color,
572
729
  onLoad: _ctx.onLoad,
573
730
  icon: unref(icon)
574
- }), null, 16, ["class"])) : createCommentVNode("", true);
731
+ }), null, 16, ["class"])) : createCommentVNode("v-if", true);
575
732
  };
576
733
  }
577
734
  });
578
- function useInjectedAlertGroup() {
579
- return inject(INJECTION_KEY_ALERT_GROUP, {});
580
- }
581
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
582
- const VvAlertProps = {
583
- ...IdProps,
584
- ...ModifiersProps,
585
- ...IconProps,
586
- /**
587
- * The alert is dismissable
588
- * @default false
589
- * @type boolean
590
- */
591
- dismissable: {
592
- type: Boolean,
593
- default: false
594
- },
595
- /**
596
- * The alert auto close after the specified time in milliseconds
597
- * @default 0
598
- * @type number
599
- */
600
- autoClose: {
601
- type: Number,
602
- default: 0
603
- },
604
- /**
605
- * The alert close label
606
- * @default 'Close'
607
- * @type string
608
- */
609
- closeLabel: {
610
- type: String,
611
- default: "Close"
612
- },
613
- /**
614
- * The alert title
615
- * @default ''
616
- * @type string
617
- */
618
- title: {
619
- type: String,
620
- default: void 0
621
- },
622
- /**
623
- * The alert content
624
- * @default ''
625
- * @type string
626
- */
627
- content: {
628
- type: String,
629
- default: void 0
630
- },
631
- /**
632
- * The alert footer
633
- * @default ''
634
- * @type string
635
- */
636
- footer: {
637
- type: String,
638
- default: void 0
639
- },
640
- /**
641
- * The alert role
642
- * @default 'alert'
643
- * @type string
644
- * @values 'alert', 'alertdialog'
645
- * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Alert_Role
646
- * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Alertdialog_role
647
- */
648
- role: {
649
- type: String,
650
- default: "alert"
651
- }
652
- };
653
- const VvAlertEvents = ["close"];
654
- const useVvAlert = (props, emit) => {
655
- const { bus } = useInjectedAlertGroup();
656
- const hasId = useUniqueId(computed(() => props.id));
657
- const hasTitleId = computed(() => `${hasId.value}-title`);
658
- const hasIcon = computed(
659
- () => typeof props.icon === "string" ? { name: props.icon } : props.icon
660
- );
661
- const hasClass = useModifiers(
662
- "vv-alert",
663
- computed(() => props.modifiers),
664
- computed(() => ({
665
- dismissable: props.autoClose > 0 || props.dismissable,
666
- "auto-close": props.autoClose > 0,
667
- hover: isMouseover.value
668
- }))
669
- );
670
- const hasStyle = computed(() => ({
671
- "--alert-duration": `${props.autoClose}ms`
672
- }));
673
- const close = () => {
674
- if (timeout) {
675
- clearTimeout(timeout);
676
- }
677
- emit("close", hasId.value);
678
- bus == null ? void 0 : bus.emit("close", hasId.value);
679
- };
680
- let timeout;
681
- watch(
682
- () => props.autoClose,
683
- (value) => {
684
- if (value > 0) {
685
- timeout = setTimeout(close, value);
686
- return;
687
- }
688
- if (timeout) {
689
- clearTimeout(timeout);
690
- }
691
- },
692
- {
693
- immediate: true
694
- }
695
- );
696
- const isMouseover = ref(false);
697
- const onMouseover = withModifiers(() => {
698
- isMouseover.value = true;
699
- if (timeout) {
700
- clearTimeout(timeout);
701
- }
702
- }, ["passive"]);
703
- const onMouseleave = withModifiers(() => {
704
- isMouseover.value = false;
705
- if (props.autoClose > 0) {
706
- timeout = setTimeout(close, props.autoClose);
707
- }
708
- }, ["passive"]);
709
- return {
710
- close,
711
- hasIcon,
712
- hasTitleId,
713
- hasProps: computed(() => ({
714
- onMouseover,
715
- onMouseleave,
716
- class: hasClass.value,
717
- style: hasStyle.value,
718
- role: props.role,
719
- "aria-labelledby": hasTitleId.value
720
- }))
721
- };
722
- };
723
735
  const _hoisted_1 = {
724
736
  key: 0,
725
737
  class: "vv-alert__header"
726
738
  };
727
739
  const _hoisted_2 = ["id"];
728
740
  const _hoisted_3 = ["aria-label"];
729
- const _hoisted_4 = /* @__PURE__ */ createElementVNode("div", { class: "vv-alert__close-mask" }, null, -1);
730
- const _hoisted_5 = [
731
- _hoisted_4
732
- ];
733
- const _hoisted_6 = {
741
+ const _hoisted_4 = {
734
742
  key: 1,
735
743
  class: "vv-alert__content"
736
744
  };
737
- const _hoisted_7 = {
745
+ const _hoisted_5 = {
738
746
  key: 2,
739
747
  class: "vv-alert__footer"
740
748
  };
@@ -745,52 +753,85 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
745
753
  ...__default__$1,
746
754
  props: VvAlertProps,
747
755
  emits: VvAlertEvents,
748
- setup(__props, { expose: __expose, emit }) {
756
+ setup(__props, { expose: __expose, emit: __emit }) {
749
757
  const props = __props;
758
+ const emit = __emit;
750
759
  const { hasProps, hasTitleId, hasIcon, close } = useVvAlert(props, emit);
751
760
  __expose({ close });
752
761
  return (_ctx, _cache) => {
753
- return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(unref(hasProps))), [
754
- _ctx.$slots.header || _ctx.$slots.title || _ctx.$slots.close || _ctx.$slots["title::before"] || _ctx.$slots["title::after"] || _ctx.title || _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("div", _hoisted_1, [
755
- unref(hasIcon) ? (openBlock(), createBlock(_sfc_main$2, mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }), null, 16)) : createCommentVNode("", true),
756
- renderSlot(_ctx.$slots, "header", {}, () => [
757
- renderSlot(_ctx.$slots, "title::before"),
758
- _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("strong", {
759
- key: 0,
760
- id: unref(hasTitleId),
761
- class: "vv-alert__title"
762
- }, [
763
- renderSlot(_ctx.$slots, "title", {}, () => [
764
- createTextVNode(toDisplayString(_ctx.title), 1)
765
- ])
766
- ], 8, _hoisted_2)) : createCommentVNode("", true),
767
- renderSlot(_ctx.$slots, "title::after")
768
- ]),
769
- renderSlot(_ctx.$slots, "close", normalizeProps(guardReactiveProps({ close: unref(close) })), () => [
770
- _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("button", {
771
- key: 0,
772
- class: "vv-alert__close",
773
- type: "button",
774
- "aria-label": _ctx.closeLabel,
775
- onClick: _cache[0] || (_cache[0] = withModifiers(
776
- //@ts-ignore
777
- (...args) => unref(close) && unref(close)(...args),
778
- ["stop"]
779
- ))
780
- }, _hoisted_5, 8, _hoisted_3)) : createCommentVNode("", true)
781
- ])
782
- ])) : createCommentVNode("", true),
783
- _ctx.$slots.default || _ctx.content ? (openBlock(), createElementBlock("div", _hoisted_6, [
784
- renderSlot(_ctx.$slots, "default", {}, () => [
785
- createTextVNode(toDisplayString(_ctx.content), 1)
786
- ])
787
- ])) : createCommentVNode("", true),
788
- _ctx.$slots.footer || _ctx.footer ? (openBlock(), createElementBlock("div", _hoisted_7, [
789
- renderSlot(_ctx.$slots, "footer", {}, () => [
790
- createTextVNode(toDisplayString(_ctx.footer), 1)
791
- ])
792
- ])) : createCommentVNode("", true)
793
- ], 16);
762
+ return openBlock(), createElementBlock(
763
+ "div",
764
+ normalizeProps(guardReactiveProps(unref(hasProps))),
765
+ [
766
+ _ctx.$slots.header || _ctx.$slots.title || _ctx.$slots.close || _ctx.$slots["title::before"] || _ctx.$slots["title::after"] || _ctx.title || _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("div", _hoisted_1, [
767
+ unref(hasIcon) ? (openBlock(), createBlock(
768
+ _sfc_main$2,
769
+ mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }),
770
+ null,
771
+ 16
772
+ /* FULL_PROPS */
773
+ )) : createCommentVNode("v-if", true),
774
+ renderSlot(_ctx.$slots, "header", {}, () => [
775
+ renderSlot(_ctx.$slots, "title::before"),
776
+ _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("strong", {
777
+ key: 0,
778
+ id: unref(hasTitleId),
779
+ class: "vv-alert__title"
780
+ }, [
781
+ renderSlot(_ctx.$slots, "title", {}, () => [
782
+ createTextVNode(
783
+ toDisplayString(_ctx.title),
784
+ 1
785
+ /* TEXT */
786
+ )
787
+ ])
788
+ ], 8, _hoisted_2)) : createCommentVNode("v-if", true),
789
+ renderSlot(_ctx.$slots, "title::after")
790
+ ]),
791
+ renderSlot(_ctx.$slots, "close", normalizeProps(guardReactiveProps({ close: unref(close) })), () => [
792
+ _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("button", {
793
+ key: 0,
794
+ class: "vv-alert__close",
795
+ type: "button",
796
+ "aria-label": _ctx.closeLabel,
797
+ onClick: _cache[0] || (_cache[0] = withModifiers(
798
+ //@ts-ignore
799
+ (...args) => unref(close) && unref(close)(...args),
800
+ ["stop"]
801
+ ))
802
+ }, _cache[1] || (_cache[1] = [
803
+ createElementVNode(
804
+ "div",
805
+ { class: "vv-alert__close-mask" },
806
+ null,
807
+ -1
808
+ /* HOISTED */
809
+ )
810
+ ]), 8, _hoisted_3)) : createCommentVNode("v-if", true)
811
+ ])
812
+ ])) : createCommentVNode("v-if", true),
813
+ _ctx.$slots.default || _ctx.content ? (openBlock(), createElementBlock("div", _hoisted_4, [
814
+ renderSlot(_ctx.$slots, "default", {}, () => [
815
+ createTextVNode(
816
+ toDisplayString(_ctx.content),
817
+ 1
818
+ /* TEXT */
819
+ )
820
+ ])
821
+ ])) : createCommentVNode("v-if", true),
822
+ _ctx.$slots.footer || _ctx.footer ? (openBlock(), createElementBlock("div", _hoisted_5, [
823
+ renderSlot(_ctx.$slots, "footer", {}, () => [
824
+ createTextVNode(
825
+ toDisplayString(_ctx.footer),
826
+ 1
827
+ /* TEXT */
828
+ )
829
+ ])
830
+ ])) : createCommentVNode("v-if", true)
831
+ ],
832
+ 16
833
+ /* FULL_PROPS */
834
+ );
794
835
  };
795
836
  }
796
837
  });
@@ -801,57 +842,77 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
801
842
  ...__default__,
802
843
  props: VvAlertGroupProps,
803
844
  emits: VvAlertGroupEvents,
804
- setup(__props, { emit }) {
845
+ setup(__props, { emit: __emit }) {
805
846
  const props = __props;
847
+ const emit = __emit;
806
848
  const { hasProps, hasTransition } = useVvAlertGroup(props, emit);
807
849
  const alertGroupTransitionHandlers = {
808
850
  "before-enter": () => {
809
- emit("before-enter");
851
+ emit("beforeEnter");
810
852
  },
811
853
  "after-leave": () => {
812
- emit("after-leave");
854
+ emit("afterLeave");
813
855
  },
814
- enter: () => {
856
+ "enter": () => {
815
857
  emit("enter");
816
858
  },
817
859
  "after-enter": () => {
818
- emit("after-enter");
860
+ emit("afterEnter");
819
861
  },
820
862
  "enter-cancelled": () => {
821
- emit("enter-cancelled");
863
+ emit("enterCancelled");
822
864
  },
823
865
  "before-leave": () => {
824
- emit("before-leave");
866
+ emit("beforeLeave");
825
867
  },
826
- leave: () => {
868
+ "leave": () => {
827
869
  emit("leave");
828
870
  },
829
871
  "leave-cancelled": () => {
830
- emit("leave-cancelled");
872
+ emit("leaveCancelled");
831
873
  }
832
874
  };
833
875
  return (_ctx, _cache) => {
834
- return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(unref(hasProps))), [
835
- renderSlot(_ctx.$slots, "before"),
836
- createVNode(TransitionGroup, mergeProps({
837
- tag: "div",
838
- role: "group",
839
- name: unref(hasTransition),
840
- class: "vv-alert-group__list"
841
- }, toHandlers(alertGroupTransitionHandlers)), {
842
- default: withCtx(() => [
843
- renderSlot(_ctx.$slots, "default", {}, () => [
844
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
845
- return openBlock(), createBlock(_sfc_main$1, mergeProps(item, {
846
- key: item.id
847
- }), null, 16);
848
- }), 128))
849
- ])
850
- ]),
851
- _: 3
852
- }, 16, ["name"]),
853
- renderSlot(_ctx.$slots, "after")
854
- ], 16);
876
+ return openBlock(), createElementBlock(
877
+ "div",
878
+ normalizeProps(guardReactiveProps(unref(hasProps))),
879
+ [
880
+ renderSlot(_ctx.$slots, "before"),
881
+ createVNode(TransitionGroup, mergeProps({
882
+ tag: "div",
883
+ role: "group",
884
+ name: unref(hasTransition),
885
+ class: "vv-alert-group__list"
886
+ }, toHandlers(alertGroupTransitionHandlers)), {
887
+ default: withCtx(() => [
888
+ renderSlot(_ctx.$slots, "default", {}, () => [
889
+ (openBlock(true), createElementBlock(
890
+ Fragment,
891
+ null,
892
+ renderList(_ctx.items, (item) => {
893
+ return openBlock(), createBlock(
894
+ _sfc_main$1,
895
+ mergeProps({ ref_for: true }, item, {
896
+ key: item.id
897
+ }),
898
+ null,
899
+ 16
900
+ /* FULL_PROPS */
901
+ );
902
+ }),
903
+ 128
904
+ /* KEYED_FRAGMENT */
905
+ ))
906
+ ])
907
+ ]),
908
+ _: 3
909
+ /* FORWARDED */
910
+ }, 16, ["name"]),
911
+ renderSlot(_ctx.$slots, "after")
912
+ ],
913
+ 16
914
+ /* FULL_PROPS */
915
+ );
855
916
  };
856
917
  }
857
918
  });