@volverjs/ui-vue 0.0.10-beta.3 → 0.0.10-beta.31

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 (294) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +106 -10
  3. package/auto-imports.d.ts +7 -2
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +22 -15
  6. package/dist/Volver.d.ts +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -103
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +160 -8
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +451 -172
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +58 -13
  14. package/dist/components/VvAccordionGroup/index.d.ts +14 -6
  15. package/dist/components/VvAction/VvAction.es.js +78 -27
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +57 -22
  18. package/dist/components/VvAction/index.d.ts +25 -9
  19. package/dist/components/VvAlert/VvAlert.es.js +204 -171
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +24 -14
  22. package/dist/components/VvAlert/index.d.ts +17 -9
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +250 -188
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +16 -9
  26. package/dist/components/VvAlertGroup/index.d.ts +6 -14
  27. package/dist/components/VvAvatar/VvAvatar.es.js +61 -21
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +12 -4
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +118 -48
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +10 -3
  34. package/dist/components/VvAvatarGroup/index.d.ts +4 -1
  35. package/dist/components/VvBadge/VvBadge.es.js +78 -28
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -4
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +276 -60
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +27 -7
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +291 -252
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +94 -40
  46. package/dist/components/VvButton/index.d.ts +51 -29
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +81 -40
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +24 -11
  50. package/dist/components/VvButtonGroup/index.d.ts +8 -2
  51. package/dist/components/VvCard/VvCard.es.js +86 -36
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +12 -4
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -120
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -33
  58. package/dist/components/VvCheckbox/index.d.ts +47 -14
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -107
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +101 -30
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +806 -581
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +171 -104
  66. package/dist/components/VvCombobox/index.d.ts +62 -26
  67. package/dist/components/VvDialog/VvDialog.es.js +140 -153
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
  70. package/dist/components/VvDropdown/VvDropdown.es.js +138 -71
  71. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  72. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +101 -75
  73. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +66 -25
  74. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  75. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
  76. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
  77. package/dist/components/VvDropdown/index.d.ts +52 -10
  78. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +152 -39
  79. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  80. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
  81. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  82. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  84. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  85. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  86. package/dist/components/VvIcon/VvIcon.es.js +23 -96
  87. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  88. package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
  89. package/dist/components/VvIcon/index.d.ts +33 -48
  90. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  91. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  92. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +359 -0
  93. package/dist/components/VvInputFile/index.d.ts +200 -0
  94. package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
  95. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
  96. package/dist/components/VvInputText/VvInputStepAction.d.ts +2 -2
  97. package/dist/components/VvInputText/VvInputText.es.js +1237 -324
  98. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  99. package/dist/components/VvInputText/VvInputText.vue.d.ts +207 -57
  100. package/dist/components/VvInputText/index.d.ts +99 -29
  101. package/dist/components/VvNav/VvNav.es.js +135 -56
  102. package/dist/components/VvNav/VvNav.umd.js +1 -1
  103. package/dist/components/VvNav/VvNav.vue.d.ts +32 -9
  104. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  105. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  106. package/dist/components/VvNav/index.d.ts +5 -2
  107. package/dist/components/VvNavItem/VvNavItem.es.js +91 -33
  108. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  109. package/dist/components/VvProgress/VvProgress.es.js +72 -26
  110. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  111. package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
  112. package/dist/components/VvProgress/index.d.ts +4 -1
  113. package/dist/components/VvRadio/VvRadio.es.js +160 -103
  114. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  115. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -31
  116. package/dist/components/VvRadio/index.d.ts +50 -17
  117. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -107
  118. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  119. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
  120. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  121. package/dist/components/VvSelect/VvSelect.es.js +251 -238
  122. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  123. package/dist/components/VvSelect/VvSelect.vue.d.ts +117 -44
  124. package/dist/components/VvSelect/index.d.ts +48 -14
  125. package/dist/components/VvTab/VvTab.es.js +191 -75
  126. package/dist/components/VvTab/VvTab.umd.js +1 -1
  127. package/dist/components/VvTab/VvTab.vue.d.ts +31 -7
  128. package/dist/components/VvTab/index.d.ts +4 -1
  129. package/dist/components/VvTextarea/VvTextarea.es.js +232 -224
  130. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  131. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +156 -49
  132. package/dist/components/VvTextarea/index.d.ts +68 -19
  133. package/dist/components/VvTooltip/VvTooltip.es.js +79 -29
  134. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  135. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +13 -6
  136. package/dist/components/VvTooltip/index.d.ts +5 -2
  137. package/dist/components/common/HintSlot.d.ts +1 -1
  138. package/dist/components/index.d.ts +10 -0
  139. package/dist/components/index.es.js +3534 -1650
  140. package/dist/components/index.umd.js +1 -1
  141. package/dist/composables/alert/useAlert.d.ts +99 -4
  142. package/dist/composables/alert/useInjectAlert.d.ts +1 -6
  143. package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
  144. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -4
  145. package/dist/composables/group/useInjectedGroupState.d.ts +4 -5
  146. package/dist/composables/group/useProvideGroupState.d.ts +3 -3
  147. package/dist/composables/index.d.ts +1 -0
  148. package/dist/composables/index.es.js +92 -3
  149. package/dist/composables/index.umd.js +1 -1
  150. package/dist/composables/useBlurhash.d.ts +7 -0
  151. package/dist/composables/useComponentIcon.d.ts +9 -8
  152. package/dist/composables/usePersistence.d.ts +2 -0
  153. package/dist/composables/useVolver.d.ts +1 -1
  154. package/dist/constants.d.ts +34 -32
  155. package/dist/directives/index.d.ts +3 -5
  156. package/dist/directives/index.es.js +99 -43
  157. package/dist/directives/index.umd.js +1 -1
  158. package/dist/directives/v-tooltip.es.js +97 -38
  159. package/dist/directives/v-tooltip.umd.js +1 -1
  160. package/dist/icons.es.js +267 -267
  161. package/dist/icons.umd.js +1 -1
  162. package/dist/index.d.ts +3 -1
  163. package/dist/index.es.js +90 -16
  164. package/dist/index.umd.js +1 -1
  165. package/dist/props/index.d.ts +272 -81
  166. package/dist/resolvers/unplugin.d.ts +6 -1
  167. package/dist/resolvers/unplugin.es.js +87 -10
  168. package/dist/resolvers/unplugin.umd.js +1 -1
  169. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +143 -89
  170. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1075 -492
  171. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  172. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  173. package/dist/stories/Button/Button.settings.d.ts +0 -1
  174. package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
  175. package/dist/stories/Icon/Icon.settings.d.ts +1 -0
  176. package/dist/stories/InputFile/InputFile.settings.d.ts +56 -0
  177. package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
  178. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  179. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  180. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  181. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  182. package/dist/test/expect.d.ts +1 -1
  183. package/dist/types/alert.d.ts +9 -7
  184. package/dist/types/blurhash.d.ts +12 -0
  185. package/dist/types/generic.d.ts +1 -2
  186. package/dist/types/group.d.ts +37 -15
  187. package/dist/types/index.d.ts +7 -0
  188. package/dist/types/input-file.d.ts +16 -0
  189. package/dist/types/nav.d.ts +2 -2
  190. package/dist/utils/ObjectUtilities.d.ts +0 -1
  191. package/dist/workers/blurhash.d.ts +1 -0
  192. package/package.json +78 -78
  193. package/src/Volver.ts +31 -20
  194. package/src/assets/icons/detailed.json +1 -1
  195. package/src/assets/icons/normal.json +1 -1
  196. package/src/assets/icons/simple.json +1 -1
  197. package/src/components/VvAccordion/VvAccordion.vue +121 -58
  198. package/src/components/VvAccordion/index.ts +8 -23
  199. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +164 -47
  200. package/src/components/VvAccordionGroup/index.ts +6 -6
  201. package/src/components/VvAction/VvAction.vue +17 -5
  202. package/src/components/VvAlert/index.ts +14 -9
  203. package/src/components/VvAlertGroup/index.ts +3 -15
  204. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  205. package/src/components/VvBreadcrumb/index.ts +2 -8
  206. package/src/components/VvButton/VvButton.vue +17 -7
  207. package/src/components/VvButton/index.ts +9 -16
  208. package/src/components/VvButtonGroup/VvButtonGroup.vue +1 -2
  209. package/src/components/VvCheckbox/index.ts +2 -2
  210. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +1 -2
  211. package/src/components/VvCombobox/VvCombobox.vue +15 -12
  212. package/src/components/VvCombobox/index.ts +4 -0
  213. package/src/components/VvDropdown/VvDropdown.vue +11 -2
  214. package/src/components/VvDropdown/VvDropdownItem.vue +4 -1
  215. package/src/components/VvDropdown/VvDropdownOption.vue +4 -21
  216. package/src/components/VvDropdown/index.ts +35 -1
  217. package/src/components/VvIcon/VvIcon.vue +2 -2
  218. package/src/components/VvIcon/index.ts +35 -48
  219. package/src/components/VvInputFile/VvInputFile.vue +395 -0
  220. package/src/components/VvInputFile/index.ts +135 -0
  221. package/src/components/VvInputText/VvInputClearAction.ts +10 -6
  222. package/src/components/VvInputText/VvInputPasswordAction.ts +13 -9
  223. package/src/components/VvInputText/VvInputText.vue +141 -33
  224. package/src/components/VvInputText/index.ts +31 -16
  225. package/src/components/VvNav/VvNav.vue +4 -2
  226. package/src/components/VvRadio/index.ts +5 -5
  227. package/src/components/VvRadioGroup/VvRadioGroup.vue +1 -2
  228. package/src/components/VvSelect/VvSelect.vue +5 -8
  229. package/src/components/VvTab/VvTab.vue +5 -1
  230. package/src/components/VvTextarea/VvTextarea.vue +6 -9
  231. package/src/components/index.ts +10 -0
  232. package/src/composables/alert/useAlert.ts +12 -9
  233. package/src/composables/dropdown/useProvideDropdown.ts +4 -4
  234. package/src/composables/group/useInjectedGroupState.ts +20 -16
  235. package/src/composables/group/useProvideGroupState.ts +10 -15
  236. package/src/composables/index.ts +1 -0
  237. package/src/composables/useBlurhash.ts +76 -0
  238. package/src/composables/useComponentIcon.ts +15 -14
  239. package/src/composables/usePersistence.ts +76 -0
  240. package/src/composables/useUniqueId.ts +2 -2
  241. package/src/constants.ts +47 -32
  242. package/src/directives/index.ts +3 -6
  243. package/src/directives/v-tooltip.ts +19 -10
  244. package/src/index.ts +3 -1
  245. package/src/props/index.ts +108 -31
  246. package/src/resolvers/unplugin.ts +24 -14
  247. package/src/stories/Accordion/Accordion.test.ts +1 -1
  248. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +2 -2
  249. package/src/stories/AccordionGroup/AccordionGroup.test.ts +17 -11
  250. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +1 -1
  251. package/src/stories/Alert/Alert.test.ts +1 -1
  252. package/src/stories/AlertGroup/AlertGroup.test.ts +1 -1
  253. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
  254. package/src/stories/Avatar/Avatar.test.ts +1 -1
  255. package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -1
  256. package/src/stories/Badge/Badge.test.ts +1 -1
  257. package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
  258. package/src/stories/Button/Button.settings.ts +1 -4
  259. package/src/stories/Button/Button.test.ts +1 -1
  260. package/src/stories/ButtonGroup/ButtonGroup.test.ts +1 -1
  261. package/src/stories/Card/Card.test.ts +1 -1
  262. package/src/stories/Checkbox/Checkbox.test.ts +1 -1
  263. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +1 -1
  264. package/src/stories/Combobox/Combobox.settings.ts +8 -0
  265. package/src/stories/Combobox/Combobox.test.ts +1 -1
  266. package/src/stories/Dialog/Dialog.test.ts +2 -2
  267. package/src/stories/Dropdown/Dropdown.test.ts +1 -1
  268. package/src/stories/Icon/Icon.settings.ts +3 -3
  269. package/src/stories/InputFile/InputFile.settings.ts +36 -0
  270. package/src/stories/InputFile/InputFile.stories.ts +89 -0
  271. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  272. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  273. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  274. package/src/stories/InputText/InputText.test.ts +1 -1
  275. package/src/stories/Nav/Nav.test.ts +1 -1
  276. package/src/stories/Progress/Progress.test.ts +1 -1
  277. package/src/stories/Radio/Radio.test.ts +1 -1
  278. package/src/stories/RadioGroup/RadioGroup.test.ts +1 -1
  279. package/src/stories/Select/Select.test.ts +1 -1
  280. package/src/stories/Tab/Tab.settings.ts +2 -2
  281. package/src/stories/Tab/Tab.test.ts +1 -1
  282. package/src/stories/Textarea/Textarea.test.ts +1 -1
  283. package/src/stories/Tooltip/Tooltip.test.ts +1 -1
  284. package/src/stories/argTypes.ts +1 -1
  285. package/src/test/expect.ts +2 -4
  286. package/src/types/alert.ts +11 -7
  287. package/src/types/blurhash.ts +21 -0
  288. package/src/types/generic.ts +3 -3
  289. package/src/types/group.ts +22 -14
  290. package/src/types/index.ts +7 -0
  291. package/src/types/input-file.ts +18 -0
  292. package/src/types/nav.ts +2 -3
  293. package/src/utils/ObjectUtilities.ts +0 -11
  294. package/src/workers/blurhash.ts +9 -0
