@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
@@ -90,7 +90,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
90
90
  type: BooleanConstructor;
91
91
  default: boolean;
92
92
  };
93
- autoClose: {
93
+ keepOpen: {
94
94
  type: BooleanConstructor;
95
95
  default: boolean;
96
96
  };
@@ -200,7 +200,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
200
200
  type: BooleanConstructor;
201
201
  default: boolean;
202
202
  };
203
- autoClose: {
203
+ keepOpen: {
204
204
  type: BooleanConstructor;
205
205
  default: boolean;
206
206
  };
@@ -220,7 +220,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
220
220
  onAfterExpand?: ((...args: any[]) => any) | undefined;
221
221
  onAfterCollapse?: ((...args: any[]) => any) | undefined;
222
222
  }, {
223
- modelValue: boolean;
224
223
  shift: boolean | Partial<import("@floating-ui/vue").ShiftOptions & {
225
224
  rootBoundary: import("@floating-ui/vue").RootBoundary;
226
225
  elementContext: import("@floating-ui/vue").ElementContext;
@@ -229,6 +228,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
229
228
  boundary: import("@floating-ui/vue").Boundary;
230
229
  }> | undefined;
231
230
  reference: HTMLElement | null;
231
+ modelValue: boolean;
232
232
  role: "listbox" | "menu";
233
233
  flip: boolean | Partial<import("@floating-ui/vue").FlipOptions & {
234
234
  rootBoundary: import("@floating-ui/vue").RootBoundary;
@@ -237,9 +237,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
237
237
  padding: import("@floating-ui/vue").Padding;
238
238
  boundary: import("@floating-ui/vue").Boundary;
239
239
  }> | undefined;
240
- placement: "left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end";
241
- strategy: "fixed" | "absolute";
242
- offset: string | import("@floating-ui/vue").OffsetOptions | undefined;
243
240
  size: boolean | Partial<{
244
241
  apply: (args: {
245
242
  x: number;
@@ -262,6 +259,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
262
259
  padding: import("@floating-ui/vue").Padding;
263
260
  boundary: import("@floating-ui/vue").Boundary;
264
261
  }> | undefined;
262
+ placement: "left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end";
263
+ strategy: "fixed" | "absolute";
264
+ offset: string | import("@floating-ui/vue").OffsetOptions | undefined;
265
265
  autoPlacement: boolean | Partial<import("@floating-ui/vue").AutoPlacementOptions & {
266
266
  rootBoundary: import("@floating-ui/vue").RootBoundary;
267
267
  elementContext: import("@floating-ui/vue").ElementContext;
@@ -270,11 +270,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
270
270
  boundary: import("@floating-ui/vue").Boundary;
271
271
  }> | undefined;
272
272
  arrow: boolean;
273
- autoClose: boolean;
273
+ keepOpen: boolean;
274
274
  autofocusFirst: boolean;
275
275
  triggerWidth: boolean;
276
- }>, {
277
- default: (_: {
276
+ }, {}>, {
277
+ default?(_: {
278
278
  init: (el: HTMLElement) => void;
279
279
  show: () => void;
280
280
  hide: () => void;
@@ -285,16 +285,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
285
285
  'aria-haspopup': boolean;
286
286
  'aria-expanded': boolean;
287
287
  };
288
- }) => any;
289
- before: (_: {
288
+ }): any;
289
+ before?(_: {
290
290
  expanded: boolean;
291
- }) => any;
292
- items: (_: {
291
+ }): any;
292
+ items?(_: {
293
293
  role: import("../../constants").DropdownItemRole;
294
- }) => any;
295
- after: (_: {
294
+ }): any;
295
+ after?(_: {
296
296
  expanded: boolean;
297
- }) => any;
297
+ }): any;
298
298
  }>;
299
299
  export default _default;
300
300
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -6,7 +6,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
6
6
  validator: (value: import("../../constants").ButtonType) => boolean;
7
7
  };
8
8
  to: {
9
- type: (StringConstructor | ObjectConstructor)[];
9
+ type: (ObjectConstructor | StringConstructor)[];
10
10
  };
11
11
  href: StringConstructor;
12
12
  target: {
@@ -29,7 +29,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
29
29
  validator: (value: import("../../constants").ButtonType) => boolean;
30
30
  };
31
31
  to: {
32
- type: (StringConstructor | ObjectConstructor)[];
32
+ type: (ObjectConstructor | StringConstructor)[];
33
33
  };
34
34
  href: StringConstructor;
35
35
  target: {
@@ -50,8 +50,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
50
50
  rel: string;
51
51
  active: boolean;
52
52
  pressed: boolean;
53
- }>, {
54
- default: (_: {}) => any;
53
+ }, {}>, {
54
+ default?(_: {}): any;
55
55
  }>;
56
56
  export default _default;
57
57
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,5 +1,5 @@
1
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, {
2
- default: (_: {}) => any;
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>, {
2
+ default?(_: {}): any;
3
3
  }>;
4
4
  export default _default;
5
5
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -2,5 +2,5 @@ declare const _default: import("vue").DefineComponent<{
2
2
  label: (StringConstructor | NumberConstructor)[];
3
3
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
4
4
  label: (StringConstructor | NumberConstructor)[];
5
- }>>, {}>;
5
+ }>>, {}, {}>;
6
6
  export default _default;
@@ -36,13 +36,13 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
36
36
  disabled: boolean;
37
37
  unselectable: boolean;
38
38
  selected: boolean;
39
- }>, {
40
- default: (_: {}) => any;
41
- hint: (_: {
39
+ }, {}>, {
40
+ default?(_: {}): any;
41
+ hint?(_: {
42
42
  disabled: boolean;
43
43
  selected: boolean;
44
44
  unselectable: boolean;
45
- }) => any;
45
+ }): any;
46
46
  }>;
47
47
  export default _default;
48
48
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -101,7 +101,7 @@ export declare const VvDropdownProps: {
101
101
  type: BooleanConstructor;
102
102
  default: boolean;
103
103
  };
104
- autoClose: {
104
+ keepOpen: {
105
105
  type: BooleanConstructor;
106
106
  default: boolean;
107
107
  };
@@ -51,9 +51,15 @@ var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
51
51
  return AnchorTarget2;
52
52
  })(AnchorTarget || {});
