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

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 (472) 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/.storybook/main.d.ts +3 -0
  7. package/dist/.storybook/preview.d.ts +89 -0
  8. package/dist/components/VvAccordion/VvAccordion.es.js +192 -103
  9. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +451 -172
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  12. package/dist/components/VvAction/VvAction.es.js +78 -27
  13. package/dist/components/VvAction/VvAction.umd.js +1 -1
  14. package/dist/components/VvAlert/VvAlert.es.js +204 -171
  15. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  16. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +250 -188
  17. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  18. package/dist/components/VvAvatar/VvAvatar.es.js +61 -21
  19. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  20. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +118 -48
  21. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  22. package/dist/components/VvBadge/VvBadge.es.js +78 -28
  23. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  24. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +276 -60
  25. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  26. package/dist/components/VvButton/VvButton.es.js +291 -252
  27. package/dist/components/VvButton/VvButton.umd.js +1 -1
  28. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +81 -40
  29. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  30. package/dist/components/VvCard/VvCard.es.js +86 -36
  31. package/dist/components/VvCard/VvCard.umd.js +1 -1
  32. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -120
  33. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  34. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -107
  35. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  36. package/dist/components/VvCombobox/VvCombobox.es.js +806 -581
  37. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  38. package/dist/components/VvDialog/VvDialog.es.js +140 -153
  39. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  40. package/dist/components/VvDropdown/VvDropdown.es.js +138 -71
  41. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  42. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +152 -39
  43. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  44. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
  45. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  46. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  47. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  48. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  49. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  50. package/dist/components/VvIcon/VvIcon.es.js +23 -96
  51. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  52. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  53. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  54. package/dist/components/VvInputText/VvInputText.es.js +1237 -324
  55. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  56. package/dist/components/VvNav/VvNav.es.js +135 -56
  57. package/dist/components/VvNav/VvNav.umd.js +1 -1
  58. package/dist/components/VvNavItem/VvNavItem.es.js +91 -33
  59. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  60. package/dist/components/VvProgress/VvProgress.es.js +72 -26
  61. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  62. package/dist/components/VvRadio/VvRadio.es.js +160 -103
  63. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  64. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -107
  65. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  66. package/dist/components/VvSelect/VvSelect.es.js +251 -238
  67. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  68. package/dist/components/VvTab/VvTab.es.js +191 -75
  69. package/dist/components/VvTab/VvTab.umd.js +1 -1
  70. package/dist/components/VvTextarea/VvTextarea.es.js +232 -224
  71. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  72. package/dist/components/VvTooltip/VvTooltip.es.js +79 -29
  73. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  74. package/dist/components/index.es.js +3534 -1650
  75. package/dist/components/index.umd.js +1 -1
  76. package/dist/composables/index.es.js +92 -3
  77. package/dist/composables/index.umd.js +1 -1
  78. package/dist/directives/index.es.js +99 -43
  79. package/dist/directives/index.umd.js +1 -1
  80. package/dist/directives/v-tooltip.es.js +97 -38
  81. package/dist/directives/v-tooltip.umd.js +1 -1
  82. package/dist/icons.es.js +267 -267
  83. package/dist/icons.umd.js +1 -1
  84. package/dist/index.es.js +90 -16
  85. package/dist/index.umd.js +1 -1
  86. package/dist/resolvers/unplugin.es.js +87 -10
  87. package/dist/resolvers/unplugin.umd.js +1 -1
  88. package/dist/src/components/VvAccordion/VvAccordion.vue.d.ts +194 -0
  89. package/dist/{components → src/components}/VvAccordion/index.d.ts +8 -9
  90. package/dist/src/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +92 -0
  91. package/dist/{components → src/components}/VvAccordionGroup/index.d.ts +14 -6
  92. package/dist/{components → src/components}/VvAction/VvAction.vue.d.ts +57 -22
  93. package/dist/{components → src/components}/VvAction/index.d.ts +25 -9
  94. package/dist/{components → src/components}/VvAlert/VvAlert.vue.d.ts +24 -14
  95. package/dist/{components → src/components}/VvAlert/index.d.ts +17 -9
  96. package/dist/{components → src/components}/VvAlertGroup/VvAlertGroup.vue.d.ts +16 -9
  97. package/dist/{components → src/components}/VvAlertGroup/index.d.ts +6 -14
  98. package/dist/src/components/VvAvatar/VvAvatar.vue.d.ts +23 -0
  99. package/dist/{components → src/components}/VvAvatar/index.d.ts +4 -1
  100. package/dist/{components → src/components}/VvAvatarGroup/VvAvatarGroup.vue.d.ts +10 -3
  101. package/dist/{components → src/components}/VvAvatarGroup/index.d.ts +4 -1
  102. package/dist/{components → src/components}/VvBadge/VvBadge.vue.d.ts +12 -4
  103. package/dist/src/components/VvBadge/index.d.ts +7 -0
  104. package/dist/src/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +38 -0
  105. package/dist/src/components/VvBreadcrumb/index.d.ts +8 -0
  106. package/dist/{components → src/components}/VvButton/VvButton.vue.d.ts +94 -40
  107. package/dist/{components → src/components}/VvButton/index.d.ts +51 -29
  108. package/dist/{components → src/components}/VvButtonGroup/VvButtonGroup.vue.d.ts +24 -11
  109. package/dist/{components → src/components}/VvButtonGroup/index.d.ts +8 -2
  110. package/dist/{components → src/components}/VvCard/VvCard.vue.d.ts +12 -4
  111. package/dist/src/components/VvCard/index.d.ts +7 -0
  112. package/dist/src/components/VvCheckbox/VvCheckbox.vue.d.ts +184 -0
  113. package/dist/{components → src/components}/VvCheckbox/index.d.ts +47 -14
  114. package/dist/{components → src/components}/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +101 -30
  115. package/dist/src/components/VvCheckboxGroup/index.d.ts +75 -0
  116. package/dist/{components → src/components}/VvCombobox/VvCombobox.vue.d.ts +171 -104
  117. package/dist/{components → src/components}/VvCombobox/index.d.ts +62 -26
  118. package/dist/{components → src/components}/VvDialog/VvDialog.vue.d.ts +4 -4
  119. package/dist/{components → src/components}/VvDropdown/VvDropdown.vue.d.ts +101 -75
  120. package/dist/src/components/VvDropdown/VvDropdownAction.vue.d.ts +114 -0
  121. package/dist/src/components/VvDropdown/VvDropdownItem.vue.d.ts +21 -0
  122. package/dist/src/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +14 -0
  123. package/dist/{components → src/components}/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
  124. package/dist/{components → src/components}/VvDropdown/index.d.ts +52 -10
  125. package/dist/src/components/VvIcon/VvIcon.vue.d.ts +26 -0
  126. package/dist/{components → src/components}/VvIcon/index.d.ts +33 -48
  127. package/dist/src/components/VvInputFile/VvInputFile.vue.d.ts +359 -0
  128. package/dist/src/components/VvInputFile/index.d.ts +200 -0
  129. package/dist/{components → src/components}/VvInputText/VvInputClearAction.d.ts +7 -5
  130. package/dist/{components → src/components}/VvInputText/VvInputPasswordAction.d.ts +10 -8
  131. package/dist/{components → src/components}/VvInputText/VvInputStepAction.d.ts +2 -2
  132. package/dist/{components → src/components}/VvInputText/VvInputText.vue.d.ts +207 -57
  133. package/dist/{components → src/components}/VvInputText/index.d.ts +99 -29
  134. package/dist/src/components/VvNav/VvNav.vue.d.ts +48 -0
  135. package/dist/{components → src/components}/VvNav/VvNavItem.vue.d.ts +1 -1
  136. package/dist/src/components/VvNav/VvNavSeparator.vue.d.ts +2 -0
  137. package/dist/src/components/VvNav/index.d.ts +11 -0
  138. package/dist/{components → src/components}/VvProgress/VvProgress.vue.d.ts +10 -3
  139. package/dist/{components → src/components}/VvProgress/index.d.ts +4 -1
  140. package/dist/src/components/VvRadio/VvRadio.vue.d.ts +176 -0
  141. package/dist/src/components/VvRadio/index.d.ts +80 -0
  142. package/dist/{components → src/components}/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
  143. package/dist/src/components/VvRadioGroup/index.d.ts +75 -0
  144. package/dist/{components → src/components}/VvSelect/VvSelect.vue.d.ts +117 -44
  145. package/dist/{components → src/components}/VvSelect/index.d.ts +48 -14
  146. package/dist/src/components/VvTab/VvTab.vue.d.ts +63 -0
  147. package/dist/{components → src/components}/VvTab/index.d.ts +4 -1
  148. package/dist/{components → src/components}/VvTextarea/VvTextarea.vue.d.ts +156 -49
  149. package/dist/{components → src/components}/VvTextarea/index.d.ts +68 -19
  150. package/dist/src/components/VvTooltip/VvTooltip.vue.d.ts +36 -0
  151. package/dist/{components → src/components}/VvTooltip/index.d.ts +5 -2
  152. package/dist/{components → src/components}/common/HintSlot.d.ts +1 -1
  153. package/dist/{components → src/components}/index.d.ts +10 -0
  154. package/dist/src/composables/alert/useAlert.d.ts +122 -0
  155. package/dist/src/composables/alert/useInjectAlert.d.ts +4 -0
  156. package/dist/src/composables/dropdown/useInjectDropdown.d.ts +12 -0
  157. package/dist/{composables → src/composables}/dropdown/useProvideDropdown.d.ts +3 -4
  158. package/dist/src/composables/group/useInjectedGroupState.d.ts +9 -0
  159. package/dist/src/composables/group/useProvideGroupState.d.ts +6 -0
  160. package/dist/{composables → src/composables}/index.d.ts +1 -0
  161. package/dist/src/composables/useBlurhash.d.ts +7 -0
  162. package/dist/src/composables/useComponentIcon.d.ts +11 -0
  163. package/dist/src/composables/usePersistence.d.ts +2 -0
  164. package/dist/src/composables/useVolver.d.ts +1 -0
  165. package/dist/{constants.d.ts → src/constants.d.ts} +34 -32
  166. package/dist/src/directives/index.d.ts +3 -0
  167. package/dist/{index.d.ts → src/index.d.ts} +3 -1
  168. package/dist/{props → src/props}/index.d.ts +272 -81
  169. package/dist/{resolvers → src/resolvers}/unplugin.d.ts +6 -1
  170. package/dist/src/stories/AccordionGroup/AccordionGroup.stories.d.ts +188 -0
  171. package/dist/src/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1262 -0
  172. package/dist/{stories → src/stories}/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  173. package/dist/src/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  174. package/dist/{stories → src/stories}/Button/Button.settings.d.ts +0 -1
  175. package/dist/{stories → src/stories}/Combobox/Combobox.settings.d.ts +8 -0
  176. package/dist/{stories → src/stories}/Icon/Icon.settings.d.ts +1 -0
  177. package/dist/src/stories/InputFile/InputFile.settings.d.ts +56 -0
  178. package/dist/src/stories/InputFile/InputFile.stories.d.ts +12 -0
  179. package/dist/src/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  180. package/dist/src/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  181. package/dist/src/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  182. package/dist/src/stories/Tab/Tab.settings.d.ts +4 -0
  183. package/dist/{test → src/test}/expect.d.ts +1 -1
  184. package/dist/src/types/alert.d.ts +15 -0
  185. package/dist/src/types/blurhash.d.ts +12 -0
  186. package/dist/{types → src/types}/generic.d.ts +1 -2
  187. package/dist/src/types/group.d.ts +59 -0
  188. package/dist/src/types/index.d.ts +7 -0
  189. package/dist/src/types/input-file.d.ts +16 -0
  190. package/dist/{types → src/types}/nav.d.ts +2 -2
  191. package/dist/{utils → src/utils}/ObjectUtilities.d.ts +0 -1
  192. package/dist/src/workers/blurhash.d.ts +1 -0
  193. package/package.json +78 -78
  194. package/src/Volver.ts +31 -20
  195. package/src/assets/icons/detailed.json +1 -1
  196. package/src/assets/icons/normal.json +1 -1
  197. package/src/assets/icons/simple.json +1 -1
  198. package/src/components/VvAccordion/VvAccordion.vue +121 -58
  199. package/src/components/VvAccordion/index.ts +8 -23
  200. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +164 -47
  201. package/src/components/VvAccordionGroup/index.ts +6 -6
  202. package/src/components/VvAction/VvAction.vue +17 -5
  203. package/src/components/VvAlert/index.ts +14 -9
  204. package/src/components/VvAlertGroup/index.ts +3 -15
  205. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  206. package/src/components/VvBreadcrumb/index.ts +2 -8
  207. package/src/components/VvButton/VvButton.vue +17 -7
  208. package/src/components/VvButton/index.ts +9 -16
  209. package/src/components/VvButtonGroup/VvButtonGroup.vue +1 -2
  210. package/src/components/VvCheckbox/index.ts +2 -2
  211. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +1 -2
  212. package/src/components/VvCombobox/VvCombobox.vue +15 -12
  213. package/src/components/VvCombobox/index.ts +4 -0
  214. package/src/components/VvDropdown/VvDropdown.vue +11 -2
  215. package/src/components/VvDropdown/VvDropdownItem.vue +4 -1
  216. package/src/components/VvDropdown/VvDropdownOption.vue +4 -21
  217. package/src/components/VvDropdown/index.ts +35 -1
  218. package/src/components/VvIcon/VvIcon.vue +2 -2
  219. package/src/components/VvIcon/index.ts +35 -48
  220. package/src/components/VvInputFile/VvInputFile.vue +395 -0
  221. package/src/components/VvInputFile/index.ts +135 -0
  222. package/src/components/VvInputText/VvInputClearAction.ts +10 -6
  223. package/src/components/VvInputText/VvInputPasswordAction.ts +13 -9
  224. package/src/components/VvInputText/VvInputText.vue +141 -33
  225. package/src/components/VvInputText/index.ts +31 -16
  226. package/src/components/VvNav/VvNav.vue +4 -2
  227. package/src/components/VvRadio/index.ts +5 -5
  228. package/src/components/VvRadioGroup/VvRadioGroup.vue +1 -2
  229. package/src/components/VvSelect/VvSelect.vue +5 -8
  230. package/src/components/VvTab/VvTab.vue +5 -1
  231. package/src/components/VvTextarea/VvTextarea.vue +6 -9
  232. package/src/components/index.ts +10 -0
  233. package/src/composables/alert/useAlert.ts +12 -9
  234. package/src/composables/dropdown/useProvideDropdown.ts +4 -4
  235. package/src/composables/group/useInjectedGroupState.ts +20 -16
  236. package/src/composables/group/useProvideGroupState.ts +10 -15
  237. package/src/composables/index.ts +1 -0
  238. package/src/composables/useBlurhash.ts +76 -0
  239. package/src/composables/useComponentIcon.ts +15 -14
  240. package/src/composables/usePersistence.ts +76 -0
  241. package/src/composables/useUniqueId.ts +2 -2
  242. package/src/constants.ts +47 -32
  243. package/src/directives/index.ts +3 -6
  244. package/src/directives/v-tooltip.ts +19 -10
  245. package/src/index.ts +3 -1
  246. package/src/props/index.ts +108 -31
  247. package/src/resolvers/unplugin.ts +24 -14
  248. package/src/stories/Accordion/Accordion.test.ts +1 -1
  249. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +2 -2
  250. package/src/stories/AccordionGroup/AccordionGroup.test.ts +17 -11
  251. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +1 -1
  252. package/src/stories/Alert/Alert.test.ts +1 -1
  253. package/src/stories/AlertGroup/AlertGroup.test.ts +1 -1
  254. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
  255. package/src/stories/Avatar/Avatar.test.ts +1 -1
  256. package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -1
  257. package/src/stories/Badge/Badge.test.ts +1 -1
  258. package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
  259. package/src/stories/Button/Button.settings.ts +1 -4
  260. package/src/stories/Button/Button.test.ts +1 -1
  261. package/src/stories/ButtonGroup/ButtonGroup.test.ts +1 -1
  262. package/src/stories/Card/Card.test.ts +1 -1
  263. package/src/stories/Checkbox/Checkbox.test.ts +1 -1
  264. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +1 -1
  265. package/src/stories/Combobox/Combobox.settings.ts +8 -0
  266. package/src/stories/Combobox/Combobox.test.ts +1 -1
  267. package/src/stories/Dialog/Dialog.test.ts +2 -2
  268. package/src/stories/Dropdown/Dropdown.test.ts +1 -1
  269. package/src/stories/Icon/Icon.settings.ts +3 -3
  270. package/src/stories/InputFile/InputFile.settings.ts +36 -0
  271. package/src/stories/InputFile/InputFile.stories.ts +89 -0
  272. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  273. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  274. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  275. package/src/stories/InputText/InputText.test.ts +1 -1
  276. package/src/stories/Nav/Nav.test.ts +1 -1
  277. package/src/stories/Progress/Progress.test.ts +1 -1
  278. package/src/stories/Radio/Radio.test.ts +1 -1
  279. package/src/stories/RadioGroup/RadioGroup.test.ts +1 -1
  280. package/src/stories/Select/Select.test.ts +1 -1
  281. package/src/stories/Tab/Tab.settings.ts +2 -2
  282. package/src/stories/Tab/Tab.test.ts +1 -1
  283. package/src/stories/Textarea/Textarea.test.ts +1 -1
  284. package/src/stories/Tooltip/Tooltip.test.ts +1 -1
  285. package/src/stories/argTypes.ts +1 -1
  286. package/src/test/expect.ts +2 -4
  287. package/src/types/alert.ts +11 -7
  288. package/src/types/blurhash.ts +21 -0
  289. package/src/types/generic.ts +3 -3
  290. package/src/types/group.ts +22 -14
  291. package/src/types/index.ts +7 -0
  292. package/src/types/input-file.ts +18 -0
  293. package/src/types/nav.ts +2 -3
  294. package/src/utils/ObjectUtilities.ts +0 -11
  295. package/src/workers/blurhash.ts +9 -0
  296. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +0 -42
  297. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +0 -47
  298. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +0 -15
  299. package/dist/components/VvBadge/index.d.ts +0 -4
  300. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +0 -18
  301. package/dist/components/VvBreadcrumb/index.d.ts +0 -12
  302. package/dist/components/VvCard/index.d.ts +0 -4
  303. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +0 -112
  304. package/dist/components/VvCheckboxGroup/index.d.ts +0 -42
  305. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +0 -73
  306. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +0 -9
  307. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +0 -6
  308. package/dist/components/VvIcon/VvIcon.vue.d.ts +0 -69
  309. package/dist/components/VvNav/VvNav.vue.d.ts +0 -25
  310. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +0 -2
  311. package/dist/components/VvNav/index.d.ts +0 -8
  312. package/dist/components/VvRadio/VvRadio.vue.d.ts +0 -104
  313. package/dist/components/VvRadio/index.d.ts +0 -47
  314. package/dist/components/VvRadioGroup/index.d.ts +0 -42
  315. package/dist/components/VvTab/VvTab.vue.d.ts +0 -39
  316. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +0 -29
  317. package/dist/composables/alert/useAlert.d.ts +0 -27
  318. package/dist/composables/alert/useInjectAlert.d.ts +0 -9
  319. package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
  320. package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
  321. package/dist/composables/group/useProvideGroupState.d.ts +0 -6
  322. package/dist/composables/useComponentIcon.d.ts +0 -10
  323. package/dist/composables/useVolver.d.ts +0 -1
  324. package/dist/directives/index.d.ts +0 -5
  325. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +0 -134
  326. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +0 -679
  327. package/dist/stories/Tab/Tab.settings.d.ts +0 -17
  328. package/dist/types/alert.d.ts +0 -13
  329. package/dist/types/group.d.ts +0 -37
  330. package/dist/{Volver.d.ts → src/Volver.d.ts} +1 -1
  331. /package/dist/{components → src/components}/VvDialog/index.d.ts +0 -0
  332. /package/dist/{components → src/components}/VvInputText/VvInputTextActions.d.ts +0 -0
  333. /package/dist/{composables → src/composables}/alert/useProvideAlert.d.ts +0 -0
  334. /package/dist/{composables → src/composables}/useComponentFocus.d.ts +0 -0
  335. /package/dist/{composables → src/composables}/useDebouncedInput.d.ts +0 -0
  336. /package/dist/{composables → src/composables}/useDefaults.d.ts +0 -0
  337. /package/dist/{composables → src/composables}/useModifiers.d.ts +0 -0
  338. /package/dist/{composables → src/composables}/useOptions.d.ts +0 -0
  339. /package/dist/{composables → src/composables}/useTextCount.d.ts +0 -0
  340. /package/dist/{composables → src/composables}/useUniqueId.d.ts +0 -0
  341. /package/dist/{directives → src/directives}/v-contextmenu.d.ts +0 -0
  342. /package/dist/{directives → src/directives}/v-tooltip.d.ts +0 -0
  343. /package/dist/{icons.d.ts → src/icons.d.ts} +0 -0
  344. /package/dist/{stories → src/stories}/Accordion/Accordion.settings.d.ts +0 -0
  345. /package/dist/{stories → src/stories}/Accordion/Accordion.stories.d.ts +0 -0
  346. /package/dist/{stories → src/stories}/Accordion/Accordion.test.d.ts +0 -0
  347. /package/dist/{stories → src/stories}/Accordion/AccordionSlots.stories.d.ts +0 -0
  348. /package/dist/{stories → src/stories}/AccordionGroup/AccordionGroup.settings.d.ts +0 -0
  349. /package/dist/{stories → src/stories}/AccordionGroup/AccordionGroup.test.d.ts +0 -0
  350. /package/dist/{stories → src/stories}/Alert/Alert.settings.d.ts +0 -0
  351. /package/dist/{stories → src/stories}/Alert/Alert.stories.d.ts +0 -0
  352. /package/dist/{stories → src/stories}/Alert/Alert.test.d.ts +0 -0
  353. /package/dist/{stories → src/stories}/Alert/AlertModifiers.stories.d.ts +0 -0
  354. /package/dist/{stories → src/stories}/Alert/AlertSlots.stories.d.ts +0 -0
  355. /package/dist/{stories → src/stories}/AlertGroup/AlertGroup.settings.d.ts +0 -0
  356. /package/dist/{stories → src/stories}/AlertGroup/AlertGroup.stories.d.ts +0 -0
  357. /package/dist/{stories → src/stories}/AlertGroup/AlertGroup.test.d.ts +0 -0
  358. /package/dist/{stories → src/stories}/AlertGroup/AlertGroupPosition.stories.d.ts +0 -0
  359. /package/dist/{stories → src/stories}/AlertGroup/AlertGroupSlots.stories.d.ts +0 -0
  360. /package/dist/{stories → src/stories}/Avatar/Avatar.settings.d.ts +0 -0
  361. /package/dist/{stories → src/stories}/Avatar/Avatar.stories.d.ts +0 -0
  362. /package/dist/{stories → src/stories}/Avatar/Avatar.test.d.ts +0 -0
  363. /package/dist/{stories → src/stories}/Avatar/AvatarBadge.stories.d.ts +0 -0
  364. /package/dist/{stories → src/stories}/Avatar/AvatarModifiers.stories.d.ts +0 -0
  365. /package/dist/{stories → src/stories}/Avatar/AvatarSlots.stories.d.ts +0 -0
  366. /package/dist/{stories → src/stories}/AvatarGroup/AvatarGroup.settings.d.ts +0 -0
  367. /package/dist/{stories → src/stories}/AvatarGroup/AvatarGroup.stories.d.ts +0 -0
  368. /package/dist/{stories → src/stories}/AvatarGroup/AvatarGroup.test.d.ts +0 -0
  369. /package/dist/{stories → src/stories}/AvatarGroup/AvatarGroupModifiers.stories.d.ts +0 -0
  370. /package/dist/{stories → src/stories}/AvatarGroup/AvatarGroupSlotDefault.stories.d.ts +0 -0
  371. /package/dist/{stories → src/stories}/Badge/Badge.settings.d.ts +0 -0
  372. /package/dist/{stories → src/stories}/Badge/Badge.stories.d.ts +0 -0
  373. /package/dist/{stories → src/stories}/Badge/Badge.test.d.ts +0 -0
  374. /package/dist/{stories → src/stories}/Badge/BadgeSlots.stories.d.ts +0 -0
  375. /package/dist/{stories → src/stories}/Breadcrumb/Breadcrumb.settings.d.ts +0 -0
  376. /package/dist/{stories → src/stories}/Breadcrumb/Breadcrumb.stories.d.ts +0 -0
  377. /package/dist/{stories → src/stories}/Breadcrumb/Breadcrumb.test.d.ts +0 -0
  378. /package/dist/{stories → src/stories}/Breadcrumb/BreadcrumbSlots.stories.d.ts +0 -0
  379. /package/dist/{stories → src/stories}/Button/Button.stories.d.ts +0 -0
  380. /package/dist/{stories → src/stories}/Button/Button.test.d.ts +0 -0
  381. /package/dist/{stories → src/stories}/Button/ButtonIcon.stories.d.ts +0 -0
  382. /package/dist/{stories → src/stories}/Button/ButtonLink.stories.d.ts +0 -0
  383. /package/dist/{stories → src/stories}/Button/ButtonLoading.stories.d.ts +0 -0
  384. /package/dist/{stories → src/stories}/Button/ButtonModifiers.stories.d.ts +0 -0
  385. /package/dist/{stories → src/stories}/Button/ButtonSlots.stories.d.ts +0 -0
  386. /package/dist/{stories → src/stories}/Button/ButtonState.stories.d.ts +0 -0
  387. /package/dist/{stories → src/stories}/Button/ButtonToggle.stories.d.ts +0 -0
  388. /package/dist/{stories → src/stories}/ButtonGroup/ButtonGroup.settings.d.ts +0 -0
  389. /package/dist/{stories → src/stories}/ButtonGroup/ButtonGroup.stories.d.ts +0 -0
  390. /package/dist/{stories → src/stories}/ButtonGroup/ButtonGroup.test.d.ts +0 -0
  391. /package/dist/{stories → src/stories}/ButtonGroup/ButtonGroupModifiers.stories.d.ts +0 -0
  392. /package/dist/{stories → src/stories}/ButtonGroup/ButtonGroupSlots.stories.d.ts +0 -0
  393. /package/dist/{stories → src/stories}/ButtonGroup/ButtonGroupToggle.stories.d.ts +0 -0
  394. /package/dist/{stories → src/stories}/Card/Card.settings.d.ts +0 -0
  395. /package/dist/{stories → src/stories}/Card/Card.stories.d.ts +0 -0
  396. /package/dist/{stories → src/stories}/Card/Card.test.d.ts +0 -0
  397. /package/dist/{stories → src/stories}/Card/CardSlots.stories.d.ts +0 -0
  398. /package/dist/{stories → src/stories}/Checkbox/Checkbox.settings.d.ts +0 -0
  399. /package/dist/{stories → src/stories}/Checkbox/Checkbox.stories.d.ts +0 -0
  400. /package/dist/{stories → src/stories}/Checkbox/Checkbox.test.d.ts +0 -0
  401. /package/dist/{stories → src/stories}/Checkbox/CheckboxBinary.stories.d.ts +0 -0
  402. /package/dist/{stories → src/stories}/Checkbox/CheckboxSlots.stories.d.ts +0 -0
  403. /package/dist/{stories → src/stories}/CheckboxGroup/CheckboxGroup.settings.d.ts +0 -0
  404. /package/dist/{stories → src/stories}/CheckboxGroup/CheckboxGroup.stories.d.ts +0 -0
  405. /package/dist/{stories → src/stories}/CheckboxGroup/CheckboxGroup.test.d.ts +0 -0
  406. /package/dist/{stories → src/stories}/CheckboxGroup/CheckboxGroupOptions.stories.d.ts +0 -0
  407. /package/dist/{stories → src/stories}/CheckboxGroup/CheckboxGroupSlots.stories.d.ts +0 -0
  408. /package/dist/{stories → src/stories}/Combobox/Combobox.stories.d.ts +0 -0
  409. /package/dist/{stories → src/stories}/Combobox/Combobox.test.d.ts +0 -0
  410. /package/dist/{stories → src/stories}/Combobox/ComboboxIconPosition.stories.d.ts +0 -0
  411. /package/dist/{stories → src/stories}/Combobox/ComboboxMultiple.stories.d.ts +0 -0
  412. /package/dist/{stories → src/stories}/Combobox/ComboboxOptions.stories.d.ts +0 -0
  413. /package/dist/{stories → src/stories}/Combobox/ComboboxSlots.stories.d.ts +0 -0
  414. /package/dist/{stories → src/stories}/Dialog/Dialog.settings.d.ts +0 -0
  415. /package/dist/{stories → src/stories}/Dialog/Dialog.stories.d.ts +0 -0
  416. /package/dist/{stories → src/stories}/Dialog/Dialog.test.d.ts +0 -0
  417. /package/dist/{stories → src/stories}/Dialog/DialogSlots.stories.d.ts +0 -0
  418. /package/dist/{stories → src/stories}/Dropdown/Dropdown.settings.d.ts +0 -0
  419. /package/dist/{stories → src/stories}/Dropdown/Dropdown.stories.d.ts +0 -0
  420. /package/dist/{stories → src/stories}/Dropdown/Dropdown.test.d.ts +0 -0
  421. /package/dist/{stories → src/stories}/Dropdown/DropdownContextmenuDirective.stories.d.ts +0 -0
  422. /package/dist/{stories → src/stories}/Dropdown/DropdownMultilevel.stories.d.ts +0 -0
  423. /package/dist/{stories → src/stories}/Dropdown/DropdownSlots.stories.d.ts +0 -0
  424. /package/dist/{stories → src/stories}/Icon/Icon.stories.d.ts +0 -0
  425. /package/dist/{stories → src/stories}/Icon/IconsCollection.stories.d.ts +0 -0
  426. /package/dist/{stories → src/stories}/InputText/InputText.settings.d.ts +0 -0
  427. /package/dist/{stories → src/stories}/InputText/InputText.stories.d.ts +0 -0
  428. /package/dist/{stories → src/stories}/InputText/InputText.test.d.ts +0 -0
  429. /package/dist/{stories → src/stories}/InputText/InputTextIconPosition.stories.d.ts +0 -0
  430. /package/dist/{stories → src/stories}/InputText/InputTextLength.stories.d.ts +0 -0
  431. /package/dist/{stories → src/stories}/InputText/InputTextMask.stories.d.ts +0 -0
  432. /package/dist/{stories → src/stories}/InputText/InputTextMinMax.stories.d.ts +0 -0
  433. /package/dist/{stories → src/stories}/InputText/InputTextSlots.stories.d.ts +0 -0
  434. /package/dist/{stories → src/stories}/InputText/InputTextType.stories.d.ts +0 -0
  435. /package/dist/{stories → src/stories}/Nav/Nav.settings.d.ts +0 -0
  436. /package/dist/{stories → src/stories}/Nav/Nav.stories.d.ts +0 -0
  437. /package/dist/{stories → src/stories}/Nav/Nav.test.d.ts +0 -0
  438. /package/dist/{stories → src/stories}/Nav/NavModifiers.stories.d.ts +0 -0
  439. /package/dist/{stories → src/stories}/Progress/Progress.settings.d.ts +0 -0
  440. /package/dist/{stories → src/stories}/Progress/Progress.stories.d.ts +0 -0
  441. /package/dist/{stories → src/stories}/Progress/Progress.test.d.ts +0 -0
  442. /package/dist/{stories → src/stories}/Radio/Radio.settings.d.ts +0 -0
  443. /package/dist/{stories → src/stories}/Radio/Radio.stories.d.ts +0 -0
  444. /package/dist/{stories → src/stories}/Radio/Radio.test.d.ts +0 -0
  445. /package/dist/{stories → src/stories}/Radio/RadioSlots.stories.d.ts +0 -0
  446. /package/dist/{stories → src/stories}/RadioGroup/RadioGroup.settings.d.ts +0 -0
  447. /package/dist/{stories → src/stories}/RadioGroup/RadioGroup.stories.d.ts +0 -0
  448. /package/dist/{stories → src/stories}/RadioGroup/RadioGroup.test.d.ts +0 -0
  449. /package/dist/{stories → src/stories}/RadioGroup/RadioGroupOptions.stories.d.ts +0 -0
  450. /package/dist/{stories → src/stories}/RadioGroup/RadioGroupSlots.stories.d.ts +0 -0
  451. /package/dist/{stories → src/stories}/Select/Select.settings.d.ts +0 -0
  452. /package/dist/{stories → src/stories}/Select/Select.stories.d.ts +0 -0
  453. /package/dist/{stories → src/stories}/Select/Select.test.d.ts +0 -0
  454. /package/dist/{stories → src/stories}/Select/SelectIconPosition.stories.d.ts +0 -0
  455. /package/dist/{stories → src/stories}/Select/SelectOptions.stories.d.ts +0 -0
  456. /package/dist/{stories → src/stories}/Select/SelectSlots.stories.d.ts +0 -0
  457. /package/dist/{stories → src/stories}/Tab/Tab.stories.d.ts +0 -0
  458. /package/dist/{stories → src/stories}/Tab/Tab.test.d.ts +0 -0
  459. /package/dist/{stories → src/stories}/Textarea/Textarea.settings.d.ts +0 -0
  460. /package/dist/{stories → src/stories}/Textarea/Textarea.stories.d.ts +0 -0
  461. /package/dist/{stories → src/stories}/Textarea/Textarea.test.d.ts +0 -0
  462. /package/dist/{stories → src/stories}/Textarea/TextareaLength.stories.d.ts +0 -0
  463. /package/dist/{stories → src/stories}/Textarea/TextareaSlots.stories.d.ts +0 -0
  464. /package/dist/{stories → src/stories}/Textarea/TextareatIconPosition.stories.d.ts +0 -0
  465. /package/dist/{stories → src/stories}/Tooltip/Tooltip.settings.d.ts +0 -0
  466. /package/dist/{stories → src/stories}/Tooltip/Tooltip.stories.d.ts +0 -0
  467. /package/dist/{stories → src/stories}/Tooltip/Tooltip.test.d.ts +0 -0
  468. /package/dist/{stories → src/stories}/Tooltip/TooltipDirective.stories.d.ts +0 -0
  469. /package/dist/{stories → src/stories}/argTypes.d.ts +0 -0
  470. /package/dist/{test → src/test}/options.d.ts +0 -0
  471. /package/dist/{test → src/test}/sleep.d.ts +0 -0
  472. /package/dist/{types → src/types}/floating-ui.d.ts +0 -0
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@iconify/vue"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDialog=o(e.vue,e.vue$1,e.core)}(this,(function(e,o,t){"use strict";const n={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}};var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{});const a=Symbol.for("volver");const c=e.defineComponent({name:"VvIcon",props:n,setup(t){const n=t,r=e.computed((()=>"string"==typeof n.rotate?parseFloat(n.rotate):n.rotate)),l=e.ref(!0),i=e.inject(a),{modifiers:c}=e.toRefs(n),s=function(o,t,n){return e.computed((()=>{const r={[o]:!0},l="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{r[`${o}--${t}`]=e.unref(n.value[t])})),r}))}("vv-icon",c),u=e.computed((()=>n.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=n.name??"",t=`@${u.value}:${n.prefix}:${e}`;if(o.iconExists(t))return t;const r=null==i?void 0:i.iconsCollections.find((t=>{const n=`@${u.value}:${t.prefix}:${e}`;return o.iconExists(n)}));return r?`@${u.value}:${r.prefix}:${e}`:e}));function v(e){const t=function(e){let o;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");o=(new e).window}return(o?new o.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),r=(null==t?void 0:t.innerHTML.trim())||"";t&&r&&o.addIcon(`@${u.value}:${n.prefix}:${n.name}`,{body:r,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&n.src&&!o.iconExists(`@${u.value}:${n.prefix}:${n.name}`)&&(l.value=!1,i.fetchIcon(n.src).then((e=>{e&&(v(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),n.svg&&v(n.svg),(t,n)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(s)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(r),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("",!0)}});Boolean,Boolean,Boolean,Boolean;l.before;const s={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,i.button;const u={...s,title:String,modelValue:{type:Boolean,default:void 0},transition:{type:String,default:"fade-block"},size:String,keepOpen:{type:Boolean,default:!1}},d=["onCancel"],v={key:0,class:"vv-dialog__header"},f={class:"vv-dialog__content"},p={key:1,class:"vv-dialog__footer"};return e.defineComponent({name:"VvDialog",props:u,emits:["open","close","update:modelValue","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(o,{expose:n,emit:r}){const l=o,i=e.ref(),a=t.useVModel(l,"modelValue",r),s=e.ref(!1),u=e.computed({get:()=>a.value??s.value,set:e=>{void 0!==a.value?a.value=e:s.value=e}}),m=e.ref(null),g=e.computed((()=>{const{id:e}=l;return{id:e}})),h=e.computed((()=>l.size?["vv-dialog",`vv-dialog--${l.size}`]:"vv-dialog")),b=e.computed((()=>`vv-dialog--${l.transition}`)),y={"before-enter":()=>{var e,o;(null==(e=i.value)?void 0:e.open)||null==(o=i.value)||o.showModal(),r("open"),r("before-enter")},"after-leave":()=>{var e,o;(null==(e=i.value)?void 0:e.open)&&(null==(o=i.value)||o.close()),r("close"),r("after-leave")},enter:()=>{r("enter")},"after-enter":()=>{r("after-enter")},"enter-cancelled":()=>{r("enter-cancelled")},"before-leave":()=>{r("before-leave")},leave:()=>{r("leave")},"leave-cancelled":()=>{r("leave-cancelled")}};function $(){u.value=!1}t.onClickOutside(m,(()=>{l.keepOpen||$()})),n({close:$,open:function(){u.value=!0}});const B=()=>{l.keepOpen||$()};return(o,t)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(b)},e.toHandlers(y)),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(g),{ref_key:"dialogEl",ref:i,class:e.unref(h),onCancel:e.withModifiers(B,["stop","prevent"])}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:m,class:"vv-dialog__wrapper"},[o.$slots.header||o.title?(e.openBlock(),e.createElementBlock("header",v,[e.renderSlot(o.$slots,"header",{},(()=>[e.createTextVNode(e.toDisplayString(o.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClickPassive:$},[e.createVNode(c,{name:"close"})],32)]))])):e.createCommentVNode("",!0),e.createElementVNode("div",f,[e.renderSlot(o.$slots,"default")]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",p,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16,d),[[e.vShow,e.unref(u)]])])),_:3},16,["name"]))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@iconify/vue"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDialog=o(e.vue,e.vue$1,e.core)}(this,(function(e,o,t){"use strict";const n={prefix:"normal"};var l=(e=>(e.local="local",e.session="session",e))(l||{}),r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),a=(e=>(e.before="before",e.after="after",e))(a||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),s=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(s||{});const c=Symbol.for("volver");const u=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},n),setup(t){const n=t,l=e.computed((()=>"string"==typeof n.rotate?parseFloat(n.rotate):n.rotate)),r=e.ref(!0),a=e.inject(c),{modifiers:i}=e.toRefs(n),s=function(o,t,n){return e.computed((()=>{const l={[o]:!0},r="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{l[`${o}--${t}`]=e.unref(n.value[t])})),l}))}("vv-icon",i),u=e.computed((()=>n.provider||(null==a?void 0:a.iconsProvider))),d=e.computed((()=>{const e=n.name??"",t=`@${u.value}:${n.prefix}:${e}`;if(o.iconExists(t))return t;const l=null==a?void 0:a.iconsCollections.find((t=>{const n=`@${u.value}:${t.prefix}:${e}`;return o.iconExists(n)}));return l?`@${u.value}:${l.prefix}:${e}`:e}));function v(e){const t=function(e){let o;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");o=(new e).window}return(o?new o.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),l=(null==t?void 0:t.innerHTML.trim())||"";t&&l&&o.addIcon(`@${u.value}:${n.prefix}:${n.name}`,{body:l,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return a&&n.src&&!o.iconExists(`@${u.value}:${n.prefix}:${n.name}`)&&(r.value=!1,a.fetchIcon(n.src).then((e=>{e&&(v(e),r.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),n.svg&&v(n.svg),(t,n)=>e.unref(r)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(s)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(l),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});Boolean,Boolean,Boolean,Boolean;a.before;const d={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,i.button,s.button,l.local;const v={...d,title:String,modelValue:{type:Boolean,default:void 0},transition:{type:String,default:"fade-block"},size:String,keepOpen:{type:Boolean,default:!1}},f={key:0,class:"vv-dialog__header"},p={class:"vv-dialog__content"},m={key:1,class:"vv-dialog__footer"};return e.defineComponent({name:"VvDialog",props:v,emits:["open","close","update:modelValue","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(o,{expose:n,emit:l}){const r=o,a=l,i=e.ref(),s=t.useVModel(r,"modelValue",a),c=e.ref(!1),d=e.computed({get:()=>s.value??c.value,set:e=>{void 0!==s.value?s.value=e:c.value=e}}),v=e.ref(null),g=e.computed((()=>{const{id:e}=r;return{id:e}})),h=e.computed((()=>r.size?["vv-dialog",`vv-dialog--${r.size}`]:"vv-dialog")),b=e.computed((()=>`vv-dialog--${r.transition}`)),y={"before-enter":()=>{var e,o;(null==(e=i.value)?void 0:e.open)||null==(o=i.value)||o.showModal(),a("open"),a("before-enter")},"after-leave":()=>{var e,o;(null==(e=i.value)?void 0:e.open)&&(null==(o=i.value)||o.close()),a("close"),a("after-leave")},enter:()=>{a("enter")},"after-enter":()=>{a("after-enter")},"enter-cancelled":()=>{a("enter-cancelled")},"before-leave":()=>{a("before-leave")},leave:()=>{a("leave")},"leave-cancelled":()=>{a("leave-cancelled")}};function $(){d.value=!1}t.onClickOutside(v,(()=>{r.keepOpen||$()})),n({close:$,open:function(){d.value=!0}});const B=()=>{r.keepOpen||$()};return(o,t)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(b)},e.toHandlers(y),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(g),{ref_key:"dialogEl",ref:i,class:e.unref(h),onCancel:e.withModifiers(B,["stop","prevent"])}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:v,class:"vv-dialog__wrapper"},[o.$slots.header||o.title?(e.openBlock(),e.createElementBlock("header",f,[e.renderSlot(o.$slots,"header",{},(()=>[e.createTextVNode(e.toDisplayString(o.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClickPassive:$},[e.createVNode(u,{name:"close"})],32)]))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",p,[e.renderSlot(o.$slots,"default")]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",m,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("v-if",!0)],512)],16),[[e.vShow,e.unref(d)]])])),_:3},16,["name"]))}})}));
@@ -1,8 +1,13 @@
1
1
  import { computed, defineComponent, provide, h, Fragment, unref, toRefs, useAttrs, ref, onMounted, watch, nextTick, openBlock, createElementBlock, createVNode, withCtx, renderSlot, normalizeProps, guardReactiveProps, Transition, mergeProps, toHandlers, withDirectives, createElementVNode, normalizeStyle, normalizeClass, createCommentVNode, vShow } from "vue";
2
2
  import { autoPlacement, flip, shift, size, offset, arrow, useFloating, autoUpdate } from "@floating-ui/vue";
3
- import { nanoid } from "nanoid";
4
- import { useMutationObserver, useVModel, onClickOutside, useFocusWithin, onKeyStroke } from "@vueuse/core";
3
+ import { uid } from "uid";
4
+ import { useMutationObserver, useVModel, onClickOutside, useFocusWithin, useElementHover, onKeyStroke } from "@vueuse/core";
5
5
  import mitt from "mitt";
6
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
7
+ StorageType2["local"] = "local";
8
+ StorageType2["session"] = "session";
9
+ return StorageType2;
10
+ })(StorageType || {});
6
11
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
7
12
  Strategy2["absolute"] = "absolute";
8
13
  Strategy2["fixed"] = "fixed";
@@ -37,6 +42,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
37
42
  ButtonType2["reset"] = "reset";
38
43
  return ButtonType2;
39
44
  })(ButtonType || {});
45
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
46
+ ActionTag2["nuxtLink"] = "nuxt-link";
47
+ ActionTag2["routerLink"] = "router-link";
48
+ ActionTag2["a"] = "a";
49
+ ActionTag2["button"] = "button";
50
+ return ActionTag2;
51
+ })(ActionTag || {});
40
52
  var DropdownRole = /* @__PURE__ */ ((DropdownRole2) => {
41
53
  DropdownRole2["listbox"] = "listbox";
42
54
  DropdownRole2["menu"] = "menu";
@@ -47,13 +59,6 @@ var DropdownItemRole = /* @__PURE__ */ ((DropdownItemRole2) => {
47
59
  DropdownItemRole2["presentation"] = "presentation";
48
60
  return DropdownItemRole2;
49
61
  })(DropdownItemRole || {});
50
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
51
- AnchorTarget2["_blank"] = "_blank";
52
- AnchorTarget2["_self"] = "_self";
53
- AnchorTarget2["_parent"] = "_parent";
54
- AnchorTarget2["_top"] = "_top";
55
- return AnchorTarget2;
56
- })(AnchorTarget || {});
57
62
  const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
58
63
  "dropdownTrigger"
59
64
  );
@@ -75,10 +80,7 @@ const LinkProps = {
75
80
  /**
76
81
  * Anchor target
77
82
  */
78
- target: {
79
- type: String,
80
- validator: (value) => Object.values(AnchorTarget).includes(value)
81
- },
83
+ target: String,
82
84
  /**
83
85
  * Anchor rel
84
86
  */
@@ -91,44 +93,65 @@ const DisabledProps = {
91
93
  /**
92
94
  * Whether the form control is disabled
93
95
  */
94
- disabled: Boolean
96
+ disabled: {
97
+ type: Boolean,
98
+ default: false
99
+ }
95
100
  };
96
101
  const ActiveProps = {
97
102
  /**
98
103
  * Whether the item is active
99
104
  */
100
- active: Boolean
105
+ active: {
106
+ type: Boolean,
107
+ default: false
108
+ }
101
109
  };
102
110
  const CurrentProps = {
103
111
  /**
104
112
  * Whether the item is current
105
113
  */
106
- current: Boolean
114
+ current: {
115
+ type: Boolean,
116
+ default: false
117
+ }
107
118
  };
108
119
  const PressedProps = {
109
120
  /**
110
121
  * Whether the item is pressed
111
122
  */
112
- pressed: Boolean
123
+ pressed: {
124
+ type: Boolean,
125
+ default: false
126
+ }
113
127
  };
114
128
  const LabelProps = {
115
129
  /**
116
130
  * The item label
117
131
  */
118
- label: [String, Number]
132
+ label: {
133
+ type: [String, Number],
134
+ default: void 0
135
+ }
119
136
  };
120
137
  const ModifiersProps = {
121
138
  /**
122
139
  * Component BEM modifiers
123
140
  */
124
- modifiers: [String, Array]
141
+ modifiers: {
142
+ type: [String, Array],
143
+ default: void 0
144
+ }
125
145
  };
126
146
  ({
127
147
  /**
128
148
  * VvIcon name or props
129
149
  * @see VVIcon
130
150
  */
131
- icon: { type: [String, Object] },
151
+ icon: {
152
+ type: [String, Object],
153
+ default: void 0
154
+ },
132
155
  /**
133
156
  * VvIcon position
134
157
  */
@@ -166,7 +189,8 @@ const DropdownProps = {
166
189
  * Dropdown show / hide transition name
167
190
  */
168
191
  transitionName: {
169
- type: String
192
+ type: String,
193
+ default: void 0
170
194
  },
171
195
  /**
172
196
  * Offset of the dropdown from the trigger
@@ -234,7 +258,8 @@ const DropdownProps = {
234
258
  * Set dropdown width to the same as the trigger
235
259
  */
236
260
  triggerWidth: {
237
- type: Boolean
261
+ type: Boolean,
262
+ default: false
238
263
  }
239
264
  };
240
265
  ({
@@ -258,8 +283,23 @@ const DropdownProps = {
258
283
  ariaLabel: {
259
284
  type: String,
260
285
  default: void 0
286
+ },
287
+ /**
288
+ * Default tag for the action
289
+ */
290
+ defaultTag: {
291
+ type: String,
292
+ default: ActionTag.button
261
293
  }
262
294
  });
295
+ ({
296
+ storageType: {
297
+ type: String,
298
+ default: StorageType.local,
299
+ validator: (value) => Object.values(StorageType).includes(value)
300
+ },
301
+ storageKey: String
302
+ });
263
303
  const VvDropdownProps = {
264
304
  ...IdProps,
265
305
  ...DropdownProps,
@@ -287,7 +327,7 @@ const VvDropdownProps = {
287
327
  validator: (value) => Object.values(DropdownRole).includes(value)
288
328
  }
289
329
  };
290
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || nanoid()));
330
+ const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
291
331
  function useProvideDropdownTrigger({
292
332
  reference,
293
333
  id,
@@ -318,14 +358,14 @@ function useProvideDropdownTrigger({
318
358
  }
319
359
  function useProvideDropdownItem({
320
360
  role,
321
- expanded
361
+ ...others
322
362
  }) {
323
363
  const itemRole = computed(
324
364
  () => role.value === DropdownRole.listbox ? DropdownItemRole.option : DropdownItemRole.presentation
325
365
  );
326
366
  provide(INJECTION_KEY_DROPDOWN_ITEM, {
327
367
  role: itemRole,
328
- expanded
368
+ ...others
329
369
  });
330
370
  return { itemRole };
331
371
  }
@@ -375,8 +415,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
375
415
  "leave",
376
416
  "leave-cancelled"
377
417
  ],
378
- setup(__props, { expose: __expose, emit }) {
418
+ setup(__props, { expose: __expose, emit: __emit }) {
379
419
  const props = __props;
420
+ const emit = __emit;
380
421
  const { id } = toRefs(props);
381
422
  const hasId = useUniqueId(id);
382
423
  const attrs = useAttrs();
@@ -590,7 +631,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
590
631
  });
591
632
  bus.on("click", toggle);
592
633
  const { role, modifiers } = toRefs(props);
593
- const { itemRole } = useProvideDropdownItem({ role, expanded });
594
634
  const bemCssClasses = useModifiers(
595
635
  "vv-dropdown",
596
636
  modifiers,
@@ -659,6 +699,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
659
699
  }
660
700
  });
661
701
  };
702
+ const hovered = useElementHover(floatingEl);
703
+ const { itemRole } = useProvideDropdownItem({
704
+ role,
705
+ expanded,
706
+ focused,
707
+ hovered
708
+ });
662
709
  onKeyStroke("Escape", (e) => {
663
710
  if (expanded.value) {
664
711
  e.preventDefault();
@@ -712,50 +759,70 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
712
759
  }
713
760
  };
714
761
  return (_ctx, _cache) => {
715
- return openBlock(), createElementBlock(Fragment, null, [
716
- createVNode(unref(VvDropdownTriggerProvider), null, {
717
- default: withCtx(() => [
718
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ init, show, hide, toggle, expanded: unref(expanded), aria: unref(referenceAria) })))
719
- ]),
720
- _: 3
721
- }),
722
- createVNode(Transition, mergeProps({ name: _ctx.transitionName }, toHandlers(dropdownTransitionHandlers)), {
723
- default: withCtx(() => [
724
- withDirectives(createElementVNode("div", {
725
- ref_key: "floatingEl",
726
- ref: floatingEl,
727
- style: normalizeStyle(unref(dropdownPlacement)),
728
- class: normalizeClass(unref(bemCssClasses))
729
- }, [
730
- props.arrow ? (openBlock(), createElementBlock("div", {
731
- key: 0,
732
- ref_key: "arrowEl",
733
- ref: arrowEl,
734
- style: normalizeStyle(unref(arrowPlacement)),
735
- class: "vv-dropdown__arrow"
736
- }, null, 4)) : createCommentVNode("", true),
737
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps({ expanded: unref(expanded) }))),
738
- createElementVNode("div", mergeProps(unref(attrs), {
739
- id: unref(hasId),
740
- ref_key: "listEl",
741
- ref: listEl,
742
- tabindex: !unref(expanded) ? -1 : void 0,
743
- role: unref(role),
744
- "aria-labelledby": unref(hasAriaLabelledby),
745
- class: "vv-dropdown__list"
746
- }), [
747
- renderSlot(_ctx.$slots, "items", normalizeProps(guardReactiveProps({
748
- role: unref(itemRole)
749
- })))
750
- ], 16, _hoisted_1),
751
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps({ expanded: unref(expanded) })))
752
- ], 6), [
753
- [vShow, unref(expanded)]
754
- ])
755
- ]),
756
- _: 3
757
- }, 16, ["name"])
758
- ], 64);
762
+ return openBlock(), createElementBlock(
763
+ Fragment,
764
+ null,
765
+ [
766
+ createVNode(unref(VvDropdownTriggerProvider), null, {
767
+ default: withCtx(() => [
768
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ init, show, hide, toggle, expanded: unref(expanded), aria: unref(referenceAria) })))
769
+ ]),
770
+ _: 3
771
+ /* FORWARDED */
772
+ }),
773
+ createVNode(Transition, mergeProps({ name: _ctx.transitionName }, toHandlers(dropdownTransitionHandlers), { persisted: "" }), {
774
+ default: withCtx(() => [
775
+ withDirectives(createElementVNode(
776
+ "div",
777
+ {
778
+ ref_key: "floatingEl",
779
+ ref: floatingEl,
780
+ style: normalizeStyle(unref(dropdownPlacement)),
781
+ class: normalizeClass(unref(bemCssClasses))
782
+ },
783
+ [
784
+ props.arrow ? (openBlock(), createElementBlock(
785
+ "div",
786
+ {
787
+ key: 0,
788
+ ref_key: "arrowEl",
789
+ ref: arrowEl,
790
+ style: normalizeStyle(unref(arrowPlacement)),
791
+ class: "vv-dropdown__arrow"
792
+ },
793
+ null,
794
+ 4
795
+ /* STYLE */
796
+ )) : createCommentVNode("v-if", true),
797
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps({ expanded: unref(expanded) }))),
798
+ createElementVNode("div", mergeProps(unref(attrs), {
799
+ id: unref(hasId),
800
+ ref_key: "listEl",
801
+ ref: listEl,
802
+ tabindex: !unref(expanded) ? -1 : void 0,
803
+ role: unref(role),
804
+ "aria-labelledby": unref(hasAriaLabelledby),
805
+ class: "vv-dropdown__list"
806
+ }), [
807
+ renderSlot(_ctx.$slots, "items", normalizeProps(guardReactiveProps({
808
+ role: unref(itemRole)
809
+ })))
810
+ ], 16, _hoisted_1),
811
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps({ expanded: unref(expanded) })))
812
+ ],
813
+ 6
814
+ /* CLASS, STYLE */
815
+ ), [
816
+ [vShow, unref(expanded)]
817
+ ])
818
+ ]),
819
+ _: 3
820
+ /* FORWARDED */
821
+ }, 16, ["name"])
822
+ ],
823
+ 64
824
+ /* STABLE_FRAGMENT */
825
+ );
759
826
  };