@@ -1,18 +1,337 @@
1
1
  import { inject, provide, ref, defineComponent, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot } from "vue";
2
2
  import "mitt";
3
3
  import { useElementHover, useFocus, useFocusWithin } from "@vueuse/core";
4
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
5
+ StorageType2["local"] = "local";
6
+ StorageType2["session"] = "session";
7
+ return StorageType2;
8
+ })(StorageType || {});
9
+ var Strategy = /* @__PURE__ */ ((Strategy2) => {
10
+ Strategy2["absolute"] = "absolute";
11
+ Strategy2["fixed"] = "fixed";
12
+ return Strategy2;
13
+ })(Strategy || {});
14
+ var Side = /* @__PURE__ */ ((Side2) => {
15
+ Side2["left"] = "left";
16
+ Side2["right"] = "right";
17
+ Side2["top"] = "top";
18
+ Side2["bottom"] = "bottom";
19
+ return Side2;
20
+ })(Side || {});
21
+ var Placement = /* @__PURE__ */ ((Placement2) => {
22
+ Placement2["topStart"] = "top-start";
23
+ Placement2["topEnd"] = "top-end";
24
+ Placement2["bottomStart"] = "bottom-start";
25
+ Placement2["bottomEnd"] = "bottom-end";
26
+ Placement2["leftStart"] = "left-start";
27
+ Placement2["leftEnd"] = "left-end";
28
+ Placement2["rightStart"] = "right-start";
29
+ Placement2["rightEnd"] = "right-end";
30
+ return Placement2;
31
+ })(Placement || {});
32
+ var Position = /* @__PURE__ */ ((Position2) => {
33
+ Position2["before"] = "before";
34
+ Position2["after"] = "after";
35
+ return Position2;
36
+ })(Position || {});
37
+ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
38
+ ButtonType2["button"] = "button";
39
+ ButtonType2["submit"] = "submit";
40
+ ButtonType2["reset"] = "reset";
41
+ return ButtonType2;
42
+ })(ButtonType || {});
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 || {});
4
50
  var ActionRoles = /* @__PURE__ */ ((ActionRoles2) => {
5
51
  ActionRoles2["button"] = "button";
6
52
  ActionRoles2["link"] = "link";
7
53
  ActionRoles2["menuitem"] = "menuitem";
8
54
  return ActionRoles2;
9
55
  })(ActionRoles || {});