53
53
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
54
- const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for("dropdownTrigger");
55
- const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for("dropdownItem");
56
- const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for("dropdownAction");
54
+ const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
55
+ "dropdownTrigger"
56
+ );
57
+ const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
58
+ "dropdownItem"
59
+ );
60
+ const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
61
+ "dropdownAction"
62
+ );
57
63
  const LinkProps = {
58
64
  /**
59
65
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
@@ -202,11 +208,11 @@ const ModifiersProps = {
202
208
  default: false
203
209
  },
204
210
  /**
205
- * Close dropdown on click outside
211
+ * Keep open dropdown on click outside
206
212
  */
207
- autoClose: {
213
+ keepOpen: {
208
214
  type: Boolean,
209
- default: true
215
+ default: false
210
216
  },
211
217
  /**
212
218
  * Autofocus first item on dropdown open
@@ -258,11 +264,11 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
258
264
  ...__default__$2,
259
265
  props: VvActionProps,
260
266
  emits: VvActionEvents,
261
- setup(__props, { expose, emit }) {
267
+ setup(__props, { expose: __expose, emit }) {
262
268
  const props = __props;
263
269
  const volver = useVolver();
264
270
  const element = ref(null);
265
- expose({ $el: element });
271
+ __expose({ $el: element });
266
272
  const {
267
273
  reference: dropdownTriggerReference,
268
274
  bus: dropdownEventBus,
@@ -297,7 +303,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
297
303
  const toReturn = {
298
304
  ...dropdownAria == null ? void 0 : dropdownAria.value,
299
305
  "aria-pressed": pressed.value ? true : void 0,
300
- role
306
+ role: role == null ? void 0 : role.value
301
307
  };
302
308
  switch (hasTag.value) {
303
309
  case ActionTag.a:
@@ -365,7 +371,7 @@ function useProvideDropdownAction({
365
371
  expanded
366
372
  }) {
367
373
  provide(INJECTION_KEY_DROPDOWN_ACTION, {
368
- role: ActionRoles.menuitem,
374
+ role: ref(ActionRoles.menuitem),
369
375
  expanded
370
376
  });
371
377
  }
@@ -387,7 +393,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
387
393
  }
388
394
  });
389
395
  return (_ctx, _cache) => {
390
- return openBlock(), createElementBlock("li", mergeProps({ role: unref(role) }, {
396
+ return openBlock(), createElementBlock("div", mergeProps({ role: unref(role) }, {
391
397
  ref_key: "element",
392
398
  ref: element,
393
399
  class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownAction=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),l=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(l||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{}),a=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(a||{}),s=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(s||{});const i=Symbol.for("volver"),d=Symbol.for("dropdownTrigger"),c=Symbol.for("dropdownItem"),f=Symbol.for("dropdownAction"),p={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(s).includes(e)},rel:{type:String,default:"noopener noreferrer"}},v={disabled:Boolean},m={active:Boolean},b={pressed:Boolean},y={label:[String,Number]},g={modifiers:[String,Array]};n.before,r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const k={...v,...y,...b,...m,...p,type:{type:String,default:l.button,validator:e=>Object.values(l).includes(e)}},h=k;const x=e.defineComponent({name:"VvAction",props:h,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){const n=t,l=e.inject(i),a=e.ref(null);o({$el:a});const{reference:s,bus:c,aria:p,expanded:v}=e.inject(d,{});e.watch((()=>a.value),(e=>{s&&(s.value=e)}));const m=e.computed((()=>n.pressed||(null==v?void 0:v.value))),{role:b}=e.inject(f,{}),y=e.computed((()=>{switch(!0){case n.disabled:return u.button;case void 0!==n.to:return(null==l?void 0:l.nuxt)?u.nuxtLink:u.routerLink;case void 0!==n.href:return u.a;default:return u.button}})),g=e.computed((()=>{const e={...null==p?void 0:p.value,"aria-pressed":!!m.value||void 0,role:b};switch(y.value){case u.a:return{...e,href:n.href,target:n.target,rel:n.rel};case u.routerLink:case u.nuxtLink:return{...e,to:n.to,target:n.target};default:return{...e,type:n.type,disabled:n.disabled}}})),k=e=>{n.disabled?e.preventDefault():(null==c||c.emit("click",e),r("click",e))},h=e=>{null==c||c.emit("mouseover",e),r("mouseover",e)},x=e=>{null==c||c.emit("mouseleave",e),r("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(g),{ref_key:"element",ref:a,class:{active:t.active,pressed:e.unref(m),disabled:t.disabled},onClickPassive:k,onMouseoverPassive:h,onMouseleavePassive:x}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}});const B=e.defineComponent({name:"VvDropdownItem",setup(t){const{role:r,expanded:n}=e.inject(c,{}),l=e.ref(null);!function({expanded:t}){e.provide(f,{role:a.menuitem,expanded:t})}({expanded:n});const u=o.useElementHover(l),{focused:s}=o.useFocus(l),{focused:i}=o.useFocusWithin(l);return e.watch(u,(e=>{e&&(s.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({role:e.unref(r)},{ref_key:"element",ref:l,class:["vv-dropdown__item",{"focus-visible":e.unref(s)||e.unref(i)}]}),[e.renderSlot(t.$slots,"default")],16))}});return e.defineComponent({name:"VvDropdownAction",props:{...k,...g},setup(t){const o=t,{modifiers:r}=e.toRefs(o),n=function(t,o,r){return e.computed((()=>{const n={[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&&(n[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{n[`${t}--${o}`]=e.unref(r.value[o])})),n}))}("vv-dropdown-action",r);return(t,o)=>(e.openBlock(),e.createBlock(B,null,{default:e.withCtx((()=>[e.createVNode(x,e.mergeProps({disabled:t.disabled,pressed:t.pressed,active:t.active,type:t.type,to:t.to,href:t.href,target:t.target,rel:t.rel},{class:e.unref(n)}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"])])),_:3}))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownAction=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),l=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(l||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{}),a=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(a||{}),i=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(i||{});const s=Symbol.for("volver"),d=Symbol.for("dropdownTrigger"),c=Symbol.for("dropdownItem"),f=Symbol.for("dropdownAction"),p={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(i).includes(e)},rel:{type:String,default:"noopener noreferrer"}},v={disabled:Boolean},m={active:Boolean},b={pressed:Boolean},y={label:[String,Number]},g={modifiers:[String,Array]};n.before,r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const k={...v,...y,...b,...m,...p,type:{type:String,default:l.button,validator:e=>Object.values(l).includes(e)}},h=k;const x=e.defineComponent({name:"VvAction",props:h,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){const n=t,l=e.inject(s),a=e.ref(null);o({$el:a});const{reference:i,bus:c,aria:p,expanded:v}=e.inject(d,{});e.watch((()=>a.value),(e=>{i&&(i.value=e)}));const m=e.computed((()=>n.pressed||(null==v?void 0:v.value))),{role:b}=e.inject(f,{}),y=e.computed((()=>{switch(!0){case n.disabled:return u.button;case void 0!==n.to:return(null==l?void 0:l.nuxt)?u.nuxtLink:u.routerLink;case void 0!==n.href:return u.a;default:return u.button}})),g=e.computed((()=>{const e={...null==p?void 0:p.value,"aria-pressed":!!m.value||void 0,role:null==b?void 0:b.value};switch(y.value){case u.a:return{...e,href:n.href,target:n.target,rel:n.rel};case u.routerLink:case u.nuxtLink:return{...e,to:n.to,target:n.target};default:return{...e,type:n.type,disabled:n.disabled}}})),k=e=>{n.disabled?e.preventDefault():(null==c||c.emit("click",e),r("click",e))},h=e=>{null==c||c.emit("mouseover",e),r("mouseover",e)},x=e=>{null==c||c.emit("mouseleave",e),r("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(g),{ref_key:"element",ref:a,class:{active:t.active,pressed:e.unref(m),disabled:t.disabled},onClickPassive:k,onMouseoverPassive:h,onMouseleavePassive:x}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}});const B=e.defineComponent({name:"VvDropdownItem",setup(t){const{role:r,expanded:n}=e.inject(c,{}),l=e.ref(null);!function({expanded:t}){e.provide(f,{role:e.ref(a.menuitem),expanded:t})}({expanded:n});const u=o.useElementHover(l),{focused:i}=o.useFocus(l),{focused:s}=o.useFocusWithin(l);return e.watch(u,(e=>{e&&(i.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(r)},{ref_key:"element",ref:l,class:["vv-dropdown__item",{"focus-visible":e.unref(i)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}});return e.defineComponent({name:"VvDropdownAction",props:{...k,...g},setup(t){const o=t,{modifiers:r}=e.toRefs(o),n=function(t,o,r){return e.computed((()=>{const n={[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&&(n[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{n[`${t}--${o}`]=e.unref(r.value[o])})),n}))}("vv-dropdown-action",r);return(t,o)=>(e.openBlock(),e.createBlock(B,null,{default:e.withCtx((()=>[e.createVNode(x,e.mergeProps({disabled:t.disabled,pressed:t.pressed,active:t.active,type:t.type,to:t.to,href:t.href,target:t.target,rel:t.rel},{class:e.unref(n)}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"])])),_:3}))}})}));
@@ -1,4 +1,4 @@
1
- import { inject, provide, defineComponent, ref, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot } from "vue";
1
+ import { inject, provide, ref, defineComponent, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot } from "vue";
2
2
  import "mitt";
3
3
  import { useElementHover, useFocus, useFocusWithin } from "@vueuse/core";
4
4
  var ActionRoles = /* @__PURE__ */ ((ActionRoles2) => {
@@ -7,8 +7,12 @@ var ActionRoles = /* @__PURE__ */ ((ActionRoles2) => {
7
7
  ActionRoles2["menuitem"] = "menuitem";
8
8
  return ActionRoles2;
9
9
  })(ActionRoles || {});
10
- const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for("dropdownItem");
11
- const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for("dropdownAction");
10
+ const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
11
+ "dropdownItem"
12
+ );
13
+ const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
14
+ "dropdownAction"
15
+ );
12
16
  function useInjectedDropdownItem() {
13
17
  return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
14
18
  }
@@ -16,7 +20,7 @@ function useProvideDropdownAction({
16
20
  expanded
17
21
  }) {
18
22
  provide(INJECTION_KEY_DROPDOWN_ACTION, {
19
- role: ActionRoles.menuitem,
23
+ role: ref(ActionRoles.menuitem),
20
24
  expanded
21
25
  });
22
26
  }
@@ -38,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
42
  }
39
43
  });