760
827
  }
761
828
  });
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("nanoid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","nanoid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdown=t(e.vue,e.vue$1,e.nanoid,e.core,e.mitt)}(this,(function(e,t,o,r,l){"use strict";var a=(e=>(e.absolute="absolute",e.fixed="fixed",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),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||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{}),s=(e=>(e.listbox="listbox",e.menu="menu",e))(s||{}),f=(e=>(e.option="option",e.presentation="presentation",e))(f||{});const p=Symbol.for("dropdownTrigger"),c=Symbol.for("dropdownItem"),v=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]});i.before;const m={id:[String,Number]},b={placement:{type:String,default:n.bottom,validator:e=>Object.values(n).includes(e)||Object.values(u).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(a).includes(e)},transitionName:{type:String},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean}};d.button;const g={...m,...b,...v,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:s.menu,validator:e=>Object.values(s).includes(e)}};const h=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:g,emits:["update:modelValue","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(u,{expose:i,emit:d}){const v=u,{id:m}=e.toRefs(v),b=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.nanoid()))))(m),g=e.useAttrs(),y=e.ref("auto"),x=e.ref("auto"),w=e.ref(null),S=e.ref(),E=e.ref(null),k=e.ref(null),P=e.computed({get:()=>v.reference??w.value,set:e=>{w.value=e}}),B=e.ref(!1);e.onMounted((()=>{r.useMutationObserver(S.value,(()=>{var e;B.value="true"===(null==(e=window.getComputedStyle(S.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const O=e.computed((()=>{const e=[];if(v.autoPlacement?"boolean"==typeof v.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(v.autoPlacement)):v.flip&&("boolean"==typeof v.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(v.flip))),v.shift&&("boolean"==typeof v.shift?e.push(t.shift()):e.push(t.shift(v.shift))),v.size){const o=({availableWidth:e,availableHeight:t})=>{y.value=`${e}px`,x.value=`${t}px`};"boolean"==typeof v.size?e.push(t.size({apply:o})):e.push(t.size({...v.size,apply:o}))}return v.offset&&(e.push(t.offset(Number(v.offset))),["string","number"].includes(typeof v.offset)?e.push(t.offset(Number(v.offset))):e.push(t.offset(v.offset))),v.arrow&&e.push(t.arrow({element:E})),e})),{x:$,y:z,middlewareData:V,placement:j,strategy:C}=t.useFloating(P,S,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:v.strategy===a.fixed}),placement:e.computed((()=>v.placement)),strategy:e.computed((()=>v.strategy)),middleware:O}),A=e.computed((()=>{var e;if(B.value)return;const t=v.triggerWidth&&P.value?`${null==(e=P.value)?void 0:e.offsetWidth}px`:void 0;return{position:C.value,top:`${z.value??0}px`,left:`${$.value??0}px`,maxWidth:t?void 0:y.value,maxHeight:x.value,width:t}})),N=e.computed((()=>j.value.split("-")[0])),D=e.computed((()=>{var e,t,o,r,l;if(B.value)return;const a={[n.top]:n.bottom,[n.right]:n.left,[n.bottom]:n.top,[n.left]:n.right}[N.value];return{left:void 0!==(null==(e=V.value.arrow)?void 0:e.x)?`${null==(t=V.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=V.value.arrow)?void 0:o.y)?`${null==(r=V.value.arrow)?void 0:r.y}px`:void 0,[a]:-((null==(l=E.value)?void 0:l.offsetWidth)??0)/2+"px"}})),_=r.useVModel(v,"modelValue",d),F=e.ref(!1),R=e.computed({get:()=>_.value??F.value,set:e=>{void 0!==_.value?_.value=e:F.value=e}}),T=()=>{R.value=!0},W=()=>{R.value=!1},q=()=>{R.value=!R.value},K=e=>{P.value=e};i({toggle:q,show:T,hide:W,init:K,customPosition:B}),e.watch(R,(t=>{t&&v.autofocusFirst&&e.nextTick((()=>{const e=Y(S.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),r.onClickOutside(S,(()=>{!v.keepOpen&&R.value&&(R.value=!1)}),{ignore:[P]});const M=e.computed((()=>{var e,t;return(null==(t=null==(e=P.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),H=e.computed((()=>({"aria-controls":b.value,"aria-haspopup":!0,"aria-expanded":R.value}))),{component:U,bus:I}=function({reference:t,id:o,expanded:r,aria:a}){const n=l(),u=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(p,{reference:t,id:o,expanded:r,aria:a,bus:n})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:u}}({reference:P,id:b,expanded:R,aria:H});I.on("click",q);const{role:G,modifiers:J}=e.toRefs(v),{itemRole:L}=function({role:t,expanded:o}){const r=e.computed((()=>t.value===s.listbox?f.option:f.presentation));return e.provide(c,{role:r,expanded:o}),{itemRole:r}}({role:G,expanded:R}),Q=function(t,o,r){return e.computed((()=>{const l={[t]:!0},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{l[`${t}--${o}`]=e.unref(r.value[o])})),l}))}("vv-dropdown",J,e.computed((()=>({arrow:v.arrow})))),{focused:X}=r.useFocusWithin(S);function Y(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}r.onKeyStroke("Escape",(e=>{R.value&&(e.preventDefault(),W())})),r.onKeyStroke("ArrowDown",(t=>{R.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),r.onKeyStroke("ArrowUp",(t=>{R.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),r.onKeyStroke([" ","Enter"],(e=>{const t=e.target;R.value&&X.value&&t&&(null==t||t.click())}));const Z={"before-enter":()=>{d(R.value?"beforeExpand":"beforeCollapse"),d("before-enter")},"after-leave":()=>{d(R.value?"afterExpand":"afterCollapse"),d("after-leave")},enter:()=>{d("enter")},"after-enter":()=>{d("after-enter")},"enter-cancelled":()=>{d("enter-cancelled")},"before-leave":()=>{d("before-leave")},leave:()=>{d("leave")},"leave-cancelled":()=>{d("leave-cancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(U),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:K,show:T,hide:W,toggle:q,expanded:e.unref(R),aria:e.unref(H)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(Z)),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:S,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(Q))},[v.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:E,style:e.normalizeStyle(e.unref(D)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)}))),e.createElementVNode("div",e.mergeProps(e.unref(g),{id:e.unref(b),ref_key:"listEl",ref:k,tabindex:e.unref(R)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(M),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(L)})))],16,h),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)})))],6),[[e.vShow,e.unref(R)]])])),_:3},16,["name"])],64))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("uid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","uid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdown=t(e.vue,e.vue$1,e.uid,e.core,e.mitt)}(this,(function(e,t,o,r,l){"use strict";var a=(e=>(e.local="local",e.session="session",e))(a||{}),n=(e=>(e.absolute="absolute",e.fixed="fixed",e))(n||{}),u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),i=(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))(i||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),s=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(s||{}),f=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(f||{}),p=(e=>(e.listbox="listbox",e.menu="menu",e))(p||{}),c=(e=>(e.option="option",e.presentation="presentation",e))(c||{});const v=Symbol.for("dropdownTrigger"),m=Symbol.for("dropdownItem"),b=(Boolean,Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});d.before;const g={id:[String,Number]},h={placement:{type:String,default:u.bottom,validator:e=>Object.values(u).includes(e)||Object.values(i).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(n).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}};s.button,f.button,a.local;const y={...g,...h,...b,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:p.menu,validator:e=>Object.values(p).includes(e)}};const x=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:y,emits:["update:modelValue","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(a,{expose:i,emit:d}){const s=a,f=d,{id:b}=e.toRefs(s),g=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.uid()))))(b),h=e.useAttrs(),y=e.ref("auto"),w=e.ref("auto"),S=e.ref(null),k=e.ref(),E=e.ref(null),P=e.ref(null),B=e.computed({get:()=>s.reference??S.value,set:e=>{S.value=e}}),O=e.ref(!1);e.onMounted((()=>{r.useMutationObserver(k.value,(()=>{var e;O.value="true"===(null==(e=window.getComputedStyle(k.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const $=e.computed((()=>{const e=[];if(s.autoPlacement?"boolean"==typeof s.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(s.autoPlacement)):s.flip&&("boolean"==typeof s.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(s.flip))),s.shift&&("boolean"==typeof s.shift?e.push(t.shift()):e.push(t.shift(s.shift))),s.size){const o=({availableWidth:e,availableHeight:t})=>{y.value=`${e}px`,w.value=`${t}px`};"boolean"==typeof s.size?e.push(t.size({apply:o})):e.push(t.size({...s.size,apply:o}))}return s.offset&&(e.push(t.offset(Number(s.offset))),["string","number"].includes(typeof s.offset)?e.push(t.offset(Number(s.offset))):e.push(t.offset(s.offset))),s.arrow&&e.push(t.arrow({element:E})),e})),{x:z,y:V,middlewareData:j,placement:C,strategy:A}=t.useFloating(B,k,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:s.strategy===n.fixed}),placement:e.computed((()=>s.placement)),strategy:e.computed((()=>s.strategy)),middleware:$}),N=e.computed((()=>{var e;if(O.value)return;const t=s.triggerWidth&&B.value?`${null==(e=B.value)?void 0:e.offsetWidth}px`:void 0;return{position:A.value,top:`${V.value??0}px`,left:`${z.value??0}px`,maxWidth:t?void 0:y.value,maxHeight:w.value,width:t}})),D=e.computed((()=>C.value.split("-")[0])),_=e.computed((()=>{var e,t,o,r,l;if(O.value)return;const a={[u.top]:u.bottom,[u.right]:u.left,[u.bottom]:u.top,[u.left]:u.right}[D.value];return{left:void 0!==(null==(e=j.value.arrow)?void 0:e.x)?`${null==(t=j.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=j.value.arrow)?void 0:o.y)?`${null==(r=j.value.arrow)?void 0:r.y}px`:void 0,[a]:-((null==(l=E.value)?void 0:l.offsetWidth)??0)/2+"px"}})),F=r.useVModel(s,"modelValue",f),R=e.ref(!1),T=e.computed({get:()=>F.value??R.value,set:e=>{void 0!==F.value?F.value=e:R.value=e}}),W=()=>{T.value=!0},q=()=>{T.value=!1},H=()=>{T.value=!T.value},K=e=>{B.value=e};i({toggle:H,show:W,hide:q,init:K,customPosition:O}),e.watch(T,(t=>{t&&s.autofocusFirst&&e.nextTick((()=>{const e=Y(k.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),r.onClickOutside(k,(()=>{!s.keepOpen&&T.value&&(T.value=!1)}),{ignore:[B]});const M=e.computed((()=>{var e,t;return(null==(t=null==(e=B.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),L=e.computed((()=>({"aria-controls":g.value,"aria-haspopup":!0,"aria-expanded":T.value}))),{component:U,bus:I}=function({reference:t,id:o,expanded:r,aria:a}){const n=l(),u=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(v,{reference:t,id:o,expanded:r,aria:a,bus:n})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:u}}({reference:B,id:g,expanded:T,aria:L});I.on("click",H);const{role:G,modifiers:J}=e.toRefs(s),Q=function(t,o,r){return e.computed((()=>{const l={[t]:!0},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{l[`${t}--${o}`]=e.unref(r.value[o])})),l}))}("vv-dropdown",J,e.computed((()=>({arrow:s.arrow})))),{focused:X}=r.useFocusWithin(k);function Y(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}const Z=r.useElementHover(k),{itemRole:ee}=function({role:t,...o}){const r=e.computed((()=>t.value===p.listbox?c.option:c.presentation));return e.provide(m,{role:r,...o}),{itemRole:r}}({role:G,expanded:T,focused:X,hovered:Z});r.onKeyStroke("Escape",(e=>{T.value&&(e.preventDefault(),q())})),r.onKeyStroke("ArrowDown",(t=>{T.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(k.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),r.onKeyStroke("ArrowUp",(t=>{T.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(k.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),r.onKeyStroke([" ","Enter"],(e=>{const t=e.target;T.value&&X.value&&t&&(null==t||t.click())}));const te={"before-enter":()=>{f(T.value?"beforeExpand":"beforeCollapse"),f("before-enter")},"after-leave":()=>{f(T.value?"afterExpand":"afterCollapse"),f("after-leave")},enter:()=>{f("enter")},"after-enter":()=>{f("after-enter")},"enter-cancelled":()=>{f("enter-cancelled")},"before-leave":()=>{f("before-leave")},leave:()=>{f("leave")},"leave-cancelled":()=>{f("leave-cancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(U),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:K,show:W,hide:q,toggle:H,expanded:e.unref(T),aria:e.unref(L)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(te),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:k,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(Q))},[s.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:E,style:e.normalizeStyle(e.unref(_)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(T)}))),e.createElementVNode("div",e.mergeProps(e.unref(h),{id:e.unref(g),ref_key:"listEl",ref:P,tabindex:e.unref(T)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(M),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(ee)})))],16,x),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(T)})))],6),[[e.vShow,e.unref(T)]])])),_:3},16,["name"])],64))}})}));