56
+ var DropdownRole = /* @__PURE__ */ ((DropdownRole2) => {
57
+ DropdownRole2["listbox"] = "listbox";
58
+ DropdownRole2["menu"] = "menu";
59
+ return DropdownRole2;
60
+ })(DropdownRole || {});
10
61
  const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
11
62
  "dropdownItem"
12
63
  );
13
64
  const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
14
65
  "dropdownAction"
15
66
  );
67
+ const LinkProps = {
68
+ /**
69
+ * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
70
+ * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
71
+ */
72
+ to: {
73
+ type: [String, Object]
74
+ },
75
+ /**
76
+ * Anchor href
77
+ */
78
+ href: String,
79
+ /**
80
+ * Anchor target
81
+ */
82
+ target: String,
83
+ /**
84
+ * Anchor rel
85
+ */
86
+ rel: {
87
+ type: String,
88
+ default: "noopener noreferrer"
89
+ }
90
+ };
91
+ const DisabledProps = {
92
+ /**
93
+ * Whether the form control is disabled
94
+ */
95
+ disabled: {
96
+ type: Boolean,
97
+ default: false
98
+ }
99
+ };
100
+ const ActiveProps = {
101
+ /**
102
+ * Whether the item is active
103
+ */
104
+ active: {
105
+ type: Boolean,
106
+ default: false
107
+ }
108
+ };
109
+ const CurrentProps = {
110
+ /**
111
+ * Whether the item is current
112
+ */
113
+ current: {
114
+ type: Boolean,
115
+ default: false
116
+ }
117
+ };
118
+ const PressedProps = {
119
+ /**
120
+ * Whether the item is pressed
121
+ */
122
+ pressed: {
123
+ type: Boolean,
124
+ default: false
125
+ }
126
+ };
127
+ const LabelProps = {
128
+ /**
129
+ * The item label
130
+ */
131
+ label: {
132
+ type: [String, Number],
133
+ default: void 0
134
+ }
135
+ };
136
+ const ModifiersProps = {
137
+ /**
138
+ * Component BEM modifiers
139
+ */
140
+ modifiers: {
141
+ type: [String, Array],
142
+ default: void 0
143
+ }
144
+ };
145
+ ({
146
+ /**
147
+ * VvIcon name or props
148
+ * @see VVIcon
149
+ */
150
+ icon: {
151
+ type: [String, Object],
152
+ default: void 0
153
+ },
154
+ /**
155
+ * VvIcon position
156
+ */
157
+ iconPosition: {
158
+ type: String,
159
+ default: Position.before,
160
+ validation: (value) => Object.values(Position).includes(value)
161
+ }
162
+ });
163
+ const IdProps = {
164
+ /**
165
+ * Global attribute id
166
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
167
+ */
168
+ id: [String, Number]
169
+ };
170
+ const DropdownProps = {
171
+ /**
172
+ * Dropdown placement
173
+ */
174
+ placement: {
175
+ type: String,
176
+ default: Side.bottom,
177
+ validator: (value) => Object.values(Side).includes(value) || Object.values(Placement).includes(value)
178
+ },
179
+ /**
180
+ * Dropdown strategy
181
+ */
182
+ strategy: {
183
+ type: String,
184
+ default: void 0,
185
+ validator: (value) => Object.values(Strategy).includes(value)
186
+ },
187
+ /**
188
+ * Dropdown show / hide transition name
189
+ */
190
+ transitionName: {
191
+ type: String,
192
+ default: void 0
193
+ },
194
+ /**
195
+ * Offset of the dropdown from the trigger
196
+ * @see https://floating-ui.com/docs/offset
197
+ */
198
+ offset: {
199
+ type: [Number, String, Object],
200
+ default: 0
201
+ },
202
+ /**
203
+ * Move dropdown to the side if there is no space in the default position
204
+ * @see https://floating-ui.com/docs/shift
205
+ */
206
+ shift: {
207
+ type: [Boolean, Object],
208
+ default: false
209
+ },
210
+ /**
211
+ * Flip dropdown position if there is no space in the default position
212
+ * @see https://floating-ui.com/docs/flip
213
+ */
214
+ flip: {
215
+ type: [Boolean, Object],
216
+ default: true
217
+ },
218
+ /**
219
+ * Size of the dropdown
220
+ * @see https://floating-ui.com/docs/size
221
+ */
222
+ size: {
223
+ type: [Boolean, Object],
224
+ default: () => ({ padding: 10 })
225
+ },
226
+ /**
227
+ * Automatically change the position of the dropdown
228
+ * @see https://floating-ui.com/docs/autoPlacement
229
+ */
230
+ autoPlacement: {
231
+ type: [Boolean, Object],
232
+ default: false
233
+ },
234
+ /**
235
+ * Add arrow to the dropdown
236
+ * @see https://floating-ui.com/docs/arrow
237
+ */
238
+ arrow: {
239
+ type: Boolean,
240
+ default: false
241
+ },
242
+ /**
243
+ * Keep open dropdown on click outside
244
+ */
245
+ keepOpen: {
246
+ type: Boolean,
247
+ default: false
248
+ },
249
+ /**
250
+ * Autofocus first item on dropdown open
251
+ */
252
+ autofocusFirst: {
253
+ type: Boolean,
254
+ default: true
255
+ },
256
+ /**
257
+ * Set dropdown width to the same as the trigger
258
+ */
259
+ triggerWidth: {
260
+ type: Boolean,
261
+ default: false
262
+ }
263
+ };
264
+ ({
265
+ ...DisabledProps,
266
+ ...LabelProps,
267
+ ...PressedProps,
268
+ ...ActiveProps,
269
+ ...CurrentProps,
270
+ ...LinkProps,
271
+ /**
272
+ * Button type
273
+ */
274
+ type: {
275
+ type: String,
276
+ default: ButtonType.button,
277
+ validator: (value) => Object.values(ButtonType).includes(value)
278
+ },
279
+ /**
280
+ * Button aria-label
281
+ */
282
+ ariaLabel: {
283
+ type: String,
284
+ default: void 0
285
+ },
286
+ /**
287
+ * Default tag for the action
288
+ */
289
+ defaultTag: {
290
+ type: String,
291
+ default: ActionTag.button
292
+ }
293
+ });
294
+ ({
295
+ storageType: {
296
+ type: String,
297
+ default: StorageType.local,
298
+ validator: (value) => Object.values(StorageType).includes(value)
299
+ },
300
+ storageKey: String
301
+ });
302
+ ({
303
+ ...IdProps,
304
+ ...DropdownProps,
305
+ ...ModifiersProps,
306
+ /**
307
+ * Show / hide dropdown programmatically
308
+ */
309
+ modelValue: {
310
+ type: Boolean,
311
+ default: void 0
312
+ },
313
+ /**
314
+ * Dropdown trigger element
315
+ */
316
+ reference: {
317
+ type: Object,
318
+ default: null
319
+ },
320
+ /**
321
+ * Dropdown role
322
+ */
323
+ role: {
324
+ type: String,
325
+ default: DropdownRole.menu,
326
+ validator: (value) => Object.values(DropdownRole).includes(value)
327
+ }
328
+ });
329
+ const VvDropdownItemProps = {
330
+ focusOnHover: {
331
+ type: Boolean,
332
+ default: false
333
+ }
334
+ };
16
335
  function useInjectedDropdownItem() {
17
336
  return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
18
337
  }