40
44
  return (_ctx, _cache) => {
41
- return openBlock(), createElementBlock("li", mergeProps({ role: unref(role) }, {
45
+ return openBlock(), createElementBlock("div", mergeProps({ role: unref(role) }, {
42
46
  ref_key: "element",
43
47
  ref: element,
44
48
  class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownItem=o(e.vue,null,e.core)}(this,(function(e,o,n){"use strict";var t=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(t||{});const u=Symbol.for("dropdownItem"),r=Symbol.for("dropdownAction");return e.defineComponent({name:"VvDropdownItem",setup(o){const{role:i,expanded:d}=e.inject(u,{}),l=e.ref(null);!function({expanded:o}){e.provide(r,{role:t.menuitem,expanded:o})}({expanded:d});const s=n.useElementHover(l),{focused:f}=n.useFocus(l),{focused:c}=n.useFocusWithin(l);return e.watch(s,(e=>{e&&(f.value=!0)})),(o,n)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({role:e.unref(i)},{ref_key:"element",ref:l,class:["vv-dropdown__item",{"focus-visible":e.unref(f)||e.unref(c)}]}),[e.renderSlot(o.$slots,"default")],16))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownItem=o(e.vue,null,e.core)}(this,(function(e,o,n){"use strict";var t=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(t||{});const u=Symbol.for("dropdownItem"),r=Symbol.for("dropdownAction");return e.defineComponent({name:"VvDropdownItem",setup(o){const{role:d,expanded:i}=e.inject(u,{}),l=e.ref(null);!function({expanded:o}){e.provide(r,{role:e.ref(t.menuitem),expanded:o})}({expanded:i});const f=n.useElementHover(l),{focused:s}=n.useFocus(l),{focused:c}=n.useFocusWithin(l);return e.watch(f,(e=>{e&&(s.value=!0)})),(o,n)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(d)},{ref_key:"element",ref:l,class:["vv-dropdown__item",{"focus-visible":e.unref(s)||e.unref(c)}]}),[e.renderSlot(o.$slots,"default")],16))}})}));
@@ -177,11 +177,11 @@ const LabelProps = {
177
177
  default: false
178
178
  },
179
179
  /**
180
- * Close dropdown on click outside
180
+ * Keep open dropdown on click outside
181
181
  */
182
- autoClose: {
182
+ keepOpen: {
183
183
  type: Boolean,
184
- default: true
184
+ default: false
185
185
  },
186
186
  /**
187
187
  * Autofocus first item on dropdown open
@@ -1,4 +1,4 @@
1
- import { inject, provide, defineComponent, ref, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot, computed, toRefs, createBlock, normalizeClass, withCtx, createElementVNode, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from "vue";
1
+ import { inject, provide, ref, defineComponent, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot, computed, toRefs, createBlock, normalizeClass, withCtx, createElementVNode, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from "vue";
2
2
  import "mitt";
3
3
  import { useElementHover, useFocus, useFocusWithin } from "@vueuse/core";
4
4
  var Side = /* @__PURE__ */ ((Side2) => {
@@ -43,8 +43,12 @@ var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
43
43
  AnchorTarget2["_top"] = "_top";
44
44
  return AnchorTarget2;
45
45
  })(AnchorTarget || {});
46
- const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for("dropdownItem");
47
- const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for("dropdownAction");
46
+ const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
47
+ "dropdownItem"
48
+ );
49
+ const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
50
+ "dropdownAction"
51
+ );
48
52
  function useInjectedDropdownItem() {
49
53
  return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
50
54
  }
@@ -52,7 +56,7 @@ function useProvideDropdownAction({
52
56
  expanded
53
57
  }) {
54
58
  provide(INJECTION_KEY_DROPDOWN_ACTION, {
55
- role: ActionRoles.menuitem,
59
+ role: ref(ActionRoles.menuitem),
56
60
  expanded
57
61
  });
58
62
  }
@@ -74,7 +78,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
74
78
  }
75
79
  });
76
80
  return (_ctx, _cache) => {
77
- return openBlock(), createElementBlock("li", mergeProps({ role: unref(role) }, {
81
+ return openBlock(), createElementBlock("div", mergeProps({ role: unref(role) }, {
78
82
  ref_key: "element",
79
83
  ref: element,
80
84
  class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
@@ -244,11 +248,11 @@ const UnselectableProps = {
244
248
  default: false
245
249
  },
246
250
  /**
247
- * Close dropdown on click outside
251
+ * Keep open dropdown on click outside
248
252
  */
249
- autoClose: {
253
+ keepOpen: {
250
254
  type: Boolean,
251
- default: true
255
+ default: false
252
256
  },
253
257
  /**
254
258
  * Autofocus first item on dropdown open
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownOption=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),s=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(s||{});const d=Symbol.for("dropdownItem"),i=Symbol.for("dropdownAction");const a=e.defineComponent({name:"VvDropdownItem",setup(t){const{role:n,expanded:l}=e.inject(d,{}),r=e.ref(null);!function({expanded:t}){e.provide(i,{role:s.menuitem,expanded:t})}({expanded:l});const a=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:c}=o.useFocusWithin(r);return e.watch(a,(e=>{e&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({role:e.unref(n)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(c)}]}),[e.renderSlot(t.$slots,"default")],16))}}),u={disabled:Boolean},c={selected:Boolean},f=(Boolean,Boolean,{modifiers:[String,Array]});l.before;const p={unselectable:{type:Boolean,default:!0}};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button;const b=["title"];return e.defineComponent({name:"VvDropdownOption",props:{...u,...c,...p,...f,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String}},setup(t){const o=t,{modifiers:n}=e.toRefs(o),l=function(t,o,n){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)})),n&&Object.keys(n.value).forEach((o=>{l[`${t}--${o}`]=e.unref(n.value[o])})),l}))}("vv-dropdown-option",n,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),r=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?void 0:o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(a,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(r)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)]))],8,b)])),_:3},8,["class","tabindex","aria-selected","aria-disabled"]))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownOption=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),s=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(s||{});const d=Symbol.for("dropdownItem"),i=Symbol.for("dropdownAction");const a=e.defineComponent({name:"VvDropdownItem",setup(t){const{role:n,expanded:l}=e.inject(d,{}),r=e.ref(null);!function({expanded:t}){e.provide(i,{role:e.ref(s.menuitem),expanded:t})}({expanded:l});const a=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:c}=o.useFocusWithin(r);return e.watch(a,(e=>{e&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(n)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(c)}]}),[e.renderSlot(t.$slots,"default")],16))}}),u={disabled:Boolean},c={selected:Boolean},f=(Boolean,Boolean,{modifiers:[String,Array]});l.before;const p={unselectable:{type:Boolean,default:!0}};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button;const b=["title"];return e.defineComponent({name:"VvDropdownOption",props:{...u,...c,...p,...f,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String}},setup(t){const o=t,{modifiers:n}=e.toRefs(o),l=function(t,o,n){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)})),n&&Object.keys(n.value).forEach((o=>{l[`${t}--${o}`]=e.unref(n.value[o])})),l}))}("vv-dropdown-option",n,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),r=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?void 0:o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(a,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(r)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)]))],8,b)])),_:3},8,["class","tabindex","aria-selected","aria-disabled"]))}})}));
@@ -65,5 +65,5 @@ declare const _default: import("vue").DefineComponent<{
65
65
  horizontalFlip: boolean;
66
66
  verticalFlip: boolean;
67
67
  inline: boolean;
68
- }>;
68
+ }, {}>;
69
69
  export default _default;
@@ -29,8 +29,8 @@ declare const _default: import("vue").DefineComponent<{
29
29
  }>> & {
30
30
  onClear?: ((...args: any[]) => any) | undefined;
31
31
  }, {
32
- disabled: boolean;
33
32
  label: string;
33
+ disabled: boolean;
34
34
  icon: string;
35
- }>;
35
+ }, {}>;
36
36
  export default _default;
@@ -52,5 +52,5 @@ declare const _default: import("vue").DefineComponent<{
52
52
  labelHide: string;
53
53
  iconShow: string;
54
54
  iconHide: string;
55
- }>;
55
+ }, {}>;
56
56
  export default _default;
@@ -33,5 +33,5 @@ declare const _default: import("vue").DefineComponent<{
33
33
  }, {
34
34
  disabled: boolean;
35
35
  mode: string;
36
- }>;
36
+ }, {}>;
37
37
  export default _default;
@@ -598,11 +598,11 @@ const IdProps = {
598
598
  default: false
599
599
  },
600
600
  /**
601
- * Close dropdown on click outside
601
+ * Keep open dropdown on click outside
602
602
  */
603
- autoClose: {
603
+ keepOpen: {
604
604
  type: Boolean,
605
- default: true
605
+ default: false
606
606
  },
607
607
  /**
608
608
  * Autofocus first item on dropdown open
@@ -1251,12 +1251,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1251
1251
  ...__default__,
1252
1252
  props: VvInputTextProps,
1253
1253
  emits: VvInputTextEvents,
1254
- setup(__props, { expose, emit }) {
1254
+ setup(__props, { expose: __expose, emit }) {
1255
1255
  const props = __props;
1256
1256
  const slots = useSlots();
1257
1257
  const inputEl = ref();
1258
1258
  const innerEl = ref();
1259
- expose({ $inner: innerEl });
1259
+ __expose({ $inner: innerEl });
1260
1260
  const {
1261
1261
  id,
1262
1262
  icon,
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("maska"),require("@iconify/vue"),require("nanoid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","maska","@iconify/vue","nanoid","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.maska,e.vue$1,e.nanoid,e.core)}(this,(function(e,t,o,l,n){"use strict";function a(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function i(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const r={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 u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),s=(e=>(e.before="before",e.after="after",e))(s||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{});const c=Symbol.for("volver");function p(t,o,l){return e.computed((()=>{const n={[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&&(n[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{n[`${t}--${o}`]=e.unref(l.value[o])})),n}))}const v=e.defineComponent({name:"VvIcon",props:r,setup(t){const l=t,n=e.computed((()=>"string"==typeof l.rotate?parseFloat(l.rotate):l.rotate)),a=e.ref(!0),i=e.inject(c),{modifiers:r}=e.toRefs(l),u=p("vv-icon",r),s=e.computed((()=>l.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=l.name??"",t=`@${s.value}:${l.prefix}:${e}`;if(o.iconExists(t))return t;const n=null==i?void 0:i.iconsCollections.find((t=>{const l=`@${s.value}:${t.prefix}:${e}`;return o.iconExists(l)}));return n?`@${s.value}:${n.prefix}:${e}`:e}));function v(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),n=(null==t?void 0:t.innerHTML.trim())||"";t&&n&&o.addIcon(`@${s.value}:${l.prefix}:${l.name}`,{body:n,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&l.src&&!o.iconExists(`@${s.value}:${l.prefix}:${l.name}`)&&(a.value=!1,i.fetchIcon(l.src).then((e=>{e&&(v(e),a.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),l.svg&&v(l.svg),(t,l)=>e.unref(a)?(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(n),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("",!0)}}),m={valid:Boolean,validLabel:[String,Array]},f={invalid:Boolean,invalidLabel:[String,Array]},h={loading:Boolean,loadingLabel:{type:String,default:"Loading..."}},b={disabled:Boolean},g=(Boolean,Boolean,{label:[String,Number]}),S={readonly:Boolean},y={modifiers:[String,Array]},w={hintLabel:{type:String,default:""}},k={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},B={debounce:[Number,String]},L={icon:{type:[String,Object]},iconPosition:{type:String,default:s.before,validation:e=>Object.values(s).includes(e)}},E={tabindex:{type:[String,Number],default:0}},x={floating:Boolean},P={id:[String,Number]};u.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const T={...{...P,name:{type:String,required:!0}},...{autofocus:Boolean},...{autocomplete:{type:String,default:"off"}},...E,...b,...S,...m,...f,...w,...h,...y,...k,...B,...L,...x,...g,minlength:[String,Number],maxlength:[String,Number],placeholder:String,required:Boolean};d.button;const C={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},$="eye-on",A="eye-off",I="calendar",V="time",_="color",O="close",R={...T,modelValue:[String,Number],type:{type:String,default:C.TEXT,validator:e=>Object.values(C).includes(e)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:String,default:$},iconHidePassword:{type:String,default:A},iconClear:{type:String,default:O},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"},mask:{type:String,default:void 0},maskEager:{type:Boolean,default:!1},maskReversed:{type:Boolean,default:!1},maskTokens:{type:Object,default:void 0},maskTokensReplace:{type:Boolean,default:!1},autoWidth:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unit:{type:String}},D=e.defineComponent({components:{VvIcon:v},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:String,default:$},iconHide:{type:String,default:A}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),n=e.computed((()=>l.value?t.iconHide:t.iconShow));return{active:l,activeIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(l.value=!l.value,o("toggle-password",l.value))}}},render(){const t=e.h(v,{name:this.activeIcon,class:"vv-input-text__icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),N=e.defineComponent({components:{VvIcon:v},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:o}){const l=e.computed((()=>"up"===t.mode));return{isUp:l,onClick:e=>{null==e||e.stopPropagation(),t.disabled||o(l.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}}),H=e.defineComponent({components:{VvIcon:v},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:String,default:"close"}},emits:["clear"],setup:(e,{emit:t})=>({onClick:function(o){null==o||o.stopPropagation(),e.disabled||t("clear")}}),render(){const t=e.h(v,{name:this.icon,class:"vv-input-text__icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}});function M(t,o){return{name:"VvInputTextActions",components:{VvIcon:v,VvInputPasswordAction:D,VvInputStepAction:N,VvInputClearAction:H},setup:()=>({isDisabled:e.computed((()=>o.disabled||o.readonly)),labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}),render(){let l=null;switch(t){case C.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(H,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case C.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(D,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case C.NUMBER:{const{onStepUp:t,onStepDown:n}=this.$attrs;l=[e.h(N,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:n}),e.h(N,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:n})];break}}return Array.isArray(l)?e.h("div",{class:"vv-input-text__actions-group"},l):l}}}const U=["for"],W={class:"vv-input-text__wrapper"},q={key:0,class:"vv-input-text__input-before"},z=["onClick"],j=["id"],F={key:1,class:"vv-input-text__unit"},X={key:5,class:"vv-input-text__input-after"},K={key:6,class:"vv-input-text__limit"};return e.defineComponent({name:"VvInputText",props:R,emits:["update:modelValue","focus","blur","keyup"],setup(o,{expose:r,emit:d}){const c=o,m=e.useSlots(),f=e.ref(),h=e.ref();r({$inner:h});const{id:b,icon:g,iconPosition:S,label:y,modelValue:w,count:k,valid:B,invalid:L,loading:E}=e.toRefs(c),x=(t=>e.computed((()=>String((null==t?void 0:t.value)||l.nanoid()))))(b),P=e.computed((()=>`${x.value}-hint`)),T=e.computed((()=>c.floating&&a(c.placeholder)?" ":c.placeholder)),$=function(t,o,l=0,{getter:n=(e=>e),setter:a=(e=>e)}={}){let i;return"string"==typeof l&&(l=parseInt(l)),e.computed({get:()=>n(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{o("update:modelValue",a(e))}),l)}})}(w,d,c.debounce,{getter:e=>we.value?we.value.masked(e??""):e,setter:e=>(we.value&&(e=we.value.unmasked(e)),c.type===C.NUMBER?Number(e):e)}),{focused:A}=function(t,o){const{focused:l}=n.useFocus(t);return e.watch(l,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:l}}(f,d),O=e.computed((()=>A.value&&!c.disabled&&!c.readonly)),R=n.useElementVisibility(f);e.watch(R,(e=>{e&&c.autofocus&&!c.disabled&&!c.readonly&&(A.value=!0)}));const D=e.ref(!1),N=e.computed((()=>c.type===C.PASSWORD)),H=()=>{D.value=!D.value},J=e.computed((()=>c.type===C.TIME||c.type===C.DATETIME_LOCAL||c.type===C.DATE||c.type===C.WEEK||c.type===C.MONTH)),G=e.computed((()=>c.type===C.NUMBER)),Q=()=>{ie.value&&(f.value.stepUp(),$.value=e.unref(f).value)},Y=()=>{ie.value&&(f.value.stepDown(),$.value=e.unref(f).value)},Z=e.computed((()=>c.type===C.SEARCH)),ee=()=>{$.value=void 0},{hasIcon:te,hasIconBefore:oe,hasIconAfter:le}=function(t,o){const l=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===s.before))),n=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===s.after))),a=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.left))),i=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.right))),r=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.top))),d=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.bottom)));return{hasIcon:e.computed((()=>"string"==typeof(null==t?void 0:t.value)?{name:null==t?void 0:t.value}:null==t?void 0:t.value)),hasIconLeft:a,hasIconRight:i,hasIconTop:r,hasIconBottom:d,hasIconBefore:l,hasIconAfter:n}}(g,S),ne=e.computed((()=>{switch(c.type){case C.COLOR:return{name:_};case C.DATE:case C.DATETIME_LOCAL:case C.WEEK:case C.MONTH:return{name:I};case C.TIME:return{name:V};default:return""}})),{formatted:ae}=function(t,o){const l=e.computed((()=>(e.unref(t)??"").length)),n=e.computed((()=>void 0!==(null==o?void 0:o.lowerLimit)&&l.value<(null==o?void 0:o.lowerLimit)?l.value-o.lowerLimit:void 0!==(null==o?void 0:o.upperLimit)&&l.value<(null==o?void 0:o.upperLimit)?o.upperLimit-l.value:0)),a=e.computed((()=>{if(!1===(null==o?void 0:o.mode))return"";if("limit"===(null==o?void 0:o.mode)&&(null==o?void 0:o.upperLimit))return`${l.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===(null==o?void 0:o.mode)){if(0===n.value)return;return n}return l.value}));return{length:l,gap:n,formatted:a}}($,{mode:c.count,upperLimit:Number(c.maxlength),lowerLimit:Number(c.minlength)}),ie=e.computed((()=>!c.disabled&&!c.readonly)),re=e.computed((()=>ie.value?c.tabindex:-1)),ue=e.computed((()=>!a(w))),se=e.computed((()=>!0===L.value||!0!==B.value&&void 0)),{modifiers:de}=e.toRefs(c),ce=p("vv-input-text",de,e.computed((()=>({valid:B.value,invalid:L.value,loading:E.value,disabled:c.disabled,readonly:c.readonly,"icon-before":oe.value,"icon-after":le.value||!a(ne),floating:c.floating&&!a(c.label),dirty:ue.value,focus:O.value,"auto-width":c.autoWidth})))),pe=e.computed((()=>{const e=N.value&&D.value?C.TEXT:!J.value||ue.value||A.value?c.type:C.TEXT,t={type:e,name:c.name,tabindex:re.value,disabled:c.disabled,readonly:c.readonly,required:c.required,autocomplete:c.autocomplete,"aria-invalid":se.value,"aria-describedby":fe.value?P.value:void 0,"aria-errormessage":he.value?P.value:void 0};return e!==C.DATE&&e!==C.MONTH&&e!==C.WEEK&&e!==C.TIME&&e!==C.DATETIME_LOCAL&&e!==C.NUMBER||(t.step=c.step,t.max=void 0!==c.max?String(c.max):void 0,t.min=void 0!==c.min?String(c.min):void 0),e!==C.TEXT&&e!==C.SEARCH&&e!==C.URL&&e!==C.TEL&&e!==C.EMAIL&&e!==C.PASSWORD&&e!==C.NUMBER||(t.placeholder=T.value),e!==C.TEXT&&e!==C.SEARCH&&e!==C.URL&&e!==C.TEL&&e!==C.EMAIL&&e!==C.PASSWORD||(t.minlength=c.minlength,t.maxlength=c.maxlength,t.pattern=c.pattern),e===C.EMAIL&&(t.multiple=c.multiple),t})),ve=e.computed((()=>({valid:c.valid,invalid:c.invalid,modelValue:c.modelValue,togglePassword:H,stepUp:Q,stepDown:Y,clear:ee}))),{HintSlot:me,hasHintLabelOrSlot:fe,hasInvalidLabelOrSlot:he,hintSlotScope:be}=function(t,o){const l=e.computed((()=>i(t.invalidLabel))),n=e.computed((()=>i(t.validLabel))),a=e.computed((()=>t.loadingLabel)),r=e.computed((()=>t.hintLabel)),u=e.computed((()=>Boolean(t.loading&&(o.loading||a.value)))),s=e.computed((()=>!u.value&&Boolean(t.invalid&&(o.invalid||l.value)))),d=e.computed((()=>!u.value&&!s.value&&Boolean(t.valid&&(o.valid||n.value)))),c=e.computed((()=>!u.value&&!s.value&&!d.value&&Boolean(o.hint||r.value))),p=e.computed((()=>s.value||d.value||u.value||c.value)),v=e.computed((()=>({modelValue:t.modelValue,valid:t.valid,invalid:t.invalid,loading:t.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:l,validLabel:n,loadingLabel:a,hintLabel:r,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){var t,o,l,n,a,i,r,u;if(this.isVisible){let s;return this.hasInvalidLabelOrSlot&&(s="alert"),this.hasValidLabelOrSlot&&(s="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:s},(null==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:s},(null==(n=(l=this.$slots).invalid)?void 0:n.call(l))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:s},(null==(i=(a=this.$slots).valid)?void 0:i.call(a))??this.validLabel):e.h(this.tag,{role:s},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hintSlotScope:v,HintSlot:m}}(c,m),ge=M(C.PASSWORD,c),Se=M(C.NUMBER,c),ye=M(C.SEARCH,c),we=e.ref();e.watch([()=>c.mask,()=>c.type,()=>c.maskEager,()=>c.maskReversed,()=>c.maskTokens,()=>c.maskTokensReplace],(([e,o,l,n,a,i])=>{e&&o===C.TEXT?we.value=new t.Mask({mask:e,eager:l,reversed:n,tokens:a,tokensReplace:i}):we.value=void 0}),{immediate:!0});const ke=()=>{ie.value&&(A.value=!0)},Be=e.computed((()=>{if(c.autoWidth)return{width:void 0!==$.value?`${String($.value).length+1}ch`:void 0}}));return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ce))},[e.unref(y)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(x),class:"vv-input-text__label"},e.toDisplayString(e.unref(y)),9,U)):e.createCommentVNode("",!0),e.createElementVNode("div",W,[t.$slots.before?(e.openBlock(),e.createElementBlock("div",q,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ve))))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:h,class:"vv-input-text__inner",onClick:e.withModifiers(ke,["stop"])},[e.unref(oe)?(e.openBlock(),e.createBlock(v,e.mergeProps({key:0,class:"vv-input-text__icon"},e.unref(te)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(x),ref_key:"inputEl",ref:f,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef($)?$.value=t:null)},e.unref(pe),{style:e.unref(Be),onKeyup:o[1]||(o[1]=e=>d("keyup",e))}),null,16,j),[[e.vModelDynamic,e.unref($)]]),(t.unit||t.$slots.unit)&&e.unref(ue)?(e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(ve))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("",!0)],8,z),e.unref(le)||e.unref(ne)?(e.openBlock(),e.createBlock(v,e.mergeProps({key:1,class:"vv-input-text__icon vv-input-text__icon-after"},e.unref(le)?e.unref(te):e.unref(ne)),null,16)):e.unref(N)&&!t.hideActions&&e.unref(ie)?(e.openBlock(),e.createBlock(e.unref(ge),{key:2,onTogglePassword:H})):e.unref(G)&&!t.hideActions&&e.unref(ie)?(e.openBlock(),e.createBlock(e.unref(Se),{key:3,onStepUp:Q,onStepDown:Y})):e.unref(Z)&&!t.hideActions&&e.unref(ie)?(e.openBlock(),e.createBlock(e.unref(ye),{key:4,onClear:ee})):e.createCommentVNode("",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",X,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(ve))))])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("span",K,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(ve))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(ae)),1)]))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(me),{id:e.unref(P),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("maska"),require("@iconify/vue"),require("nanoid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","maska","@iconify/vue","nanoid","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.maska,e.vue$1,e.nanoid,e.core)}(this,(function(e,t,o,l,n){"use strict";function a(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function i(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const r={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 u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),s=(e=>(e.before="before",e.after="after",e))(s||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{});const c=Symbol.for("volver");function p(t,o,l){return e.computed((()=>{const n={[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&&(n[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{n[`${t}--${o}`]=e.unref(l.value[o])})),n}))}const v=e.defineComponent({name:"VvIcon",props:r,setup(t){const l=t,n=e.computed((()=>"string"==typeof l.rotate?parseFloat(l.rotate):l.rotate)),a=e.ref(!0),i=e.inject(c),{modifiers:r}=e.toRefs(l),u=p("vv-icon",r),s=e.computed((()=>l.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=l.name??"",t=`@${s.value}:${l.prefix}:${e}`;if(o.iconExists(t))return t;const n=null==i?void 0:i.iconsCollections.find((t=>{const l=`@${s.value}:${t.prefix}:${e}`;return o.iconExists(l)}));return n?`@${s.value}:${n.prefix}:${e}`:e}));function v(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),n=(null==t?void 0:t.innerHTML.trim())||"";t&&n&&o.addIcon(`@${s.value}:${l.prefix}:${l.name}`,{body:n,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&l.src&&!o.iconExists(`@${s.value}:${l.prefix}:${l.name}`)&&(a.value=!1,i.fetchIcon(l.src).then((e=>{e&&(v(e),a.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),l.svg&&v(l.svg),(t,l)=>e.unref(a)?(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(n),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("",!0)}}),m={valid:Boolean,validLabel:[String,Array]},f={invalid:Boolean,invalidLabel:[String,Array]},h={loading:Boolean,loadingLabel:{type:String,default:"Loading..."}},b={disabled:Boolean},g=(Boolean,Boolean,{label:[String,Number]}),S={readonly:Boolean},y={modifiers:[String,Array]},w={hintLabel:{type:String,default:""}},k={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},B={debounce:[Number,String]},L={icon:{type:[String,Object]},iconPosition:{type:String,default:s.before,validation:e=>Object.values(s).includes(e)}},E={tabindex:{type:[String,Number],default:0}},x={floating:Boolean},P={id:[String,Number]};u.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const T={...{...P,name:{type:String,required:!0}},...{autofocus:Boolean},...{autocomplete:{type:String,default:"off"}},...E,...b,...S,...m,...f,...w,...h,...y,...k,...B,...L,...x,...g,minlength:[String,Number],maxlength:[String,Number],placeholder:String,required:Boolean};d.button;const C={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},$="eye-on",A="eye-off",I="calendar",V="time",_="color",O={...T,modelValue:[String,Number],type:{type:String,default:C.TEXT,validator:e=>Object.values(C).includes(e)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:String,default:$},iconHidePassword:{type:String,default:A},iconClear:{type:String,default:"close"},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"},mask:{type:String,default:void 0},maskEager:{type:Boolean,default:!1},maskReversed:{type:Boolean,default:!1},maskTokens:{type:Object,default:void 0},maskTokensReplace:{type:Boolean,default:!1},autoWidth:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unit:{type:String}},R=e.defineComponent({components:{VvIcon:v},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:String,default:$},iconHide:{type:String,default:A}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),n=e.computed((()=>l.value?t.iconHide:t.iconShow));return{active:l,activeIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(l.value=!l.value,o("toggle-password",l.value))}}},render(){const t=e.h(v,{name:this.activeIcon,class:"vv-input-text__icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),D=e.defineComponent({components:{VvIcon:v},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:o}){const l=e.computed((()=>"up"===t.mode));return{isUp:l,onClick:e=>{null==e||e.stopPropagation(),t.disabled||o(l.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}}),N=e.defineComponent({components:{VvIcon:v},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:String,default:"close"}},emits:["clear"],setup:(e,{emit:t})=>({onClick:function(o){null==o||o.stopPropagation(),e.disabled||t("clear")}}),render(){const t=e.h(v,{name:this.icon,class:"vv-input-text__icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}});function H(t,o){return{name:"VvInputTextActions",components:{VvIcon:v,VvInputPasswordAction:R,VvInputStepAction:D,VvInputClearAction:N},setup:()=>({isDisabled:e.computed((()=>o.disabled||o.readonly)),labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}),render(){let l=null;switch(t){case C.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(N,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case C.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(R,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case C.NUMBER:{const{onStepUp:t,onStepDown:n}=this.$attrs;l=[e.h(D,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:n}),e.h(D,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:n})];break}}return Array.isArray(l)?e.h("div",{class:"vv-input-text__actions-group"},l):l}}}const M=["for"],U={class:"vv-input-text__wrapper"},W={key:0,class:"vv-input-text__input-before"},q=["onClick"],z=["id"],j={key:1,class:"vv-input-text__unit"},F={key:5,class:"vv-input-text__input-after"},X={key:6,class:"vv-input-text__limit"};return e.defineComponent({name:"VvInputText",props:O,emits:["update:modelValue","focus","blur","keyup"],setup(o,{expose:r,emit:d}){const c=o,m=e.useSlots(),f=e.ref(),h=e.ref();r({$inner:h});const{id:b,icon:g,iconPosition:S,label:y,modelValue:w,count:k,valid:B,invalid:L,loading:E}=e.toRefs(c),x=(t=>e.computed((()=>String((null==t?void 0:t.value)||l.nanoid()))))(b),P=e.computed((()=>`${x.value}-hint`)),T=e.computed((()=>c.floating&&a(c.placeholder)?" ":c.placeholder)),$=function(t,o,l=0,{getter:n=(e=>e),setter:a=(e=>e)}={}){let i;return"string"==typeof l&&(l=parseInt(l)),e.computed({get:()=>n(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{o("update:modelValue",a(e))}),l)}})}(w,d,c.debounce,{getter:e=>we.value?we.value.masked(e??""):e,setter:e=>(we.value&&(e=we.value.unmasked(e)),c.type===C.NUMBER?Number(e):e)}),{focused:A}=function(t,o){const{focused:l}=n.useFocus(t);return e.watch(l,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:l}}(f,d),O=e.computed((()=>A.value&&!c.disabled&&!c.readonly)),R=n.useElementVisibility(f);e.watch(R,(e=>{e&&c.autofocus&&!c.disabled&&!c.readonly&&(A.value=!0)}));const D=e.ref(!1),N=e.computed((()=>c.type===C.PASSWORD)),K=()=>{D.value=!D.value},J=e.computed((()=>c.type===C.TIME||c.type===C.DATETIME_LOCAL||c.type===C.DATE||c.type===C.WEEK||c.type===C.MONTH)),G=e.computed((()=>c.type===C.NUMBER)),Q=()=>{ie.value&&(f.value.stepUp(),$.value=e.unref(f).value)},Y=()=>{ie.value&&(f.value.stepDown(),$.value=e.unref(f).value)},Z=e.computed((()=>c.type===C.SEARCH)),ee=()=>{$.value=void 0},{hasIcon:te,hasIconBefore:oe,hasIconAfter:le}=function(t,o){const l=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===s.before))),n=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===s.after))),a=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.left))),i=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.right))),r=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.top))),d=e.computed((()=>Boolean((null==t?void 0:t.value)&&o.value===u.bottom)));return{hasIcon:e.computed((()=>"string"==typeof(null==t?void 0:t.value)?{name:null==t?void 0:t.value}:null==t?void 0:t.value)),hasIconLeft:a,hasIconRight:i,hasIconTop:r,hasIconBottom:d,hasIconBefore:l,hasIconAfter:n}}(g,S),ne=e.computed((()=>{switch(c.type){case C.COLOR:return{name:_};case C.DATE:case C.DATETIME_LOCAL:case C.WEEK:case C.MONTH:return{name:I};case C.TIME:return{name:V};default:return""}})),{formatted:ae}=function(t,o){const l=e.computed((()=>(e.unref(t)??"").length)),n=e.computed((()=>void 0!==(null==o?void 0:o.lowerLimit)&&l.value<(null==o?void 0:o.lowerLimit)?l.value-o.lowerLimit:void 0!==(null==o?void 0:o.upperLimit)&&l.value<(null==o?void 0:o.upperLimit)?o.upperLimit-l.value:0)),a=e.computed((()=>{if(!1===(null==o?void 0:o.mode))return"";if("limit"===(null==o?void 0:o.mode)&&(null==o?void 0:o.upperLimit))return`${l.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===(null==o?void 0:o.mode)){if(0===n.value)return;return n}return l.value}));return{length:l,gap:n,formatted:a}}($,{mode:c.count,upperLimit:Number(c.maxlength),lowerLimit:Number(c.minlength)}),ie=e.computed((()=>!c.disabled&&!c.readonly)),re=e.computed((()=>ie.value?c.tabindex:-1)),ue=e.computed((()=>!a(w))),se=e.computed((()=>!0===L.value||!0!==B.value&&void 0)),{modifiers:de}=e.toRefs(c),ce=p("vv-input-text",de,e.computed((()=>({valid:B.value,invalid:L.value,loading:E.value,disabled:c.disabled,readonly:c.readonly,"icon-before":oe.value,"icon-after":le.value||!a(ne),floating:c.floating&&!a(c.label),dirty:ue.value,focus:O.value,"auto-width":c.autoWidth})))),pe=e.computed((()=>{const e=N.value&&D.value?C.TEXT:!J.value||ue.value||A.value?c.type:C.TEXT,t={type:e,name:c.name,tabindex:re.value,disabled:c.disabled,readonly:c.readonly,required:c.required,autocomplete:c.autocomplete,"aria-invalid":se.value,"aria-describedby":fe.value?P.value:void 0,"aria-errormessage":he.value?P.value:void 0};return e!==C.DATE&&e!==C.MONTH&&e!==C.WEEK&&e!==C.TIME&&e!==C.DATETIME_LOCAL&&e!==C.NUMBER||(t.step=c.step,t.max=void 0!==c.max?String(c.max):void 0,t.min=void 0!==c.min?String(c.min):void 0),e!==C.TEXT&&e!==C.SEARCH&&e!==C.URL&&e!==C.TEL&&e!==C.EMAIL&&e!==C.PASSWORD&&e!==C.NUMBER||(t.placeholder=T.value),e!==C.TEXT&&e!==C.SEARCH&&e!==C.URL&&e!==C.TEL&&e!==C.EMAIL&&e!==C.PASSWORD||(t.minlength=c.minlength,t.maxlength=c.maxlength,t.pattern=c.pattern),e===C.EMAIL&&(t.multiple=c.multiple),t})),ve=e.computed((()=>({valid:c.valid,invalid:c.invalid,modelValue:c.modelValue,togglePassword:K,stepUp:Q,stepDown:Y,clear:ee}))),{HintSlot:me,hasHintLabelOrSlot:fe,hasInvalidLabelOrSlot:he,hintSlotScope:be}=function(t,o){const l=e.computed((()=>i(t.invalidLabel))),n=e.computed((()=>i(t.validLabel))),a=e.computed((()=>t.loadingLabel)),r=e.computed((()=>t.hintLabel)),u=e.computed((()=>Boolean(t.loading&&(o.loading||a.value)))),s=e.computed((()=>!u.value&&Boolean(t.invalid&&(o.invalid||l.value)))),d=e.computed((()=>!u.value&&!s.value&&Boolean(t.valid&&(o.valid||n.value)))),c=e.computed((()=>!u.value&&!s.value&&!d.value&&Boolean(o.hint||r.value))),p=e.computed((()=>s.value||d.value||u.value||c.value)),v=e.computed((()=>({modelValue:t.modelValue,valid:t.valid,invalid:t.invalid,loading:t.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:l,validLabel:n,loadingLabel:a,hintLabel:r,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){var t,o,l,n,a,i,r,u;if(this.isVisible){let s;return this.hasInvalidLabelOrSlot&&(s="alert"),this.hasValidLabelOrSlot&&(s="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:s},(null==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:s},(null==(n=(l=this.$slots).invalid)?void 0:n.call(l))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:s},(null==(i=(a=this.$slots).valid)?void 0:i.call(a))??this.validLabel):e.h(this.tag,{role:s},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hintSlotScope:v,HintSlot:m}}(c,m),ge=H(C.PASSWORD,c),Se=H(C.NUMBER,c),ye=H(C.SEARCH,c),we=e.ref();e.watch([()=>c.mask,()=>c.type,()=>c.maskEager,()=>c.maskReversed,()=>c.maskTokens,()=>c.maskTokensReplace],(([e,o,l,n,a,i])=>{we.value=e&&o===C.TEXT?new t.Mask({mask:e,eager:l,reversed:n,tokens:a,tokensReplace:i}):void 0}),{immediate:!0});const ke=()=>{ie.value&&(A.value=!0)},Be=e.computed((()=>{if(c.autoWidth)return{width:void 0!==$.value?`${String($.value).length+1}ch`:void 0}}));return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ce))},[e.unref(y)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(x),class:"vv-input-text__label"},e.toDisplayString(e.unref(y)),9,M)):e.createCommentVNode("",!0),e.createElementVNode("div",U,[t.$slots.before?(e.openBlock(),e.createElementBlock("div",W,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ve))))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:h,class:"vv-input-text__inner",onClick:e.withModifiers(ke,["stop"])},[e.unref(oe)?(e.openBlock(),e.createBlock(v,e.mergeProps({key:0,class:"vv-input-text__icon"},e.unref(te)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(x),ref_key:"inputEl",ref:f,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef($)?$.value=t:null)},e.unref(pe),{style:e.unref(Be),onKeyup:o[1]||(o[1]=e=>d("keyup",e))}),null,16,z),[[e.vModelDynamic,e.unref($)]]),(t.unit||t.$slots.unit)&&e.unref(ue)?(e.openBlock(),e.createElementBlock("div",j,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(ve))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("",!0)],8,q),e.unref(le)||e.unref(ne)?(e.openBlock(),e.createBlock(v,e.mergeProps({key:1,class:"vv-input-text__icon vv-input-text__icon-after"},e.unref(le)?e.unref(te):e.unref(ne)),null,16)):e.unref(N)&&!t.hideActions&&e.unref(ie)?(e.openBlock(),e.createBlock(e.unref(ge),{key:2,onTogglePassword:K})):e.unref(G)&&!t.hideActions&&e.unref(ie)?(e.openBlock(),e.createBlock(e.unref(Se),{key:3,onStepUp:Q,onStepDown:Y})):e.unref(Z)&&!t.hideActions&&e.unref(ie)?(e.openBlock(),e.createBlock(e.unref(ye),{key:4,onClear:ee})):e.createCommentVNode("",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(ve))))])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("span",X,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(ve))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(ae)),1)]))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(me),{id:e.unref(P),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));