@volverjs/ui-vue 0.0.6-beta.7 → 0.0.7-beta.1

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 (422) hide show
  1. package/README.md +3 -5
  2. package/auto-imports.d.ts +2 -0
  3. package/dist/components/VvAccordion/VvAccordion.es.js +220 -4
  4. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  5. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +8 -8
  6. package/dist/components/VvAccordion/index.d.ts +1 -4
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +221 -8
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +6 -6
  10. package/dist/components/VvAccordionGroup/index.d.ts +2 -5
  11. package/dist/components/VvAction/VvAction.es.js +12 -8
  12. package/dist/components/VvAction/VvAction.umd.js +1 -1
  13. package/dist/components/VvAction/VvAction.vue.d.ts +4 -4
  14. package/dist/components/VvAction/index.d.ts +1 -1
  15. package/dist/components/VvAlert/VvAlert.es.js +661 -0
  16. package/dist/components/VvAlert/VvAlert.umd.js +1 -0
  17. package/dist/components/VvAlert/VvAlert.vue.d.ts +104 -0
  18. package/dist/components/VvAlert/index.d.ts +95 -0
  19. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +799 -0
  20. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -0
  21. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +89 -0
  22. package/dist/components/VvAlertGroup/index.d.ts +55 -0
  23. package/dist/components/VvAvatar/VvAvatar.es.js +3 -3
  24. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +2 -2
  25. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +3 -3
  26. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +2 -2
  27. package/dist/components/VvBadge/VvBadge.es.js +3 -3
  28. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -2
  29. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +3 -3
  30. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +3 -3
  31. package/dist/components/VvButton/VvButton.es.js +14 -10
  32. package/dist/components/VvButton/VvButton.umd.js +1 -1
  33. package/dist/components/VvButton/VvButton.vue.d.ts +13 -13
  34. package/dist/components/VvButton/index.d.ts +2 -2
  35. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +3 -3
  36. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +4 -4
  37. package/dist/components/VvCard/VvCard.es.js +221 -2
  38. package/dist/components/VvCard/VvCard.umd.js +1 -1
  39. package/dist/components/VvCard/VvCard.vue.d.ts +5 -5
  40. package/dist/components/VvCheckbox/VvCheckbox.es.js +3 -3
  41. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +18 -18
  42. package/dist/components/VvCheckbox/index.d.ts +3 -3
  43. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +3 -3
  44. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +16 -16
  45. package/dist/components/VvCheckboxGroup/index.d.ts +3 -3
  46. package/dist/components/VvCombobox/VvCombobox.es.js +65 -60
  47. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  48. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +56 -44
  49. package/dist/components/VvCombobox/index.d.ts +13 -7
  50. package/dist/components/VvDialog/VvDialog.es.js +19 -14
  51. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  52. package/dist/components/VvDialog/VvDialog.vue.d.ts +7 -7
  53. package/dist/components/VvDialog/index.d.ts +2 -2
  54. package/dist/components/VvDropdown/VvDropdown.es.js +22 -23
  55. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  56. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +16 -16
  57. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +4 -4
  58. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +2 -2
  59. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +1 -1
  60. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +4 -4
  61. package/dist/components/VvDropdown/index.d.ts +1 -1
  62. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +17 -11
  63. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  64. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +9 -5
  65. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  66. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +3 -3
  67. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +12 -8
  68. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  69. package/dist/components/VvIcon/VvIcon.vue.d.ts +1 -1
  70. package/dist/components/VvInputText/VvInputClearAction.d.ts +2 -2
  71. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +1 -1
  72. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  73. package/dist/components/VvInputText/VvInputText.es.js +5 -5
  74. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  75. package/dist/components/VvInputText/VvInputText.vue.d.ts +30 -30
  76. package/dist/components/VvInputText/index.d.ts +5 -5
  77. package/dist/components/VvNav/VvNav.es.js +12 -8
  78. package/dist/components/VvNav/VvNav.umd.js +1 -1
  79. package/dist/components/VvNav/VvNav.vue.d.ts +1 -1
  80. package/dist/components/VvNavItemTitle/VvNavItemTitle.vue.d.ts +1 -1
  81. package/dist/components/VvNavSeparator/VvNavSeparator.d.ts +1 -1
  82. package/dist/components/VvProgress/VvProgress.es.js +3 -3
  83. package/dist/components/VvProgress/VvProgress.vue.d.ts +1 -1
  84. package/dist/components/VvRadio/VvRadio.es.js +3 -3
  85. package/dist/components/VvRadio/VvRadio.vue.d.ts +18 -18
  86. package/dist/components/VvRadio/index.d.ts +3 -3
  87. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +3 -3
  88. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +16 -16
  89. package/dist/components/VvRadioGroup/index.d.ts +3 -3
  90. package/dist/components/VvSelect/VvSelect.es.js +3 -3
  91. package/dist/components/VvSelect/VvSelect.vue.d.ts +26 -26
  92. package/dist/components/VvSelect/index.d.ts +4 -4
  93. package/dist/components/VvTab/VvTab.es.js +12 -8
  94. package/dist/components/VvTab/VvTab.umd.js +1 -1
  95. package/dist/components/VvTab/VvTab.vue.d.ts +1 -1
  96. package/dist/components/VvTextarea/VvTextarea.es.js +3 -3
  97. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +24 -24
  98. package/dist/components/VvTextarea/index.d.ts +3 -3
  99. package/dist/components/VvTooltip/VvTooltip.es.js +3 -3
  100. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +2 -2
  101. package/dist/components/common/HintSlot.d.ts +1 -1
  102. package/dist/components/index.es.js +773 -769
  103. package/dist/components/index.umd.js +1 -1
  104. package/dist/composables/alert/useInjectAlert.d.ts +9 -0
  105. package/dist/composables/alert/useProvideAlert.d.ts +10 -0
  106. package/dist/composables/dropdown/useInjectDropdown.d.ts +17 -16
  107. package/dist/composables/dropdown/useProvideDropdown.d.ts +7 -3
  108. package/dist/composables/useVolver.d.ts +1 -2
  109. package/dist/constants.d.ts +33 -4
  110. package/dist/directives/index.es.js +3 -3
  111. package/dist/directives/v-tooltip.es.js +3 -3
  112. package/dist/icons.es.js +3 -3
  113. package/dist/icons.umd.js +1 -1
  114. package/dist/props/index.d.ts +16 -16
  115. package/dist/resolvers/unplugin.es.js +6 -3
  116. package/dist/resolvers/unplugin.umd.js +1 -1
  117. package/dist/stories/Accordion/Accordion.settings.d.ts +18 -17
  118. package/dist/stories/Accordion/Accordion.stories.d.ts +7 -0
  119. package/dist/stories/Accordion/AccordionSlots.stories.d.ts +7 -0
  120. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +23 -4
  121. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +134 -0
  122. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +894 -0
  123. package/dist/stories/Alert/Alert.settings.d.ts +105 -0
  124. package/dist/stories/Alert/Alert.stories.d.ts +9 -0
  125. package/dist/stories/Alert/Alert.test.d.ts +2 -0
  126. package/dist/stories/Alert/AlertModifiers.stories.d.ts +13 -0
  127. package/dist/stories/Alert/AlertSlots.stories.d.ts +10 -0
  128. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +97 -0
  129. package/dist/stories/AlertGroup/AlertGroup.stories.d.ts +8 -0
  130. package/dist/stories/AlertGroup/AlertGroup.test.d.ts +2 -0
  131. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +14 -0
  132. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +8 -0
  133. package/dist/stories/Avatar/Avatar.settings.d.ts +2 -33
  134. package/dist/stories/Avatar/Avatar.stories.d.ts +7 -0
  135. package/dist/stories/Avatar/AvatarBadge.stories.d.ts +6 -0
  136. package/dist/stories/Avatar/AvatarModifiers.stories.d.ts +13 -0
  137. package/dist/stories/Avatar/AvatarSlots.stories.d.ts +6 -0
  138. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +0 -6
  139. package/dist/stories/AvatarGroup/AvatarGroup.stories.d.ts +6 -0
  140. package/dist/stories/AvatarGroup/AvatarGroupModifiers.stories.d.ts +7 -0
  141. package/dist/stories/AvatarGroup/AvatarGroupSlotDefault.stories.d.ts +6 -0
  142. package/dist/stories/Badge/Badge.settings.d.ts +0 -3
  143. package/dist/stories/Badge/Badge.stories.d.ts +7 -0
  144. package/dist/stories/Badge/BadgeSlots.stories.d.ts +6 -0
  145. package/dist/stories/Breadcrumb/Breadcrumb.stories.d.ts +7 -0
  146. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  147. package/dist/stories/Breadcrumb/BreadcrumbSlots.stories.d.ts +6 -0
  148. package/dist/stories/Button/Button.settings.d.ts +1 -18
  149. package/dist/stories/Button/Button.stories.d.ts +6 -0
  150. package/dist/stories/Button/ButtonIcon.stories.d.ts +10 -0
  151. package/dist/stories/Button/ButtonLink.stories.d.ts +7 -0
  152. package/dist/stories/Button/ButtonLoading.stories.d.ts +8 -0
  153. package/dist/stories/Button/ButtonModifiers.stories.d.ts +17 -0
  154. package/dist/stories/Button/ButtonSlots.stories.d.ts +9 -0
  155. package/dist/stories/Button/ButtonState.stories.d.ts +8 -0
  156. package/dist/stories/Button/ButtonToggle.stories.d.ts +9 -0
  157. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +0 -4
  158. package/dist/stories/ButtonGroup/ButtonGroup.stories.d.ts +6 -0
  159. package/dist/stories/ButtonGroup/ButtonGroupModifiers.stories.d.ts +8 -0
  160. package/dist/stories/ButtonGroup/ButtonGroupSlots.stories.d.ts +6 -0
  161. package/dist/stories/ButtonGroup/ButtonGroupToggle.stories.d.ts +8 -0
  162. package/dist/stories/Card/Card.settings.d.ts +0 -3
  163. package/dist/stories/Card/Card.stories.d.ts +6 -0
  164. package/dist/stories/Card/CardSlots.stories.d.ts +9 -0
  165. package/dist/stories/Checkbox/Checkbox.settings.d.ts +1 -21
  166. package/dist/stories/Checkbox/Checkbox.stories.d.ts +13 -0
  167. package/dist/stories/Checkbox/CheckboxBinary.stories.d.ts +7 -0
  168. package/dist/stories/Checkbox/CheckboxSlots.stories.d.ts +7 -0
  169. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -27
  170. package/dist/stories/CheckboxGroup/CheckboxGroup.stories.d.ts +12 -0
  171. package/dist/stories/CheckboxGroup/CheckboxGroupOptions.stories.d.ts +8 -0
  172. package/dist/stories/CheckboxGroup/CheckboxGroupSlots.stories.d.ts +7 -0
  173. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -54
  174. package/dist/stories/Combobox/Combobox.stories.d.ts +21 -0
  175. package/dist/stories/Combobox/ComboboxIconPosition.stories.d.ts +8 -0
  176. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +8 -0
  177. package/dist/stories/Combobox/ComboboxOptions.stories.d.ts +9 -0
  178. package/dist/stories/Combobox/ComboboxSlots.stories.d.ts +10 -0
  179. package/dist/stories/Dialog/Dialog.settings.d.ts +1 -1
  180. package/dist/stories/Dialog/Dialog.stories.d.ts +7 -0
  181. package/dist/stories/Dialog/DialogSlots.stories.d.ts +8 -0
  182. package/dist/stories/Dropdown/Dropdown.settings.d.ts +1 -1
  183. package/dist/stories/Dropdown/Dropdown.stories.d.ts +9 -0
  184. package/dist/stories/Dropdown/DropdownContextmenuDirective.stories.d.ts +6 -0
  185. package/dist/stories/Dropdown/DropdownMultilevel.stories.d.ts +6 -0
  186. package/dist/stories/Dropdown/DropdownSlots.stories.d.ts +8 -0
  187. package/dist/stories/Icon/Icon.settings.d.ts +1 -3
  188. package/dist/stories/Icon/Icon.stories.d.ts +8 -0
  189. package/dist/stories/Icon/IconsCollection.stories.d.ts +6 -0
  190. package/dist/stories/InputText/InputText.settings.d.ts +1 -74
  191. package/dist/stories/InputText/InputText.stories.d.ts +15 -0
  192. package/dist/stories/InputText/InputTextIconPosition.stories.d.ts +8 -0
  193. package/dist/stories/InputText/InputTextLength.stories.d.ts +10 -0
  194. package/dist/stories/InputText/InputTextMinMax.stories.d.ts +9 -0
  195. package/dist/stories/InputText/InputTextSlots.stories.d.ts +8 -0
  196. package/dist/stories/InputText/InputTextType.stories.d.ts +18 -0
  197. package/dist/stories/Nav/Nav.settings.d.ts +0 -3
  198. package/dist/stories/Nav/Nav.stories.d.ts +6 -0
  199. package/dist/stories/Nav/NavModifiers.stories.d.ts +9 -0
  200. package/dist/stories/Progress/Progress.settings.d.ts +0 -6
  201. package/dist/stories/Progress/Progress.stories.d.ts +7 -0
  202. package/dist/stories/Radio/Radio.settings.d.ts +1 -19
  203. package/dist/stories/Radio/Radio.stories.d.ts +11 -0
  204. package/dist/stories/Radio/RadioSlots.stories.d.ts +7 -0
  205. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -27
  206. package/dist/stories/RadioGroup/RadioGroup.stories.d.ts +12 -0
  207. package/dist/stories/RadioGroup/RadioGroupOptions.stories.d.ts +8 -0
  208. package/dist/stories/RadioGroup/RadioGroupSlots.stories.d.ts +7 -0
  209. package/dist/stories/Select/Select.settings.d.ts +1 -47
  210. package/dist/stories/Select/Select.stories.d.ts +15 -0
  211. package/dist/stories/Select/SelectIconPosition.stories.d.ts +8 -0
  212. package/dist/stories/Select/SelectOptions.stories.d.ts +9 -0
  213. package/dist/stories/Select/SelectSlots.stories.d.ts +8 -0
  214. package/dist/stories/Tab/Tab.stories.d.ts +6 -0
  215. package/dist/stories/Textarea/Textarea.settings.d.ts +1 -43
  216. package/dist/stories/Textarea/Textarea.stories.d.ts +14 -0
  217. package/dist/stories/Textarea/TextareaLength.stories.d.ts +10 -0
  218. package/dist/stories/Textarea/TextareaSlots.stories.d.ts +8 -0
  219. package/dist/stories/Textarea/TextareatIconPosition.stories.d.ts +8 -0
  220. package/dist/stories/Tooltip/Tooltip.settings.d.ts +2 -39
  221. package/dist/stories/Tooltip/Tooltip.stories.d.ts +6 -0
  222. package/dist/stories/Tooltip/TooltipDirective.stories.d.ts +10 -0
  223. package/dist/stories/argTypes.d.ts +5 -125
  224. package/package.json +66 -49
  225. package/src/assets/icons/detailed.json +1 -1
  226. package/src/assets/icons/normal.json +1 -1
  227. package/src/assets/icons/simple.json +1 -1
  228. package/src/components/VvAccordion/index.ts +2 -4
  229. package/src/components/VvAccordionGroup/index.ts +3 -4
  230. package/src/components/VvAction/VvAction.vue +1 -1
  231. package/src/components/VvAlert/VvAlert.vue +54 -0
  232. package/src/components/VvAlert/index.ts +162 -0
  233. package/src/components/VvAlertGroup/VvAlertGroup.vue +34 -0
  234. package/src/components/VvAlertGroup/index.ts +122 -0
  235. package/src/components/VvCard/index.ts +3 -1
  236. package/src/components/VvCombobox/VvCombobox.vue +22 -26
  237. package/src/components/VvCombobox/index.ts +9 -3
  238. package/src/components/VvDialog/VvDialog.vue +11 -7
  239. package/src/components/VvDialog/index.ts +2 -2
  240. package/src/components/VvDropdown/VvDropdown.vue +8 -4
  241. package/src/components/VvDropdown/VvDropdownItem.vue +2 -2
  242. package/src/composables/alert/useInjectAlert.ts +8 -0
  243. package/src/composables/alert/useProvideAlert.ts +23 -0
  244. package/src/composables/dropdown/useInjectDropdown.ts +3 -28
  245. package/src/composables/dropdown/useProvideDropdown.ts +14 -15
  246. package/src/composables/useVolver.ts +1 -2
  247. package/src/constants.ts +42 -4
  248. package/src/props/index.ts +3 -3
  249. package/src/resolvers/unplugin.ts +6 -3
  250. package/src/stories/Accordion/Accordion.settings.ts +18 -7
  251. package/src/stories/Accordion/Accordion.stories.ts +45 -0
  252. package/src/stories/Accordion/AccordionSlots.stories.ts +29 -0
  253. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +22 -0
  254. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +62 -0
  255. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +53 -0
  256. package/src/stories/Alert/Alert.settings.ts +110 -0
  257. package/src/stories/Alert/Alert.stories.ts +60 -0
  258. package/src/stories/Alert/Alert.test.ts +95 -0
  259. package/src/stories/Alert/AlertModifiers.stories.ts +77 -0
  260. package/src/stories/Alert/AlertSlots.stories.ts +74 -0
  261. package/src/stories/AlertGroup/AlertGroup.settings.ts +110 -0
  262. package/src/stories/AlertGroup/AlertGroup.stories.ts +50 -0
  263. package/src/stories/AlertGroup/AlertGroup.test.ts +76 -0
  264. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +103 -0
  265. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +67 -0
  266. package/src/stories/Avatar/Avatar.settings.ts +7 -6
  267. package/src/stories/Avatar/Avatar.stories.ts +42 -0
  268. package/src/stories/Avatar/Avatar.test.ts +1 -1
  269. package/src/stories/Avatar/AvatarBadge.stories.ts +36 -0
  270. package/src/stories/Avatar/AvatarModifiers.stories.ts +100 -0
  271. package/src/stories/Avatar/AvatarSlots.stories.ts +34 -0
  272. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +35 -0
  273. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +31 -0
  274. package/src/stories/AvatarGroup/{AvatarGroupSlotDefault.stories.mdx → AvatarGroupSlotDefault.stories.ts} +24 -30
  275. package/src/stories/Badge/Badge.stories.ts +43 -0
  276. package/src/stories/Badge/BadgeSlots.stories.ts +23 -0
  277. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +41 -0
  278. package/src/stories/Breadcrumb/Breadcrumb.test.ts +1 -1
  279. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +37 -0
  280. package/src/stories/Button/Button.settings.ts +2 -11
  281. package/src/stories/Button/Button.stories.ts +38 -0
  282. package/src/stories/Button/ButtonIcon.stories.ts +67 -0
  283. package/src/stories/Button/ButtonLink.stories.ts +40 -0
  284. package/src/stories/Button/ButtonLoading.stories.ts +41 -0
  285. package/src/stories/Button/ButtonModifiers.stories.ts +158 -0
  286. package/src/stories/Button/ButtonSlots.stories.ts +87 -0
  287. package/src/stories/Button/ButtonState.stories.ts +42 -0
  288. package/src/stories/Button/ButtonToggle.stories.ts +52 -0
  289. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +39 -0
  290. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +39 -0
  291. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +38 -0
  292. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +41 -0
  293. package/src/stories/Card/Card.stories.ts +46 -0
  294. package/src/stories/Card/CardSlots.stories.ts +81 -0
  295. package/src/stories/Checkbox/Checkbox.settings.ts +0 -2
  296. package/src/stories/Checkbox/Checkbox.stories.ts +97 -0
  297. package/src/stories/Checkbox/CheckboxBinary.stories.ts +33 -0
  298. package/src/stories/Checkbox/CheckboxSlots.stories.ts +31 -0
  299. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +87 -0
  300. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +53 -0
  301. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +47 -0
  302. package/src/stories/Combobox/Combobox.settings.ts +3 -23
  303. package/src/stories/Combobox/Combobox.stories.ts +176 -0
  304. package/src/stories/Combobox/Combobox.test.ts +2 -2
  305. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +43 -0
  306. package/src/stories/Combobox/ComboboxMultiple.stories.ts +41 -0
  307. package/src/stories/Combobox/ComboboxOptions.stories.ts +78 -0
  308. package/src/stories/Combobox/ComboboxSlots.stories.ts +104 -0
  309. package/src/stories/Dialog/Dialog.settings.ts +1 -1
  310. package/src/stories/Dialog/Dialog.stories.ts +51 -0
  311. package/src/stories/Dialog/Dialog.test.ts +2 -2
  312. package/src/stories/Dialog/DialogSlots.stories.ts +39 -0
  313. package/src/stories/Dropdown/Dropdown.stories.ts +107 -0
  314. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +49 -0
  315. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +61 -0
  316. package/src/stories/Dropdown/DropdownSlots.stories.ts +95 -0
  317. package/src/stories/Icon/Icon.settings.ts +1 -0
  318. package/src/stories/Icon/Icon.stories.ts +48 -0
  319. package/src/stories/Icon/IconsCollection.stories.ts +53 -0
  320. package/src/stories/InputText/InputText.settings.ts +3 -39
  321. package/src/stories/InputText/InputText.stories.ts +121 -0
  322. package/src/stories/InputText/InputTextIconPosition.stories.ts +43 -0
  323. package/src/stories/InputText/InputTextLength.stories.ts +58 -0
  324. package/src/stories/InputText/InputTextMinMax.stories.ts +51 -0
  325. package/src/stories/InputText/InputTextSlots.stories.ts +39 -0
  326. package/src/stories/InputText/InputTextType.stories.ts +119 -0
  327. package/src/stories/Nav/Nav.stories.ts +33 -0
  328. package/src/stories/Nav/NavModifiers.stories.ts +47 -0
  329. package/src/stories/Progress/Progress.settings.ts +0 -3
  330. package/src/stories/Progress/Progress.stories.ts +41 -0
  331. package/src/stories/Radio/Radio.stories.ts +81 -0
  332. package/src/stories/Radio/RadioSlots.stories.ts +31 -0
  333. package/src/stories/RadioGroup/RadioGroup.stories.ts +88 -0
  334. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +53 -0
  335. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +47 -0
  336. package/src/stories/Select/Select.settings.ts +0 -5
  337. package/src/stories/Select/Select.stories.ts +113 -0
  338. package/src/stories/Select/SelectIconPosition.stories.ts +43 -0
  339. package/src/stories/Select/SelectOptions.stories.ts +77 -0
  340. package/src/stories/Select/SelectSlots.stories.ts +39 -0
  341. package/src/stories/Tab/Tab.stories.ts +70 -0
  342. package/src/stories/Textarea/Textarea.settings.ts +0 -8
  343. package/src/stories/Textarea/Textarea.stories.ts +107 -0
  344. package/src/stories/Textarea/TextareaLength.stories.ts +58 -0
  345. package/src/stories/Textarea/TextareaSlots.stories.ts +39 -0
  346. package/src/stories/Textarea/TextareatIconPosition.stories.ts +43 -0
  347. package/src/stories/Tooltip/Tooltip.settings.ts +4 -4
  348. package/src/stories/Tooltip/Tooltip.stories.ts +40 -0
  349. package/src/stories/Tooltip/TooltipDirective.stories.ts +68 -0
  350. package/src/stories/argTypes.ts +5 -59
  351. package/src/stories/Accordion/Accordion.stories.mdx +0 -45
  352. package/src/stories/Accordion/AccordionSlots.stories.mdx +0 -58
  353. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +0 -58
  354. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +0 -59
  355. package/src/stories/Avatar/Avatar.stories.mdx +0 -40
  356. package/src/stories/Avatar/AvatarBadge.stories.mdx +0 -41
  357. package/src/stories/Avatar/AvatarModifiers.stories.mdx +0 -87
  358. package/src/stories/Avatar/AvatarSlotDefault.stories.mdx +0 -29
  359. package/src/stories/AvatarGroup/AvatarGroup.stories.mdx +0 -30
  360. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.mdx +0 -24
  361. package/src/stories/Badge/Badge.stories.mdx +0 -51
  362. package/src/stories/Badge/BadgeSlots.stories.mdx +0 -20
  363. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +0 -50
  364. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +0 -43
  365. package/src/stories/Button/Button.stories.mdx +0 -35
  366. package/src/stories/Button/ButtonIcon.stories.mdx +0 -153
  367. package/src/stories/Button/ButtonLink.stories.mdx +0 -72
  368. package/src/stories/Button/ButtonLoading.stories.mdx +0 -108
  369. package/src/stories/Button/ButtonModifiers.stories.mdx +0 -257
  370. package/src/stories/Button/ButtonSlots.stories.mdx +0 -116
  371. package/src/stories/Button/ButtonState.stories.mdx +0 -66
  372. package/src/stories/Button/ButtonToggle.stories.mdx +0 -112
  373. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +0 -37
  374. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +0 -52
  375. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.mdx +0 -37
  376. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +0 -73
  377. package/src/stories/Card/Card.stories.mdx +0 -40
  378. package/src/stories/Card/CardSlots.stories.mdx +0 -98
  379. package/src/stories/Checkbox/Checkbox.stories.mdx +0 -164
  380. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +0 -68
  381. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +0 -46
  382. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +0 -135
  383. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +0 -100
  384. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +0 -68
  385. package/src/stories/Combobox/Combobox.stories.mdx +0 -324
  386. package/src/stories/Combobox/ComboboxIconPosition.stories.mdx +0 -78
  387. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +0 -73
  388. package/src/stories/Combobox/ComboboxOptions.stories.mdx +0 -135
  389. package/src/stories/Combobox/ComboboxSlots.stories.mdx +0 -153
  390. package/src/stories/Dialog/Dialog.stories.mdx +0 -56
  391. package/src/stories/Dialog/DialogSlots.stories.mdx +0 -63
  392. package/src/stories/Dropdown/Dropdown.stories.mdx +0 -124
  393. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.mdx +0 -41
  394. package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +0 -56
  395. package/src/stories/Dropdown/DropdownSlots.stories.mdx +0 -114
  396. package/src/stories/Icon/Icon.stories.mdx +0 -91
  397. package/src/stories/Icon/IconsCollection.stories.mdx +0 -69
  398. package/src/stories/InputText/InputText.stories.mdx +0 -211
  399. package/src/stories/InputText/InputTextIconPosition.stories.mdx +0 -78
  400. package/src/stories/InputText/InputTextLength.stories.mdx +0 -110
  401. package/src/stories/InputText/InputTextMinMax.stories.mdx +0 -112
  402. package/src/stories/InputText/InputTextSlots.stories.mdx +0 -69
  403. package/src/stories/InputText/InputTextType.stories.mdx +0 -259
  404. package/src/stories/Nav/Nav.stories.mdx +0 -28
  405. package/src/stories/Nav/NavModifiers.stories.mdx +0 -48
  406. package/src/stories/Progress/Progress.stories.mdx +0 -30
  407. package/src/stories/Radio/Radio.stories.mdx +0 -128
  408. package/src/stories/Radio/RadioSlots.stories.mdx +0 -46
  409. package/src/stories/RadioGroup/RadioGroup.stories.mdx +0 -135
  410. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +0 -100
  411. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +0 -68
  412. package/src/stories/Select/Select.stories.mdx +0 -196
  413. package/src/stories/Select/SelectIconPosition.stories.mdx +0 -78
  414. package/src/stories/Select/SelectOptions.stories.mdx +0 -135
  415. package/src/stories/Select/SelectSlots.stories.mdx +0 -48
  416. package/src/stories/Tab/Tab.stories.mdx +0 -65
  417. package/src/stories/Textarea/Textarea.stories.mdx +0 -187
  418. package/src/stories/Textarea/TextareaLength.stories.mdx +0 -110
  419. package/src/stories/Textarea/TextareaSlots.stories.mdx +0 -69
  420. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +0 -78
  421. package/src/stories/Tooltip/Tooltip.stories.mdx +0 -102
  422. package/src/stories/Tooltip/TooltipDirective.stories.mdx +0 -99