@@ -29,7 +348,9 @@ const __default__ = {
29
348
  };
30
349
  const _sfc_main = /* @__PURE__ */ defineComponent({
31
350
  ...__default__,
351
+ props: VvDropdownItemProps,
32
352
  setup(__props) {
353
+ const props = __props;
33
354
  const { role, expanded } = useInjectedDropdownItem();
34
355
  const element = ref(null);
35
356
  useProvideDropdownAction({ expanded });
@@ -37,18 +358,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
358
  const { focused } = useFocus(element);
38
359
  const { focused: focusedWithin } = useFocusWithin(element);
39
360
  watch(hovered, (newValue) => {
40
- if (newValue) {
361
+ if (newValue && props.focusOnHover) {
41
362
  focused.value = true;
42
363
  }
43
364
  });
44
365
  return (_ctx, _cache) => {
45
- return openBlock(), createElementBlock("div", mergeProps({ role: unref(role) }, {
46
- ref_key: "element",
47
- ref: element,
48
- class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
49
- }), [
50
- renderSlot(_ctx.$slots, "default")
51
- ], 16);
366
+ return openBlock(), createElementBlock(
367
+ "div",
368
+ mergeProps({ role: unref(role) }, {
369
+ ref_key: "element",
370
+ ref: element,
371
+ class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
372
+ }),
373
+ [
374
+ renderSlot(_ctx.$slots, "default")
375
+ ],
376
+ 16
377
+ /* FULL_PROPS */
378
+ );
52
379
  };
53
380
  }
54
381
  });
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownItem=o(e.vue,null,e.core)}(this,(function(e,o,n){"use strict";var t=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(t||{});const u=Symbol.for("dropdownItem"),r=Symbol.for("dropdownAction");return e.defineComponent({name:"VvDropdownItem",setup(o){const{role:d,expanded:i}=e.inject(u,{}),l=e.ref(null);!function({expanded:o}){e.provide(r,{role:e.ref(t.menuitem),expanded:o})}({expanded:i});const f=n.useElementHover(l),{focused:s}=n.useFocus(l),{focused:c}=n.useFocusWithin(l);return e.watch(f,(e=>{e&&(s.value=!0)})),(o,n)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(d)},{ref_key:"element",ref:l,class:["vv-dropdown__item",{"focus-visible":e.unref(s)||e.unref(c)}]}),[e.renderSlot(o.$slots,"default")],16))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownItem=o(e.vue,null,e.core)}(this,(function(e,o,t){"use strict";var n=(e=>(e.local="local",e.session="session",e))(n||{}),r=(e=>(e.absolute="absolute",e.fixed="fixed",e))(r||{}),l=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(l||{}),u=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(u||{}),i=(e=>(e.before="before",e.after="after",e))(i||{}),s=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(s||{}),a=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(a||{}),d=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(d||{}),f=(e=>(e.listbox="listbox",e.menu="menu",e))(f||{});const m=Symbol.for("dropdownItem"),b=Symbol.for("dropdownAction");Boolean,Boolean,Boolean,Boolean;i.before;l.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;s.button,a.button,n.local,Boolean,f.menu;const c={focusOnHover:{type:Boolean,default:!1}};return e.defineComponent({name:"VvDropdownItem",props:c,setup(o){const n=o,{role:r,expanded:l}=e.inject(m,{}),u=e.ref(null);!function({expanded:o}){e.provide(b,{role:e.ref(d.menuitem),expanded:o})}({expanded:l});const i=t.useElementHover(u),{focused:s}=t.useFocus(u),{focused:a}=t.useFocusWithin(u);return e.watch(i,(e=>{e&&n.focusOnHover&&(s.value=!0)})),(o,t)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(r)},{ref_key:"element",ref:u,class:["vv-dropdown__item",{"focus-visible":e.unref(s)||e.unref(a)}]}),[e.renderSlot(o.$slots,"default")],16))}})}));
@@ -1,4 +1,9 @@
1
1
  import { defineComponent, openBlock, createElementBlock, toDisplayString } from "vue";