@@ -1,7 +1,7 @@
1
1
  import type { Option } from '../../types/generic';
2
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
3
  modelValue: {
4
- type: (StringConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor | NumberConstructor)[];
4
+ type: (ObjectConstructor | ArrayConstructor | StringConstructor | BooleanConstructor | NumberConstructor)[];
5
5
  default: undefined;
6
6
  };
7
7
  noResultsLabel: {
@@ -57,8 +57,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
57
57
  dropdownModifiers: {
58
58
  type: globalThis.PropType<string | string[]>;
59
59
  };
60
- autoOpen: BooleanConstructor;
61
- autoClose: BooleanConstructor;
60
+ autoOpen: {
61
+ type: BooleanConstructor;
62
+ default: boolean;
63
+ };
64
+ keepOpen: {
65
+ type: BooleanConstructor;
66
+ default: boolean;
67
+ };
62
68
  label: (StringConstructor | NumberConstructor)[];
63
69
  placement: {
64
70
  type: globalThis.PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
@@ -148,7 +154,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
148
154
  };
149
155
  floating: BooleanConstructor;
150
156
  icon: {
151
- type: (StringConstructor | ObjectConstructor)[];
157
+ type: (ObjectConstructor | StringConstructor)[];
152
158
  };
153
159
  iconPosition: {
154
160
  type: globalThis.PropType<"before" | "after">;
@@ -184,9 +190,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
184
190
  default: string;
185
191
  };
186
192
  invalid: BooleanConstructor;
187
- invalidLabel: (StringConstructor | ArrayConstructor)[];
193
+ invalidLabel: (ArrayConstructor | StringConstructor)[];
188
194
  valid: BooleanConstructor;
189
- validLabel: (StringConstructor | ArrayConstructor)[];
195
+ validLabel: (ArrayConstructor | StringConstructor)[];
190
196
  tabindex: {
191
197
  type: (StringConstructor | NumberConstructor)[];
192
198
  default: number;
@@ -198,7 +204,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
198
204
  id: (StringConstructor | NumberConstructor)[];
199
205
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
200
206
  modelValue: {
201
- type: (StringConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor | NumberConstructor)[];
207
+ type: (ObjectConstructor | ArrayConstructor | StringConstructor | BooleanConstructor | NumberConstructor)[];
202
208
  default: undefined;
203
209
  };
204
210
  noResultsLabel: {
@@ -254,8 +260,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
254
260
  dropdownModifiers: {
255
261
  type: globalThis.PropType<string | string[]>;
256
262
  };
257
- autoOpen: BooleanConstructor;
258
- autoClose: BooleanConstructor;
263
+ autoOpen: {
264
+ type: BooleanConstructor;
265
+ default: boolean;
266
+ };
267
+ keepOpen: {
268
+ type: BooleanConstructor;
269
+ default: boolean;
270
+ };
259
271
  label: (StringConstructor | NumberConstructor)[];
260
272
  placement: {
261
273
  type: globalThis.PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
@@ -345,7 +357,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
345
357
  };
346
358
  floating: BooleanConstructor;
347
359
  icon: {
348
- type: (StringConstructor | ObjectConstructor)[];
360
+ type: (ObjectConstructor | StringConstructor)[];
349
361
  };
350
362
  iconPosition: {
351
363
  type: globalThis.PropType<"before" | "after">;
@@ -381,9 +393,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
381
393
  default: string;
382
394
  };
383
395
  invalid: BooleanConstructor;
384
- invalidLabel: (StringConstructor | ArrayConstructor)[];
396
+ invalidLabel: (ArrayConstructor | StringConstructor)[];
385
397
  valid: BooleanConstructor;
386
- validLabel: (StringConstructor | ArrayConstructor)[];
398
+ validLabel: (ArrayConstructor | StringConstructor)[];
387
399
  tabindex: {
388
400
  type: (StringConstructor | NumberConstructor)[];
389
401
  default: number;
@@ -396,8 +408,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
396
408
  }>> & {
397
409
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
398
410
  }, {
399
- modelValue: string | number | boolean | unknown[] | Record<string, any>;
400
- disabled: boolean;
401
411
  shift: boolean | Partial<import("@floating-ui/core").ShiftOptions & {
402
412
  rootBoundary: import("@floating-ui/core").RootBoundary;
403
413
  elementContext: import("@floating-ui/core").ElementContext;
@@ -405,8 +415,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
405
415
  padding: import("@floating-ui/core").Padding;
406
416
  boundary: import("@floating-ui/dom").Boundary;
407
417
  }> | undefined;
418
+ disabled: boolean;
408
419
  options: (string | Option)[];
409
420
  floating: boolean;
421
+ modelValue: string | number | boolean | unknown[] | Record<string, any>;
422
+ tabindex: string | number;
423
+ unselectable: boolean;
410
424
  flip: boolean | Partial<import("@floating-ui/core").FlipOptions & {
411
425
  rootBoundary: import("@floating-ui/core").RootBoundary;
412
426
  elementContext: import("@floating-ui/core").ElementContext;
@@ -417,19 +431,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
417
431
  iconPosition: "before" | "after";
418
432
  loading: boolean;
419
433
  loadingLabel: string;
420
- unselectable: boolean;
421
434
  multiple: boolean;
422
435
  readonly: boolean;
423
436
  hintLabel: string;
424
437
  invalid: boolean;
425
438
  valid: boolean;
426
- tabindex: string | number;
427
- labelKey: string | Function;
428
- valueKey: string | Function;
429
- disabledKey: string | Function;
430
- placement: "left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end";
431
- strategy: "fixed" | "absolute";
432
- offset: string | import("@floating-ui/core").OffsetOptions | undefined;
433
439
  size: boolean | Partial<{
434
440
  apply: (args: {
435
441
  x: number;
@@ -452,6 +458,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
452
458
  padding: import("@floating-ui/core").Padding;
453
459
  boundary: import("@floating-ui/dom").Boundary;
454
460
  }> | undefined;
461
+ labelKey: string | Function;
462
+ valueKey: string | Function;
463
+ disabledKey: string | Function;
464
+ placement: "left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end";
465
+ strategy: "fixed" | "absolute";
466
+ offset: string | import("@floating-ui/core").OffsetOptions | undefined;
455
467
  autoPlacement: boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & {
456
468
  rootBoundary: import("@floating-ui/core").RootBoundary;
457
469
  elementContext: import("@floating-ui/core").ElementContext;
@@ -460,7 +472,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
460
472
  boundary: import("@floating-ui/dom").Boundary;
461
473
  }> | undefined;
462
474
  arrow: boolean;
463
- autoClose: boolean;
475
+ keepOpen: boolean;
464
476
  autofocusFirst: boolean;
465
477
  triggerWidth: boolean;
466
478
  deselectHintLabel: string;
@@ -477,55 +489,55 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
477
489
  badges: boolean;
478
490
  badgeModifiers: string | string[];
479
491
  autoOpen: boolean;
480
- }>, {
481
- 'dropdown::before': (_: {}) => any;
482
- before: (_: {
492
+ }, {}>, {
493
+ "dropdown::before"?(_: {}): any;
494
+ before?(_: {
483
495
  valid: boolean;
484
496
  invalid: boolean;
485
497
  modelValue: string | number | boolean | unknown[] | Record<string, any> | undefined;
486
- }) => any;
487
- value: (_: {
498
+ }): any;
499
+ value?(_: {
488
500
  selectedOptions: (string | Option)[];
489
501
  onInput: (option: string | Option) => void;
490
- }) => any;
491
- after: (_: {
502
+ }): any;
503
+ after?(_: {
492
504
  valid: boolean;
493
505
  invalid: boolean;
494
506
  modelValue: string | number | boolean | unknown[] | Record<string, any> | undefined;
495
- }) => any;
496
- option: (_: {
507
+ }): any;
508
+ option?(_: {
497
509
  option: string | Option;
498
510
  selectedOptions: (string | Option)[];
499
511
  selected: boolean;
500
512
  disabled: boolean;
501
- }) => any;
502
- 'no-options': (_: {}) => any;
503
- 'no-results': (_: {}) => any;
504
- 'dropdown::after': (_: {}) => any;
505
- hint: (_: {
513
+ }): any;
514
+ "no-options"?(_: {}): any;
515
+ "no-results"?(_: {}): any;
516
+ "dropdown::after"?(_: {}): any;
517
+ hint?(_: {
506
518
  modelValue: any;
507
519
  valid: boolean;
508
520
  invalid: boolean;
509
521
  loading: boolean;
510
- }) => any;
511
- loading: (_: {
522
+ }): any;
523
+ loading?(_: {
512
524
  modelValue: any;
513
525
  valid: boolean;
514
526
  invalid: boolean;
515
527
  loading: boolean;
516
- }) => any;
517
- valid: (_: {
528
+ }): any;
529
+ valid?(_: {
518
530
  modelValue: any;
519
531
  valid: boolean;
520
532
  invalid: boolean;
521
533
  loading: boolean;
522
- }) => any;
523
- invalid: (_: {
534
+ }): any;
535
+ invalid?(_: {
524
536
  modelValue: any;
525
537
  valid: boolean;
526
538
  invalid: boolean;
527
539
  loading: boolean;
528
- }) => any;
540
+ }): any;
529
541
  }>;
530
542
  export default _default;
531
543
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -5,7 +5,7 @@ export declare const VvComboboxProps: {
5
5
  * modelValue can be a string, number, boolean, object or array of string, number, boolean, object
6
6
  */
7
7
  modelValue: {
8
- type: (StringConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor | NumberConstructor)[];
8
+ type: (ObjectConstructor | ArrayConstructor | StringConstructor | BooleanConstructor | NumberConstructor)[];
9
9
  default: undefined;
10
10
  };
11
11
  /**
@@ -118,11 +118,17 @@ export declare const VvComboboxProps: {
118
118
  /**
119
119
  * Open dropdown on focus
120
120
  */
121
- autoOpen: BooleanConstructor;
121
+ autoOpen: {
122
+ type: BooleanConstructor;
123
+ default: boolean;
124
+ };
122
125
  /**
123
- * Close dropdown on select (not multiple)
126
+ * Keep open dropdown on single select
124
127
  */
125
- autoClose: BooleanConstructor;
128
+ keepOpen: {
129
+ type: BooleanConstructor;
130
+ default: boolean;
131
+ };
126
132
  label: (StringConstructor | NumberConstructor)[];
127
133
  placement: {
128
134
  type: PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
@@ -212,7 +218,7 @@ export declare const VvComboboxProps: {
212
218
  };
213
219
  floating: BooleanConstructor;
214
220
  icon: {
215
- type: (StringConstructor | ObjectConstructor)[];
221
+ type: (ObjectConstructor | StringConstructor)[];
216
222
  };
217
223
  iconPosition: {
218
224
  type: PropType<"before" | "after">;
@@ -250,9 +256,9 @@ export declare const VvComboboxProps: {
250
256
  default: string;
251
257
  };
252
258
  invalid: BooleanConstructor;
253
- invalidLabel: (StringConstructor | ArrayConstructor)[];
259
+ invalidLabel: (ArrayConstructor | StringConstructor)[];
254
260
  valid: BooleanConstructor;
255
- validLabel: (StringConstructor | ArrayConstructor)[];
261
+ validLabel: (ArrayConstructor | StringConstructor)[];
256
262
  tabindex: {
257
263
  type: (StringConstructor | NumberConstructor)[];
258
264
  default: number;
@@ -403,11 +403,11 @@ const IdProps = {
403
403
  default: false
404
404
  },
405
405
  /**
406
- * Close dropdown on click outside
406
+ * Keep open dropdown on click outside
407
407
  */
408
- autoClose: {
408
+ keepOpen: {
409
409
  type: Boolean,
410
- default: true
410
+ default: false
411
411
  },
412
412
  /**
413
413
  * Autofocus first item on dropdown open
@@ -461,9 +461,9 @@ const VvDialogProps = {
461
461
  */
462
462
  size: String,
463
463
  /**
464
- * Close dialog on click outside
464
+ * Keep open dialog on click outside
465
465
  */
466
- autoClose: { type: Boolean, default: true }
466
+ keepOpen: { type: Boolean, default: false }
467
467
  };
468
468
  const _hoisted_1 = {
469
469
  key: 0,
@@ -481,8 +481,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
481
481
  ...__default__,
482
482
  props: VvDialogProps,
483
483
  emits: VvDialogEvents,
484
- setup(__props, { expose, emit }) {
484
+ setup(__props, { expose: __expose, emit }) {
485
485
  const props = __props;
486
+ const dialogEl = ref();
486
487
  const localModelValue = ref(false);
487
488
  const modelValue = computed({
488
489
  get() {
@@ -495,13 +496,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
495
496
  emit("update:modelValue", value);
496
497
  }
497
498
  });
498
- const htmlAttrIsOpen = ref(true);
499
499
  const modalWrapper = ref(null);
500
500
  const dialogAttrs = computed(() => {
501
501
  const { id } = props;
502
502
  return {
503
- id,
504
- open: htmlAttrIsOpen.value
503
+ id
505
504
  };
506
505
  });
507
506
  const dialogClass = computed(() => {
@@ -513,16 +512,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
513
512
  const transitioName = computed(() => `vv-dialog--${props.transition}`);
514
513
  const dialogTransitionHandlers = {
515
514
  "before-enter": () => {
516
- htmlAttrIsOpen.value = true;
515
+ var _a;
516
+ (_a = dialogEl.value) == null ? void 0 : _a.showModal();
517
517
  emit("open");
518
518
  },
519
519
  "after-leave": () => {
520
- htmlAttrIsOpen.value = false;
520
+ var _a;
521
+ (_a = dialogEl.value) == null ? void 0 : _a.close();
521
522
  emit("close");
522
523
  }
523
524
  };
524
525
  onClickOutside(modalWrapper, () => {
525
- if (props.autoClose) {
526
+ if (!props.keepOpen) {
526
527
  modelValue.value = false;
527
528
  }
528
529
  });
@@ -532,7 +533,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
532
533
  function open() {
533
534
  modelValue.value = true;
534
535
  }
535
- expose({ close, open });
536
+ __expose({ close, open });
536
537
  onKeyStroke("Escape", (e) => {
537
538
  if (modelValue.value) {
538
539
  e.preventDefault();
@@ -542,7 +543,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
542
543
  return (_ctx, _cache) => {
543
544
  return openBlock(), createBlock(Transition, mergeProps({ name: unref(transitioName) }, toHandlers(dialogTransitionHandlers)), {
544
545
  default: withCtx(() => [
545
- withDirectives(createElementVNode("dialog", mergeProps(unref(dialogAttrs), { class: unref(dialogClass) }), [
546
+ withDirectives(createElementVNode("dialog", mergeProps(unref(dialogAttrs), {
547
+ ref_key: "dialogEl",
548
+ ref: dialogEl,
549
+ class: unref(dialogClass)
550
+ }), [
546
551
  createElementVNode("article", {
547
552
  ref_key: "modalWrapper",
548
553
  ref: modalWrapper,
@@ -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 u=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:u}=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",u),c=e.computed((()=>n.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=n.name??"",t=`@${c.value}:${n.prefix}:${e}`;if(o.iconExists(t))return t;const r=null==i?void 0:i.iconsCollections.find((t=>{const n=`@${c.value}:${t.prefix}:${e}`;return o.iconExists(n)}));return r?`@${c.value}:${r.prefix}:${e}`:e}));function f(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(`@${c.value}:${n.prefix}:${n.name}`,{body:r,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&n.src&&!o.iconExists(`@${c.value}:${n.prefix}:${n.name}`)&&(l.value=!1,i.fetchIcon(n.src).then((e=>{e&&(f(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),n.svg&&f(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;l.before;const s={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,i.button;const c={...s,title:String,modelValue:{type:Boolean,default:void 0},transition:{type:String,default:"fade-block"},size:String,autoClose:{type:Boolean,default:!0}},d={key:0,class:"vv-dialog__header"},f={class:"vv-dialog__content"},v={key:1,class:"vv-dialog__footer"};return e.defineComponent({name:"VvDialog",props:c,emits:["open","close","update:modelValue"],setup(o,{expose:n,emit:r}){const l=o,i=e.ref(!1),a=e.computed({get:()=>l.modelValue??i.value,set(e){void 0===l.modelValue&&(i.value=e),r("update:modelValue",e)}}),s=e.ref(!0),c=e.ref(null),p=e.computed((()=>{const{id:e}=l;return{id:e,open:s.value}})),m=e.computed((()=>l.size?["vv-dialog",`vv-dialog--${l.size}`]:"vv-dialog")),g=e.computed((()=>`vv-dialog--${l.transition}`)),h={"before-enter":()=>{s.value=!0,r("open")},"after-leave":()=>{s.value=!1,r("close")}};function y(){a.value=!1}return t.onClickOutside(c,(()=>{l.autoClose&&(a.value=!1)})),n({close:y,open:function(){a.value=!0}}),t.onKeyStroke("Escape",(e=>{a.value&&(e.preventDefault(),y())})),(o,t)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(g)},e.toHandlers(h)),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(p),{class:e.unref(m)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:c,class:"vv-dialog__wrapper"},[o.$slots.header||o.title?(e.openBlock(),e.createElementBlock("header",d,[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:y},[e.createVNode(u,{name:"close"})],32)]))])):e.createCommentVNode("",!0),e.createElementVNode("div",f,[e.renderSlot(o.$slots,"default")]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",v,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(a)]])])),_: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={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 s=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:s}=e.toRefs(n),u=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",s),c=e.computed((()=>n.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=n.name??"",t=`@${c.value}:${n.prefix}:${e}`;if(o.iconExists(t))return t;const r=null==i?void 0:i.iconsCollections.find((t=>{const n=`@${c.value}:${t.prefix}:${e}`;return o.iconExists(n)}));return r?`@${c.value}:${r.prefix}:${e}`:e}));function f(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(`@${c.value}:${n.prefix}:${n.name}`,{body:r,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&n.src&&!o.iconExists(`@${c.value}:${n.prefix}:${n.name}`)&&(l.value=!1,i.fetchIcon(n.src).then((e=>{e&&(f(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),n.svg&&f(n.svg),(t,n)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(u)},{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;l.before;const u={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,i.button;const c={...u,title:String,modelValue:{type:Boolean,default:void 0},transition:{type:String,default:"fade-block"},size:String,keepOpen:{type:Boolean,default:!1}},d={key:0,class:"vv-dialog__header"},f={class:"vv-dialog__content"},v={key:1,class:"vv-dialog__footer"};return e.defineComponent({name:"VvDialog",props:c,emits:["open","close","update:modelValue"],setup(o,{expose:n,emit:r}){const l=o,i=e.ref(),a=e.ref(!1),u=e.computed({get:()=>l.modelValue??a.value,set(e){void 0===l.modelValue&&(a.value=e),r("update:modelValue",e)}}),c=e.ref(null),p=e.computed((()=>{const{id:e}=l;return{id:e}})),m=e.computed((()=>l.size?["vv-dialog",`vv-dialog--${l.size}`]:"vv-dialog")),g=e.computed((()=>`vv-dialog--${l.transition}`)),h={"before-enter":()=>{var e;null==(e=i.value)||e.showModal(),r("open")},"after-leave":()=>{var e;null==(e=i.value)||e.close(),r("close")}};function y(){u.value=!1}return t.onClickOutside(c,(()=>{l.keepOpen||(u.value=!1)})),n({close:y,open:function(){u.value=!0}}),t.onKeyStroke("Escape",(e=>{u.value&&(e.preventDefault(),y())})),(o,t)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(g)},e.toHandlers(h)),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(p),{ref_key:"dialogEl",ref:i,class:e.unref(m)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:c,class:"vv-dialog__wrapper"},[o.$slots.header||o.title?(e.openBlock(),e.createElementBlock("header",d,[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:y},[e.createVNode(s,{name:"close"})],32)]))])):e.createCommentVNode("",!0),e.createElementVNode("div",f,[e.renderSlot(o.$slots,"default")]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",v,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(u)]])])),_:3},16,["name"]))}})}));
@@ -9,7 +9,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
9
9
  default: string;
10
10
  };
11
11
  size: StringConstructor;
12
- autoClose: {
12
+ keepOpen: {
13
13
  type: BooleanConstructor;
14
14
  default: boolean;
15
15
  };
@@ -28,7 +28,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
28
28
  default: string;
29
29
  };
30
30
  size: StringConstructor;
31
- autoClose: {
31
+ keepOpen: {
32
32
  type: BooleanConstructor;
33
33
  default: boolean;
34
34
  };
@@ -37,12 +37,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
37
37
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
38
38
  }, {
39
39
  modelValue: boolean;
40
- autoClose: boolean;
41
40
  transition: string;
42
- }>, {
43
- header: (_: {}) => any;
44
- default: (_: {}) => any;
45
- footer: (_: {}) => any;
41
+ keepOpen: boolean;
42
+ }, {}>, {
43
+ header?(_: {}): any;
44
+ default?(_: {}): any;
45
+ footer?(_: {}): any;
46
46
  }>;
47
47
  export default _default;
48
48
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -23,9 +23,9 @@ export declare const VvDialogProps: {
23
23
  */
24
24
  size: StringConstructor;
25
25
  /**
26
- * Close dialog on click outside
26
+ * Keep open dialog on click outside
27
27
  */
28
- autoClose: {
28
+ keepOpen: {
29
29
  type: BooleanConstructor;
30
30
  default: boolean;
31
31
  };
@@ -1,4 +1,4 @@
1
- import { computed, defineComponent, h, Fragment, provide, unref, toRefs, useAttrs, ref, watch, nextTick, openBlock, createElementBlock, createVNode, withCtx, renderSlot, normalizeProps, guardReactiveProps, Transition, mergeProps, toHandlers, withDirectives, createElementVNode, normalizeStyle, normalizeClass, createCommentVNode, vShow } from "vue";
1
+ import { computed, defineComponent, provide, h, Fragment, unref, toRefs, useAttrs, ref, 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
3
  import { nanoid } from "nanoid";
4
4
  import { useVModel, onClickOutside, useFocusWithin, onKeyStroke } from "@vueuse/core";
@@ -49,8 +49,12 @@ var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
49
49
  AnchorTarget2["_top"] = "_top";
50
50
  return AnchorTarget2;
51
51
  })(AnchorTarget || {});
52
- const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for("dropdownTrigger");
53
- const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for("dropdownItem");
52
+ const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
53
+ "dropdownTrigger"
54
+ );
55
+ const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
56
+ "dropdownItem"
57
+ );
54
58
  const LinkProps = {
55
59
  /**
56
60
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
@@ -206,11 +210,11 @@ const DropdownProps = {
206
210
  default: false
207
211
  },
208
212
  /**
209
- * Close dropdown on click outside
213
+ * Keep open dropdown on click outside
210
214
  */
211
- autoClose: {
215
+ keepOpen: {
212
216
  type: Boolean,
213
- default: true
217
+ default: false
214
218
  },
215
219
  /**
216
220
  * Autofocus first item on dropdown open
@@ -278,19 +282,14 @@ function useProvideDropdownTrigger({
278
282
  const bus = mitt();
279
283
  const component = defineComponent({
280
284
  name: "VvDropdownTriggerProvider",
281
- provide() {
282
- return {
283
- [INJECTION_KEY_DROPDOWN_TRIGGER]: {
284
- reference,
285
- id,
286
- expanded,
287
- aria,
288
- bus
289
- }
290
- };
291
- },
292
285
  setup() {
293
- return {};
286
+ provide(INJECTION_KEY_DROPDOWN_TRIGGER, {
287
+ reference,
288
+ id,
289
+ expanded,
290
+ aria,
291
+ bus
292
+ });
294
293
  },
295
294
  render() {
296
295
  var _a, _b;
@@ -353,7 +352,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
353
352
  "afterExpand",
354
353
  "afterCollapse"
355
354
  ],
356
- setup(__props, { expose, emit }) {
355
+ setup(__props, { expose: __expose, emit }) {
357
356
  const props = __props;
358
357
  const { id } = toRefs(props);
359
358
  const hasId = useUniqueId(id);
@@ -498,7 +497,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
498
497
  const init = (el) => {
499
498
  referenceEl.value = el;
500
499
  };
501
- expose({ toggle, show, hide, init });
500
+ __expose({ toggle, show, hide, init });
502
501
  watch(expanded, (newValue) => {
503
502
  if (newValue && props.autofocusFirst) {
504
503
  nextTick(() => {
@@ -514,7 +513,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
514
513
  onClickOutside(
515
514
  floatingEl,
516
515
  () => {
517
- if (props.autoClose) {
516
+ if (!props.keepOpen) {
518
517
  expanded.value = false;
519
518
  }
520
519
  },
@@ -617,7 +616,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
617
616
  }
618
617
  });
619
618
  onKeyStroke([" ", "Enter"], (e) => {
620
- if (expanded.value && focused.value) {
619
+ if (expanded.value && focused.value && e.target !== document.activeElement) {
621
620
  e.preventDefault();
622
621
  const activeElement = document.activeElement;
623
622
  activeElement.click();
@@ -656,7 +655,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
656
655
  class: "vv-dropdown__arrow"
657
656
  }, null, 4)) : createCommentVNode("", true),
658
657
  renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps({ expanded: unref(expanded) }))),
659
- createElementVNode("ul", mergeProps(unref(attrs), {
658
+ createElementVNode("div", mergeProps(unref(attrs), {
660
659
  id: unref(hasId),
661
660
  ref_key: "listEl",
662
661
  ref: listEl,
@@ -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,a,l){"use strict";var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),n=(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))(n||{}),u=(e=>(e.before="before",e.after="after",e))(u||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),d=(e=>(e.listbox="listbox",e.menu="menu",e))(d||{}),s=(e=>(e.option="option",e.presentation="presentation",e))(s||{});const f=Symbol.for("dropdownTrigger"),p=Symbol.for("dropdownItem"),c=(Boolean,Boolean,Boolean,{modifiers:[String,Array]});u.before;const v={id:[String,Number]},m={placement:{type:String,default:r.bottom,validator:e=>Object.values(r).includes(e)||Object.values(n).includes(e)},strategy:{type:String,default:"absolute",validator:e=>["fixed","absolute"].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},autoClose:{type:Boolean,default:!0},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean}};i.button;const b={...v,...c,...m,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:d.menu,validator:e=>Object.values(d).includes(e)}};const h=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:b,emits:["update:modelValue","beforeExpand","beforeCollapse","afterExpand","afterCollapse"],setup(r,{expose:n,emit:u}){const i=r,{id:c}=e.toRefs(i),v=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.nanoid()))))(c),m=e.useAttrs(),b=e.ref("auto"),g=e.ref("auto"),y=e.ref(null),x=e.ref(null),w=e.ref(null),E=e.ref(null),S=e.computed({get:()=>i.reference??y.value,set:e=>{y.value=e}}),k=e.computed((()=>{const e=[];if(i.autoPlacement?"boolean"==typeof i.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(i.autoPlacement)):i.flip&&("boolean"==typeof i.flip?e.push(t.flip()):e.push(t.flip(i.flip))),i.shift&&("boolean"==typeof i.shift?e.push(t.shift()):e.push(t.shift(i.shift))),i.size){const o=({availableWidth:e,availableHeight:t})=>{b.value=`${e}px`,g.value=`${t}px`};"boolean"==typeof i.size?e.push(t.size({apply:o})):e.push(t.size({...i.size,apply:o}))}return i.offset&&(e.push(t.offset(Number(i.offset))),["string","number"].includes(typeof i.offset)?e.push(t.offset(Number(i.offset))):e.push(t.offset(i.offset))),i.arrow&&e.push(t.arrow({element:w})),e})),{x:P,y:$,strategy:B,middlewareData:z,placement:C}=t.useFloating(S,x,{whileElementsMounted:t.autoUpdate,placement:e.computed((()=>i.placement)),strategy:e.computed((()=>i.strategy)),middleware:k}),O=e.computed((()=>({position:B.value,top:`${$.value??0}px`,left:`${P.value??0}px`,maxWidth:b.value,maxHeight:g.value,width:i.triggerWidth&&S.value?`${S.value.offsetWidth}px`:void 0}))),A=e.computed((()=>C.value.split("-")[0])),V=e.computed((()=>({top:"bottom",right:"left",bottom:"top",left:"right"}[A.value]??"bottom"))),j=e.computed((()=>{var e,t,o,a;return["bottom","top"].includes(V.value)?{right:`${(null==(e=z.value.arrow)?void 0:e.x)??0}px`,[V.value]:-((null==(t=w.value)?void 0:t.offsetWidth)??0)/2+"px"}:{top:`${(null==(o=z.value.arrow)?void 0:o.y)??0}px`,[V.value]:-((null==(a=w.value)?void 0:a.offsetWidth)??0)/2+"px"}})),N=a.useVModel(i,"modelValue",u),D=e.ref(!1),_=e.computed({get:()=>N.value??D.value,set:e=>{void 0!==N.value?N.value=e:D.value=e}}),R=()=>{_.value=!0},T=()=>{_.value=!1},W=()=>{_.value=!_.value},q=e=>{S.value=e};n({toggle:W,show:R,hide:T,init:q}),e.watch(_,(t=>{t&&i.autofocusFirst&&e.nextTick((()=>{const e=Q(x.value);e.length>0&&e[0].focus()}))})),a.onClickOutside(x,(()=>{i.autoClose&&(_.value=!1)}),{ignore:[S]});const F=e.computed((()=>{var e,t;return(null==(t=null==(e=S.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),K=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":_.value}))),{component:H,bus:M}=function({reference:t,id:o,expanded:a,aria:r}){const n=l(),u=e.defineComponent({name:"VvDropdownTriggerProvider",provide:()=>({[f]:{reference:t,id:o,expanded:a,aria:r,bus:n}}),setup:()=>({}),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:S,id:v,expanded:_,aria:K});M.on("click",W);const{role:U,modifiers:I}=e.toRefs(i),{itemRole:L}=function({role:t,expanded:o}){const a=e.computed((()=>t.value===d.listbox?s.option:s.presentation));return e.provide(p,{role:a,expanded:o}),{itemRole:a}}({role:U,expanded:_}),G=function(t,o,a){return e.computed((()=>{const l={[t]:!0},r="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((o=>{l[`${t}--${o}`]=e.unref(a.value[o])})),l}))}("vv-dropdown",I,e.computed((()=>({arrow:i.arrow})))),{focused:J}=a.useFocusWithin(x);function Q(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"))):[]}a.onKeyStroke("Escape",(e=>{_.value&&(e.preventDefault(),T())})),a.onKeyStroke("ArrowDown",(t=>{_.value&&J.value&&(t.preventDefault(),e.nextTick((()=>{if(J.value){const e=Q(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus():e[0].focus()}})))})),a.onKeyStroke("ArrowUp",(t=>{_.value&&J.value&&(t.preventDefault(),e.nextTick((()=>{if(J.value){const e=Q(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus():e[e.length-1].focus()}})))})),a.onKeyStroke([" ","Enter"],(e=>{if(_.value&&J.value){e.preventDefault();document.activeElement.click()}}));const X=()=>{u(_.value?"beforeExpand":"beforeCollapse")},Y=()=>{u(_.value?"afterExpand":"afterCollapse")};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(H),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:q,show:R,hide:T,toggle:W,expanded:e.unref(_),aria:e.unref(K)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers({beforeEnter:X,onAfterLeave:Y})),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:x,style:e.normalizeStyle(e.unref(O)),class:e.normalizeClass(e.unref(G))},[i.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(j)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)}))),e.createElementVNode("ul",e.mergeProps(e.unref(m),{id:e.unref(v),ref_key:"listEl",ref:E,tabindex:e.unref(_)?void 0:-1,role:e.unref(U),"aria-labelledby":e.unref(F),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(_)})))],6),[[e.vShow,e.unref(_)]])])),_:3},16,["name"])],64))}})}));
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,a,r){"use strict";var l=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(l||{}),n=(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))(n||{}),u=(e=>(e.before="before",e.after="after",e))(u||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),d=(e=>(e.listbox="listbox",e.menu="menu",e))(d||{}),s=(e=>(e.option="option",e.presentation="presentation",e))(s||{});const f=Symbol.for("dropdownTrigger"),p=Symbol.for("dropdownItem"),c=(Boolean,Boolean,Boolean,{modifiers:[String,Array]});u.before;const v={id:[String,Number]},m={placement:{type:String,default:l.bottom,validator:e=>Object.values(l).includes(e)||Object.values(n).includes(e)},strategy:{type:String,default:"absolute",validator:e=>["fixed","absolute"].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}};i.button;const b={...v,...c,...m,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:d.menu,validator:e=>Object.values(d).includes(e)}};const h=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:b,emits:["update:modelValue","beforeExpand","beforeCollapse","afterExpand","afterCollapse"],setup(l,{expose:n,emit:u}){const i=l,{id:c}=e.toRefs(i),v=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.nanoid()))))(c),m=e.useAttrs(),b=e.ref("auto"),g=e.ref("auto"),y=e.ref(null),x=e.ref(null),w=e.ref(null),E=e.ref(null),S=e.computed({get:()=>i.reference??y.value,set:e=>{y.value=e}}),k=e.computed((()=>{const e=[];if(i.autoPlacement?"boolean"==typeof i.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(i.autoPlacement)):i.flip&&("boolean"==typeof i.flip?e.push(t.flip()):e.push(t.flip(i.flip))),i.shift&&("boolean"==typeof i.shift?e.push(t.shift()):e.push(t.shift(i.shift))),i.size){const o=({availableWidth:e,availableHeight:t})=>{b.value=`${e}px`,g.value=`${t}px`};"boolean"==typeof i.size?e.push(t.size({apply:o})):e.push(t.size({...i.size,apply:o}))}return i.offset&&(e.push(t.offset(Number(i.offset))),["string","number"].includes(typeof i.offset)?e.push(t.offset(Number(i.offset))):e.push(t.offset(i.offset))),i.arrow&&e.push(t.arrow({element:w})),e})),{x:P,y:$,strategy:B,middlewareData:O,placement:z}=t.useFloating(S,x,{whileElementsMounted:t.autoUpdate,placement:e.computed((()=>i.placement)),strategy:e.computed((()=>i.strategy)),middleware:k}),A=e.computed((()=>({position:B.value,top:`${$.value??0}px`,left:`${P.value??0}px`,maxWidth:b.value,maxHeight:g.value,width:i.triggerWidth&&S.value?`${S.value.offsetWidth}px`:void 0}))),V=e.computed((()=>z.value.split("-")[0])),j=e.computed((()=>({top:"bottom",right:"left",bottom:"top",left:"right"}[V.value]??"bottom"))),C=e.computed((()=>{var e,t,o,a;return["bottom","top"].includes(j.value)?{right:`${(null==(e=O.value.arrow)?void 0:e.x)??0}px`,[j.value]:-((null==(t=w.value)?void 0:t.offsetWidth)??0)/2+"px"}:{top:`${(null==(o=O.value.arrow)?void 0:o.y)??0}px`,[j.value]:-((null==(a=w.value)?void 0:a.offsetWidth)??0)/2+"px"}})),N=a.useVModel(i,"modelValue",u),D=e.ref(!1),_=e.computed({get:()=>N.value??D.value,set:e=>{void 0!==N.value?N.value=e:D.value=e}}),R=()=>{_.value=!0},T=()=>{_.value=!1},W=()=>{_.value=!_.value},q=e=>{S.value=e};n({toggle:W,show:R,hide:T,init:q}),e.watch(_,(t=>{t&&i.autofocusFirst&&e.nextTick((()=>{const e=Q(x.value);e.length>0&&e[0].focus()}))})),a.onClickOutside(x,(()=>{i.keepOpen||(_.value=!1)}),{ignore:[S]});const F=e.computed((()=>{var e,t;return(null==(t=null==(e=S.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),K=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":_.value}))),{component:H,bus:M}=function({reference:t,id:o,expanded:a,aria:l}){const n=r(),u=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(f,{reference:t,id:o,expanded:a,aria:l,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:S,id:v,expanded:_,aria:K});M.on("click",W);const{role:U,modifiers:I}=e.toRefs(i),{itemRole:L}=function({role:t,expanded:o}){const a=e.computed((()=>t.value===d.listbox?s.option:s.presentation));return e.provide(p,{role:a,expanded:o}),{itemRole:a}}({role:U,expanded:_}),G=function(t,o,a){return e.computed((()=>{const r={[t]:!0},l="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${t}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((o=>{r[`${t}--${o}`]=e.unref(a.value[o])})),r}))}("vv-dropdown",I,e.computed((()=>({arrow:i.arrow})))),{focused:J}=a.useFocusWithin(x);function Q(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"))):[]}a.onKeyStroke("Escape",(e=>{_.value&&(e.preventDefault(),T())})),a.onKeyStroke("ArrowDown",(t=>{_.value&&J.value&&(t.preventDefault(),e.nextTick((()=>{if(J.value){const e=Q(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus():e[0].focus()}})))})),a.onKeyStroke("ArrowUp",(t=>{_.value&&J.value&&(t.preventDefault(),e.nextTick((()=>{if(J.value){const e=Q(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus():e[e.length-1].focus()}})))})),a.onKeyStroke([" ","Enter"],(e=>{if(_.value&&J.value&&e.target!==document.activeElement){e.preventDefault();document.activeElement.click()}}));const X=()=>{u(_.value?"beforeExpand":"beforeCollapse")},Y=()=>{u(_.value?"afterExpand":"afterCollapse")};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(H),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:q,show:R,hide:T,toggle:W,expanded:e.unref(_),aria:e.unref(K)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers({beforeEnter:X,onAfterLeave:Y})),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:x,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(G))},[i.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(C)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)}))),e.createElementVNode("div",e.mergeProps(e.unref(m),{id:e.unref(v),ref_key:"listEl",ref:E,tabindex:e.unref(_)?void 0:-1,role:e.unref(U),"aria-labelledby":e.unref(F),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(_)})))],6),[[e.vShow,e.unref(_)]])])),_:3},16,["name"])],64))}})}));