2
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
3
+ StorageType2["local"] = "local";
4
+ StorageType2["session"] = "session";
5
+ return StorageType2;
6
+ })(StorageType || {});
2
7
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
3
8
  Strategy2["absolute"] = "absolute";
4
9
  Strategy2["fixed"] = "fixed";
@@ -33,13 +38,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
33
38
  ButtonType2["reset"] = "reset";
34
39
  return ButtonType2;
35
40
  })(ButtonType || {});
36
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
37
- AnchorTarget2["_blank"] = "_blank";
38
- AnchorTarget2["_self"] = "_self";
39
- AnchorTarget2["_parent"] = "_parent";
40
- AnchorTarget2["_top"] = "_top";
41
- return AnchorTarget2;
42
- })(AnchorTarget || {});
41
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
42
+ ActionTag2["nuxtLink"] = "nuxt-link";
43
+ ActionTag2["routerLink"] = "router-link";
44
+ ActionTag2["a"] = "a";
45
+ ActionTag2["button"] = "button";
46
+ return ActionTag2;
47
+ })(ActionTag || {});
43
48
  const LinkProps = {
44
49
  /**
45
50
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
@@ -55,10 +60,7 @@ const LinkProps = {
55
60
  /**
56
61
  * Anchor target
57
62
  */
58
- target: {
59
- type: String,
60
- validator: (value) => Object.values(AnchorTarget).includes(value)
61
- },
63
+ target: String,
62
64
  /**
63
65
  * Anchor rel
64
66
  */
@@ -71,38 +73,56 @@ const DisabledProps = {
71
73
  /**
72
74
  * Whether the form control is disabled
73
75
  */
74
- disabled: Boolean
76
+ disabled: {
77
+ type: Boolean,
78
+ default: false
79
+ }
75
80
  };
76
81
  const ActiveProps = {
77
82
  /**
78
83
  * Whether the item is active
79
84
  */
80
- active: Boolean
85
+ active: {
86
+ type: Boolean,
87
+ default: false
88
+ }
81
89
  };
82
90
  const CurrentProps = {
83
91
  /**
84
92
  * Whether the item is current
85
93
  */
86
- current: Boolean
94
+ current: {
95
+ type: Boolean,
96
+ default: false
97
+ }
87
98
  };
88
99
  const PressedProps = {
89
100
  /**
90
101
  * Whether the item is pressed
91
102
  */
92
- pressed: Boolean
103
+ pressed: {
104
+ type: Boolean,
105
+ default: false
106
+ }
93
107
  };
94
108
  const LabelProps = {
95
109
  /**
96
110
  * The item label
97
111
  */
98
- label: [String, Number]
112
+ label: {
113
+ type: [String, Number],
114
+ default: void 0
115
+ }
99
116
  };
100
117
  ({
101
118
  /**
102
119
  * VvIcon name or props
103
120
  * @see VVIcon
104
121
  */
105
- icon: { type: [String, Object] },
122
+ icon: {
123
+ type: [String, Object],
124
+ default: void 0
125
+ },
106
126
  /**
107
127
  * VvIcon position
108
128
  */
@@ -133,7 +153,8 @@ const LabelProps = {
133
153
  * Dropdown show / hide transition name
134
154
  */
135
155
  transitionName: {
136
- type: String
156
+ type: String,
157
+ default: void 0
137
158
  },
138
159
  /**
139
160
  * Offset of the dropdown from the trigger
@@ -201,7 +222,8 @@ const LabelProps = {
201
222
  * Set dropdown width to the same as the trigger
202
223
  */
203
224
  triggerWidth: {
204
- type: Boolean
225
+ type: Boolean,
226
+ default: false
205
227
  }
206
228
  });
207
229
  ({
@@ -225,8 +247,23 @@ const LabelProps = {
225
247
  ariaLabel: {
226
248
  type: String,
227
249
  default: void 0
250
+ },
251
+ /**
252
+ * Default tag for the action
253
+ */
254
+ defaultTag: {
255
+ type: String,
256
+ default: ActionTag.button
228
257
  }
229
258
  });
259
+ ({
260
+ storageType: {
261
+ type: String,
262
+ default: StorageType.local,
263
+ validator: (value) => Object.values(StorageType).includes(value)
264
+ },
265
+ storageKey: String
266
+ });
230
267
  const _hoisted_1 = {
231
268
  class: "vv-dropdown-optgroup",
232
269
  role: "presentation",
@@ -243,7 +280,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
243
280
  setup(__props) {
244
281
  const props = __props;
245
282
  return (_ctx, _cache) => {
246
- return openBlock(), createElementBlock("li", _hoisted_1, toDisplayString(props.label), 1);
283
+ return openBlock(), createElementBlock(
284
+ "li",
285
+ _hoisted_1,
286
+ toDisplayString(props.label),
287
+ 1
288
+ /* TEXT */
289
+ );
247
290
  };
248
291
  }
249
292
  });
@@ -1 +1 @@
1
- !function(o,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define(["vue"],e):(o="undefined"!=typeof globalThis?globalThis:o||self).VvDropdownOptgroup=e(o.vue)}(this,(function(o){"use strict";var e=(o=>(o.left="left",o.right="right",o.top="top",o.bottom="bottom",o))(e||{}),t=(o=>(o.before="before",o.after="after",o))(t||{}),n=(o=>(o.button="button",o.submit="submit",o.reset="reset",o))(n||{});Boolean,Boolean,Boolean,Boolean;const l={label:[String,Number]};t.before,e.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,n.button;const r={class:"vv-dropdown-optgroup",role:"presentation",tabindex:"-1"};return o.defineComponent({name:"VvDropdownOptgroup",props:{...l},setup(e){const t=e;return(e,n)=>(o.openBlock(),o.createElementBlock("li",r,o.toDisplayString(t.label),1))}})}));
1
+ !function(o,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define(["vue"],e):(o="undefined"!=typeof globalThis?globalThis:o||self).VvDropdownOptgroup=e(o.vue)}(this,(function(o){"use strict";var e=(o=>(o.local="local",o.session="session",o))(e||{}),t=(o=>(o.left="left",o.right="right",o.top="top",o.bottom="bottom",o))(t||{}),n=(o=>(o.before="before",o.after="after",o))(n||{}),l=(o=>(o.button="button",o.submit="submit",o.reset="reset",o))(l||{}),r=(o=>(o.nuxtLink="nuxt-link",o.routerLink="router-link",o.a="a",o.button="button",o))(r||{});Boolean,Boolean,Boolean,Boolean;const a={label:{type:[String,Number],default:void 0}};n.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,l.button,r.button,e.local;const u={class:"vv-dropdown-optgroup",role:"presentation",tabindex:"-1"};return o.defineComponent({name:"VvDropdownOptgroup",props:{...a},setup(e){const t=e;return(e,n)=>(o.openBlock(),o.createElementBlock("li",u,o.toDisplayString(t.label),1))}})}));