@volverjs/ui-vue 0.0.10-beta.9 → 0.0.11

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 (1165) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +150 -54
  3. package/bin/icons.cjs +1 -1
  4. package/bin/icons.js +26 -22
  5. package/dist/Volver.d.ts +24 -12
  6. package/dist/components/VvAccordion/VvAccordion.es.js +140 -274
  7. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  8. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +36 -15
  9. package/dist/components/VvAccordion/index.d.ts +8 -9
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +399 -357
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +67 -19
  13. package/dist/components/VvAccordionGroup/index.d.ts +16 -8
  14. package/dist/components/VvAction/VvAction.es.js +63 -144
  15. package/dist/components/VvAction/VvAction.umd.js +1 -1
  16. package/dist/components/VvAction/VvAction.vue.d.ts +54 -30
  17. package/dist/components/VvAction/index.d.ts +22 -10
  18. package/dist/components/VvAlert/VvAlert.es.js +250 -453
  19. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  20. package/dist/components/VvAlert/VvAlert.vue.d.ts +41 -26
  21. package/dist/components/VvAlert/index.d.ts +20 -11
  22. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +253 -446
  23. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  24. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +29 -21
  25. package/dist/components/VvAlertGroup/index.d.ts +10 -18
  26. package/dist/components/VvAvatar/VvAvatar.es.js +23 -199
  27. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  28. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +16 -7
  29. package/dist/components/VvAvatar/index.d.ts +4 -1
  30. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +54 -226
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +20 -12
  33. package/dist/components/VvAvatarGroup/index.d.ts +6 -3
  34. package/dist/components/VvBadge/VvBadge.es.js +20 -200
  35. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  36. package/dist/components/VvBadge/VvBadge.vue.d.ts +16 -7
  37. package/dist/components/VvBadge/index.d.ts +4 -1
  38. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +88 -174
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +32 -22
  41. package/dist/components/VvBreadcrumb/index.d.ts +5 -2
  42. package/dist/components/VvButton/VvButton.es.js +427 -554
  43. package/dist/components/VvButton/VvButton.umd.js +1 -1
  44. package/dist/components/VvButton/VvButton.vue.d.ts +99 -55
  45. package/dist/components/VvButton/index.d.ts +48 -30
  46. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +46 -207
  47. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  48. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +39 -19
  49. package/dist/components/VvButtonGroup/index.d.ts +13 -4
  50. package/dist/components/VvCard/VvCard.es.js +19 -198
  51. package/dist/components/VvCard/VvCard.umd.js +1 -1
  52. package/dist/components/VvCard/VvCard.vue.d.ts +22 -10
  53. package/dist/components/VvCard/index.d.ts +4 -1
  54. package/dist/components/VvCheckbox/VvCheckbox.es.js +139 -303
  55. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  56. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +120 -45
  57. package/dist/components/VvCheckbox/index.d.ts +52 -19
  58. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +308 -444
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +127 -44
  61. package/dist/components/VvCheckboxGroup/index.d.ts +49 -12
  62. package/dist/components/VvCombobox/VvCombobox.es.js +2402 -2133
  63. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  64. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +333 -774
  65. package/dist/components/VvCombobox/index.d.ts +468 -132
  66. package/dist/components/VvDialog/VvDialog.es.js +129 -482
  67. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  68. package/dist/components/VvDialog/VvDialog.vue.d.ts +30 -11
  69. package/dist/components/VvDialog/index.d.ts +12 -0
  70. package/dist/components/VvDropdown/VvDropdown.es.js +117 -165
  71. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  72. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +120 -332
  73. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +65 -29
  74. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +16 -3
  75. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +14 -5
  76. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +44 -14
  77. package/dist/components/VvDropdown/index.d.ts +52 -118
  78. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +97 -162
  79. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  80. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +90 -4
  81. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  82. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +18 -186
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  84. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +116 -250
  85. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  86. package/dist/components/VvIcon/VvIcon.es.js +41 -120
  87. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  88. package/dist/components/VvIcon/VvIcon.vue.d.ts +5 -68
  89. package/dist/components/VvIcon/index.d.ts +34 -49
  90. package/dist/components/VvInputFile/VvInputFile.es.js +1704 -0
  91. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  92. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +331 -0
  93. package/dist/components/VvInputFile/index.d.ts +197 -0
  94. package/dist/components/VvInputText/VvInputText.es.js +1607 -626
  95. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  96. package/dist/components/VvInputText/VvInputText.vue.d.ts +256 -90
  97. package/dist/components/VvInputText/VvInputTextActions.d.ts +4 -3
  98. package/dist/components/VvInputText/index.d.ts +116 -44
  99. package/dist/components/VvNav/VvNav.es.js +102 -173
  100. package/dist/components/VvNav/VvNav.umd.js +1 -1
  101. package/dist/components/VvNav/VvNav.vue.d.ts +36 -13
  102. package/dist/components/VvNav/VvNavItem.vue.d.ts +8 -3
  103. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +2 -1
  104. package/dist/components/VvNav/index.d.ts +5 -2
  105. package/dist/components/VvNavItem/VvNavItem.es.js +70 -146
  106. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  107. package/dist/components/VvNavSeparator/VvNavSeparator.es.js +1 -1
  108. package/dist/components/VvNavSeparator/VvNavSeparator.umd.js +1 -1
  109. package/dist/components/VvProgress/VvProgress.es.js +21 -195
  110. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  111. package/dist/components/VvProgress/VvProgress.vue.d.ts +14 -6
  112. package/dist/components/VvProgress/index.d.ts +4 -1
  113. package/dist/components/VvRadio/VvRadio.es.js +137 -302
  114. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  115. package/dist/components/VvRadio/VvRadio.vue.d.ts +118 -43
  116. package/dist/components/VvRadio/index.d.ts +50 -17
  117. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +306 -443
  118. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  119. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +127 -44
  120. package/dist/components/VvRadioGroup/index.d.ts +49 -12
  121. package/dist/components/VvSelect/VvSelect.es.js +644 -703
  122. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  123. package/dist/components/VvSelect/VvSelect.vue.d.ts +178 -203
  124. package/dist/components/VvSelect/index.d.ts +221 -16
  125. package/dist/components/VvTab/VvTab.es.js +133 -196
  126. package/dist/components/VvTab/VvTab.umd.js +1 -1
  127. package/dist/components/VvTab/VvTab.vue.d.ts +38 -13
  128. package/dist/components/VvTab/index.d.ts +6 -3
  129. package/dist/components/VvTextarea/VvTextarea.es.js +1395 -585
  130. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  131. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +231 -66
  132. package/dist/components/VvTextarea/index.d.ts +105 -20
  133. package/dist/components/VvTooltip/VvTooltip.es.js +23 -194
  134. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  135. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +19 -11
  136. package/dist/components/VvTooltip/index.d.ts +5 -2
  137. package/dist/components/common/HintSlot.d.ts +8 -9
  138. package/dist/components/common/VvInputClearAction.d.ts +52 -0
  139. package/dist/components/common/VvInputPasswordAction.d.ts +71 -0
  140. package/dist/components/common/VvInputStepAction.d.ts +50 -0
  141. package/dist/components/index.d.ts +10 -0
  142. package/dist/components/index.es.js +3860 -1887
  143. package/dist/components/index.umd.js +1 -1
  144. package/dist/composables/alert/useAlerInject.d.ts +4 -0
  145. package/dist/composables/alert/useAlert.d.ts +71 -6
  146. package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
  147. package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
  148. package/dist/composables/dropdown/useDropdownInject.d.ts +12 -0
  149. package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +8 -8
  150. package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
  151. package/dist/composables/group/useGroupStateInject.d.ts +9 -0
  152. package/dist/composables/group/useGroupStateProvide.d.ts +6 -0
  153. package/dist/composables/index.d.ts +3 -0
  154. package/dist/composables/index.es.js +175 -9
  155. package/dist/composables/index.umd.js +1 -1
  156. package/dist/composables/useBlurhash.d.ts +7 -0
  157. package/dist/composables/useComponentFocus.d.ts +2 -2
  158. package/dist/composables/useComponentIcon.d.ts +9 -8
  159. package/dist/composables/useOptions.d.ts +5 -5
  160. package/dist/composables/usePersistence.d.ts +3 -0
  161. package/dist/composables/useUniqueId.d.ts +1 -1
  162. package/dist/composables/useVolver.d.ts +3 -0
  163. package/dist/constants.d.ts +35 -33
  164. package/dist/directives/index.d.ts +3 -3
  165. package/dist/directives/index.es.js +161 -232
  166. package/dist/directives/index.umd.js +1 -1
  167. package/dist/directives/v-contextmenu.es.js +131 -31
  168. package/dist/directives/v-contextmenu.umd.js +1 -1
  169. package/dist/directives/v-tooltip.d.ts +1 -1
  170. package/dist/directives/v-tooltip.es.js +24 -195
  171. package/dist/directives/v-tooltip.umd.js +1 -1
  172. package/dist/icons.d.ts +17 -17
  173. package/dist/icons.es.js +14 -1884
  174. package/dist/icons.umd.js +1 -1
  175. package/dist/index.d.ts +1 -1
  176. package/dist/index.es.js +89 -16
  177. package/dist/index.umd.js +1 -1
  178. package/dist/props/index.d.ts +314 -200
  179. package/dist/resolvers/unplugin.d.ts +7 -2
  180. package/dist/resolvers/unplugin.es.js +91 -14
  181. package/dist/resolvers/unplugin.umd.js +1 -1
  182. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  183. package/dist/stories/Accordion/Accordion.stories.d.ts +1 -1
  184. package/dist/stories/Accordion/AccordionSlots.stories.d.ts +1 -1
  185. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  186. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +3 -163
  187. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1648 -788
  188. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  189. package/dist/stories/Alert/Alert.stories.d.ts +1 -1
  190. package/dist/stories/Alert/AlertModifiers.stories.d.ts +2 -2
  191. package/dist/stories/Alert/AlertSlots.stories.d.ts +2 -2
  192. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  193. package/dist/stories/AlertGroup/AlertGroup.stories.d.ts +1 -1
  194. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +2 -2
  195. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +2 -2
  196. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +3 -3
  197. package/dist/stories/Avatar/Avatar.settings.d.ts +1 -1
  198. package/dist/stories/Avatar/Avatar.stories.d.ts +1 -1
  199. package/dist/stories/Avatar/AvatarBadge.stories.d.ts +1 -1
  200. package/dist/stories/Avatar/AvatarModifiers.stories.d.ts +1 -1
  201. package/dist/stories/Avatar/AvatarSlots.stories.d.ts +1 -1
  202. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  203. package/dist/stories/AvatarGroup/AvatarGroup.stories.d.ts +1 -1
  204. package/dist/stories/AvatarGroup/AvatarGroupModifiers.stories.d.ts +1 -1
  205. package/dist/stories/AvatarGroup/AvatarGroupSlotDefault.stories.d.ts +1 -1
  206. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  207. package/dist/stories/Badge/Badge.stories.d.ts +1 -1
  208. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  209. package/dist/stories/Badge/BadgeSlots.stories.d.ts +1 -1
  210. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  211. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  212. package/dist/stories/Breadcrumb/Breadcrumb.stories.d.ts +1 -1
  213. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  214. package/dist/stories/Breadcrumb/BreadcrumbSlots.stories.d.ts +1 -1
  215. package/dist/stories/Button/Button.settings.d.ts +2 -194
  216. package/dist/stories/Button/Button.stories.d.ts +1 -1
  217. package/dist/stories/Button/ButtonIcon.stories.d.ts +1 -1
  218. package/dist/stories/Button/ButtonLink.stories.d.ts +1 -1
  219. package/dist/stories/Button/ButtonLoading.stories.d.ts +1 -1
  220. package/dist/stories/Button/ButtonModifiers.stories.d.ts +1 -1
  221. package/dist/stories/Button/ButtonSlots.stories.d.ts +1 -1
  222. package/dist/stories/Button/ButtonState.stories.d.ts +1 -1
  223. package/dist/stories/Button/ButtonToggle.stories.d.ts +1 -1
  224. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  225. package/dist/stories/ButtonGroup/ButtonGroup.stories.d.ts +1 -1
  226. package/dist/stories/ButtonGroup/ButtonGroupModifiers.stories.d.ts +1 -1
  227. package/dist/stories/ButtonGroup/ButtonGroupSlots.stories.d.ts +1 -1
  228. package/dist/stories/ButtonGroup/ButtonGroupToggle.stories.d.ts +1 -1
  229. package/dist/stories/Card/Card.settings.d.ts +2 -63
  230. package/dist/stories/Card/Card.stories.d.ts +1 -1
  231. package/dist/stories/Card/Card.test.d.ts +1 -1
  232. package/dist/stories/Card/CardSlots.stories.d.ts +1 -1
  233. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  234. package/dist/stories/Checkbox/Checkbox.stories.d.ts +1 -1
  235. package/dist/stories/Checkbox/CheckboxBinary.stories.d.ts +1 -1
  236. package/dist/stories/Checkbox/CheckboxSlots.stories.d.ts +1 -1
  237. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  238. package/dist/stories/CheckboxGroup/CheckboxGroup.stories.d.ts +1 -1
  239. package/dist/stories/CheckboxGroup/CheckboxGroupOptions.stories.d.ts +1 -1
  240. package/dist/stories/CheckboxGroup/CheckboxGroupSlots.stories.d.ts +1 -1
  241. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -617
  242. package/dist/stories/Combobox/Combobox.stories.d.ts +4 -1
  243. package/dist/stories/Combobox/ComboboxIconPosition.stories.d.ts +1 -1
  244. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +2 -1
  245. package/dist/stories/Combobox/ComboboxOptions.stories.d.ts +1 -1
  246. package/dist/stories/Combobox/ComboboxSlots.stories.d.ts +1 -1
  247. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  248. package/dist/stories/Dialog/Dialog.stories.d.ts +1 -1
  249. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  250. package/dist/stories/Dialog/DialogSlots.stories.d.ts +1 -1
  251. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  252. package/dist/stories/Dropdown/Dropdown.stories.d.ts +1 -1
  253. package/dist/stories/Dropdown/DropdownContextmenuDirective.stories.d.ts +1 -1
  254. package/dist/stories/Dropdown/DropdownMultilevel.stories.d.ts +1 -1
  255. package/dist/stories/Dropdown/DropdownSlots.stories.d.ts +1 -1
  256. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  257. package/dist/stories/Icon/Icon.stories.d.ts +1 -1
  258. package/dist/stories/Icon/IconsCollection.stories.d.ts +1 -1
  259. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  260. package/dist/stories/InputFile/InputFile.stories.d.ts +13 -0
  261. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  262. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  263. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  264. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  265. package/dist/stories/InputText/InputText.stories.d.ts +3 -1
  266. package/dist/stories/InputText/InputText.test.d.ts +3 -0
  267. package/dist/stories/InputText/InputTextIconPosition.stories.d.ts +1 -1
  268. package/dist/stories/InputText/InputTextIso.stories.d.ts +10 -0
  269. package/dist/stories/InputText/InputTextLength.stories.d.ts +1 -1
  270. package/dist/stories/InputText/InputTextMask.stories.d.ts +1 -1
  271. package/dist/stories/InputText/InputTextMinMax.stories.d.ts +1 -1
  272. package/dist/stories/InputText/InputTextSlots.stories.d.ts +1 -1
  273. package/dist/stories/InputText/InputTextType.stories.d.ts +1 -1
  274. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  275. package/dist/stories/Nav/Nav.stories.d.ts +1 -1
  276. package/dist/stories/Nav/NavModifiers.stories.d.ts +1 -1
  277. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  278. package/dist/stories/Progress/Progress.stories.d.ts +1 -1
  279. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  280. package/dist/stories/Radio/Radio.stories.d.ts +1 -1
  281. package/dist/stories/Radio/RadioSlots.stories.d.ts +1 -1
  282. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  283. package/dist/stories/RadioGroup/RadioGroup.stories.d.ts +1 -1
  284. package/dist/stories/RadioGroup/RadioGroupOptions.stories.d.ts +1 -1
  285. package/dist/stories/RadioGroup/RadioGroupSlots.stories.d.ts +1 -1
  286. package/dist/stories/Select/Select.settings.d.ts +2 -246
  287. package/dist/stories/Select/Select.stories.d.ts +2 -1
  288. package/dist/stories/Select/SelectIconPosition.stories.d.ts +1 -1
  289. package/dist/stories/Select/SelectOptions.stories.d.ts +1 -1
  290. package/dist/stories/Select/SelectSlots.stories.d.ts +1 -1
  291. package/dist/stories/Tab/Tab.settings.d.ts +1 -1
  292. package/dist/stories/Tab/Tab.stories.d.ts +1 -1
  293. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  294. package/dist/stories/Textarea/Textarea.stories.d.ts +1 -1
  295. package/dist/stories/Textarea/TextareaLength.stories.d.ts +1 -1
  296. package/dist/stories/Textarea/TextareaSlots.stories.d.ts +1 -1
  297. package/dist/stories/Textarea/TextareatIconPosition.stories.d.ts +1 -1
  298. package/dist/stories/Tooltip/Tooltip.settings.d.ts +1 -1
  299. package/dist/stories/Tooltip/Tooltip.stories.d.ts +1 -1
  300. package/dist/stories/Tooltip/TooltipDirective.stories.d.ts +1 -1
  301. package/dist/stories/argTypes.d.ts +27 -866
  302. package/dist/test/expect.d.ts +1 -2
  303. package/dist/test/options.d.ts +1 -1
  304. package/dist/test/sleep.d.ts +1 -1
  305. package/dist/types/alert.d.ts +9 -7
  306. package/dist/types/blurhash.d.ts +12 -0
  307. package/dist/types/floating-ui.d.ts +1 -1
  308. package/dist/types/group.d.ts +37 -15
  309. package/dist/types/index.d.ts +2 -0
  310. package/dist/types/input-file.d.ts +9 -0
  311. package/dist/types/nav.d.ts +2 -2
  312. package/dist/utils/DateUtilities.d.ts +31 -0
  313. package/dist/utils/DomUtilities.d.ts +1 -0
  314. package/dist/utils/FileUtilities.d.ts +14 -0
  315. package/dist/utils/ObjectUtilities.d.ts +8 -9
  316. package/dist/workers/blurhash.d.ts +1 -0
  317. package/package.json +360 -379
  318. package/auto-imports.d.ts +0 -316
  319. package/dist/components/VvInputText/VvInputClearAction.d.ts +0 -36
  320. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +0 -56
  321. package/dist/components/VvInputText/VvInputStepAction.d.ts +0 -37
  322. package/dist/composables/alert/useInjectAlert.d.ts +0 -9
  323. package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
  324. package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
  325. package/dist/composables/group/useProvideGroupState.d.ts +0 -6
  326. package/env.d.ts +0 -1
  327. package/src/Volver.ts +0 -295
  328. package/src/assets/icons/detailed/add-circle.svg +0 -12
  329. package/src/assets/icons/detailed/add.svg +0 -8
  330. package/src/assets/icons/detailed/align-center.svg +0 -12
  331. package/src/assets/icons/detailed/align-justify.svg +0 -12
  332. package/src/assets/icons/detailed/align-left.svg +0 -12
  333. package/src/assets/icons/detailed/align-right.svg +0 -12
  334. package/src/assets/icons/detailed/analysis-2.svg +0 -20
  335. package/src/assets/icons/detailed/analysis-3.svg +0 -8
  336. package/src/assets/icons/detailed/analysis.svg +0 -16
  337. package/src/assets/icons/detailed/apple.svg +0 -16
  338. package/src/assets/icons/detailed/arrow-down.svg +0 -8
  339. package/src/assets/icons/detailed/arrow-left.svg +0 -8
  340. package/src/assets/icons/detailed/arrow-right.svg +0 -8
  341. package/src/assets/icons/detailed/arrow-up.svg +0 -8
  342. package/src/assets/icons/detailed/attachment.svg +0 -8
  343. package/src/assets/icons/detailed/back-to-front.svg +0 -17
  344. package/src/assets/icons/detailed/bell-active.svg +0 -14
  345. package/src/assets/icons/detailed/bell.svg +0 -14
  346. package/src/assets/icons/detailed/bold.svg +0 -8
  347. package/src/assets/icons/detailed/bookmark-active.svg +0 -12
  348. package/src/assets/icons/detailed/bookmark.svg +0 -12
  349. package/src/assets/icons/detailed/building.svg +0 -26
  350. package/src/assets/icons/detailed/bullet-list.svg +0 -22
  351. package/src/assets/icons/detailed/calendar.svg +0 -26
  352. package/src/assets/icons/detailed/camera-off.svg +0 -12
  353. package/src/assets/icons/detailed/camera-on.svg +0 -17
  354. package/src/assets/icons/detailed/catalog.svg +0 -15
  355. package/src/assets/icons/detailed/certificate.svg +0 -10
  356. package/src/assets/icons/detailed/chat.svg +0 -6
  357. package/src/assets/icons/detailed/check-badge.svg +0 -9
  358. package/src/assets/icons/detailed/check-circle.svg +0 -10
  359. package/src/assets/icons/detailed/check.svg +0 -6
  360. package/src/assets/icons/detailed/checkbox.svg +0 -8
  361. package/src/assets/icons/detailed/chevron-down-circle.svg +0 -10
  362. package/src/assets/icons/detailed/chevron-down.svg +0 -6
  363. package/src/assets/icons/detailed/chevron-left-circle.svg +0 -10
  364. package/src/assets/icons/detailed/chevron-left.svg +0 -6
  365. package/src/assets/icons/detailed/chevron-right-circle.svg +0 -7
  366. package/src/assets/icons/detailed/chevron-up-circle.svg +0 -10
  367. package/src/assets/icons/detailed/chevron-up.svg +0 -6
  368. package/src/assets/icons/detailed/circle.svg +0 -8
  369. package/src/assets/icons/detailed/classroom.svg +0 -38
  370. package/src/assets/icons/detailed/clear-field.svg +0 -14
  371. package/src/assets/icons/detailed/clear-style.svg +0 -9
  372. package/src/assets/icons/detailed/close-circle.svg +0 -14
  373. package/src/assets/icons/detailed/close-loader.svg +0 -6
  374. package/src/assets/icons/detailed/close.svg +0 -8
  375. package/src/assets/icons/detailed/coffee.svg +0 -21
  376. package/src/assets/icons/detailed/color.svg +0 -20
  377. package/src/assets/icons/detailed/contact-us.svg +0 -27
  378. package/src/assets/icons/detailed/copy.svg +0 -10
  379. package/src/assets/icons/detailed/courses.svg +0 -22
  380. package/src/assets/icons/detailed/dashboard.svg +0 -20
  381. package/src/assets/icons/detailed/download.svg +0 -10
  382. package/src/assets/icons/detailed/drag.svg +0 -10
  383. package/src/assets/icons/detailed/duplicate.svg +0 -23
  384. package/src/assets/icons/detailed/edit.svg +0 -16
  385. package/src/assets/icons/detailed/elearning.svg +0 -13
  386. package/src/assets/icons/detailed/email.svg +0 -11
  387. package/src/assets/icons/detailed/error-2.svg +0 -8
  388. package/src/assets/icons/detailed/error.svg +0 -12
  389. package/src/assets/icons/detailed/exercise.svg +0 -26
  390. package/src/assets/icons/detailed/external-link.svg +0 -11
  391. package/src/assets/icons/detailed/extract.svg +0 -20
  392. package/src/assets/icons/detailed/eye-off.svg +0 -15
  393. package/src/assets/icons/detailed/eye-on.svg +0 -8
  394. package/src/assets/icons/detailed/fail.svg +0 -11
  395. package/src/assets/icons/detailed/fast-back.svg +0 -20
  396. package/src/assets/icons/detailed/fast-forward.svg +0 -20
  397. package/src/assets/icons/detailed/file-add.svg +0 -19
  398. package/src/assets/icons/detailed/file-duplicate.svg +0 -16
  399. package/src/assets/icons/detailed/file-remove.svg +0 -17
  400. package/src/assets/icons/detailed/file-required.svg +0 -23
  401. package/src/assets/icons/detailed/file.svg +0 -13
  402. package/src/assets/icons/detailed/filter-2.svg +0 -22
  403. package/src/assets/icons/detailed/filter-active.svg +0 -12
  404. package/src/assets/icons/detailed/filter.svg +0 -12
  405. package/src/assets/icons/detailed/flag.svg +0 -11
  406. package/src/assets/icons/detailed/folder.svg +0 -14
  407. package/src/assets/icons/detailed/full-width.svg +0 -11
  408. package/src/assets/icons/detailed/go-to-back.svg +0 -19
  409. package/src/assets/icons/detailed/grid.svg +0 -20
  410. package/src/assets/icons/detailed/group-add.svg +0 -24
  411. package/src/assets/icons/detailed/group.svg +0 -16
  412. package/src/assets/icons/detailed/heart-active.svg +0 -12
  413. package/src/assets/icons/detailed/heart.svg +0 -12
  414. package/src/assets/icons/detailed/highlighter.svg +0 -10
  415. package/src/assets/icons/detailed/home.svg +0 -12
  416. package/src/assets/icons/detailed/hourglass.svg +0 -12
  417. package/src/assets/icons/detailed/image.svg +0 -15
  418. package/src/assets/icons/detailed/info-badge.svg +0 -9
  419. package/src/assets/icons/detailed/information.svg +0 -12
  420. package/src/assets/icons/detailed/italic.svg +0 -10
  421. package/src/assets/icons/detailed/key.svg +0 -5
  422. package/src/assets/icons/detailed/language.svg +0 -14
  423. package/src/assets/icons/detailed/learning-path.svg +0 -7
  424. package/src/assets/icons/detailed/light-off.svg +0 -10
  425. package/src/assets/icons/detailed/light-on.svg +0 -18
  426. package/src/assets/icons/detailed/link.svg +0 -12
  427. package/src/assets/icons/detailed/lock.svg +0 -13
  428. package/src/assets/icons/detailed/login.svg +0 -11
  429. package/src/assets/icons/detailed/logout.svg +0 -11
  430. package/src/assets/icons/detailed/maximaze.svg +0 -12
  431. package/src/assets/icons/detailed/menu.svg +0 -9
  432. package/src/assets/icons/detailed/merge.svg +0 -20
  433. package/src/assets/icons/detailed/minimize.svg +0 -14
  434. package/src/assets/icons/detailed/mixed-class.svg +0 -40
  435. package/src/assets/icons/detailed/more-horizontal.svg +0 -7
  436. package/src/assets/icons/detailed/more-vertical.svg +0 -7
  437. package/src/assets/icons/detailed/news.svg +0 -12
  438. package/src/assets/icons/detailed/no-prerequisites.svg +0 -13
  439. package/src/assets/icons/detailed/notes.svg +0 -14
  440. package/src/assets/icons/detailed/number-code.svg +0 -34
  441. package/src/assets/icons/detailed/numbered-list.svg +0 -18
  442. package/src/assets/icons/detailed/on-site.svg +0 -22
  443. package/src/assets/icons/detailed/order-down.svg +0 -12
  444. package/src/assets/icons/detailed/order-up.svg +0 -12
  445. package/src/assets/icons/detailed/paste.svg +0 -14
  446. package/src/assets/icons/detailed/pausa.svg +0 -8
  447. package/src/assets/icons/detailed/pdf.svg +0 -12
  448. package/src/assets/icons/detailed/phone.svg +0 -10
  449. package/src/assets/icons/detailed/pin-map.svg +0 -12
  450. package/src/assets/icons/detailed/pin.svg +0 -15
  451. package/src/assets/icons/detailed/pizza.svg +0 -17
  452. package/src/assets/icons/detailed/play.svg +0 -11
  453. package/src/assets/icons/detailed/plug-in.svg +0 -10
  454. package/src/assets/icons/detailed/pointer.svg +0 -12
  455. package/src/assets/icons/detailed/printer.svg +0 -26
  456. package/src/assets/icons/detailed/profile-add.svg +0 -20
  457. package/src/assets/icons/detailed/profile.svg +0 -10
  458. package/src/assets/icons/detailed/push-pin-off.svg +0 -11
  459. package/src/assets/icons/detailed/push-pin-on.svg +0 -9
  460. package/src/assets/icons/detailed/qrcode.svg +0 -28
  461. package/src/assets/icons/detailed/question-badge.svg +0 -10
  462. package/src/assets/icons/detailed/radio.svg +0 -8
  463. package/src/assets/icons/detailed/redo.svg +0 -9
  464. package/src/assets/icons/detailed/relations.svg +0 -32
  465. package/src/assets/icons/detailed/reload.svg +0 -13
  466. package/src/assets/icons/detailed/remove-circle.svg +0 -10
  467. package/src/assets/icons/detailed/remove.svg +0 -5
  468. package/src/assets/icons/detailed/reorder.svg +0 -12
  469. package/src/assets/icons/detailed/repeat.svg +0 -12
  470. package/src/assets/icons/detailed/repository.svg +0 -18
  471. package/src/assets/icons/detailed/request-form.svg +0 -18
  472. package/src/assets/icons/detailed/resize-100%.svg +0 -15
  473. package/src/assets/icons/detailed/resize-height.svg +0 -12
  474. package/src/assets/icons/detailed/resize-width.svg +0 -12
  475. package/src/assets/icons/detailed/search.svg +0 -12
  476. package/src/assets/icons/detailed/sequential-prerequisites.svg +0 -20
  477. package/src/assets/icons/detailed/settings.svg +0 -14
  478. package/src/assets/icons/detailed/share.svg +0 -20
  479. package/src/assets/icons/detailed/sketch.svg +0 -12
  480. package/src/assets/icons/detailed/skills.svg +0 -20
  481. package/src/assets/icons/detailed/skip-back.svg +0 -12
  482. package/src/assets/icons/detailed/skip-forward.svg +0 -13
  483. package/src/assets/icons/detailed/sms.svg +0 -18
  484. package/src/assets/icons/detailed/sso-access.svg +0 -18
  485. package/src/assets/icons/detailed/star-active.svg +0 -6
  486. package/src/assets/icons/detailed/star.svg +0 -6
  487. package/src/assets/icons/detailed/success.svg +0 -10
  488. package/src/assets/icons/detailed/sun.svg +0 -24
  489. package/src/assets/icons/detailed/sunrise.svg +0 -18
  490. package/src/assets/icons/detailed/support.svg +0 -18
  491. package/src/assets/icons/detailed/survey.svg +0 -24
  492. package/src/assets/icons/detailed/table.svg +0 -11
  493. package/src/assets/icons/detailed/tematic-channels.svg +0 -12
  494. package/src/assets/icons/detailed/test.svg +0 -14
  495. package/src/assets/icons/detailed/text-body.svg +0 -8
  496. package/src/assets/icons/detailed/text-edit.svg +0 -11
  497. package/src/assets/icons/detailed/text-style.svg +0 -10
  498. package/src/assets/icons/detailed/time.svg +0 -10
  499. package/src/assets/icons/detailed/toilet-piper.svg +0 -15
  500. package/src/assets/icons/detailed/training-points.svg +0 -16
  501. package/src/assets/icons/detailed/trash.svg +0 -19
  502. package/src/assets/icons/detailed/underline.svg +0 -8
  503. package/src/assets/icons/detailed/undo.svg +0 -9
  504. package/src/assets/icons/detailed/unlock.svg +0 -13
  505. package/src/assets/icons/detailed/upload.svg +0 -10
  506. package/src/assets/icons/detailed/user-add.svg +0 -16
  507. package/src/assets/icons/detailed/user-badge.svg +0 -11
  508. package/src/assets/icons/detailed/user.svg +0 -8
  509. package/src/assets/icons/detailed/video-off.svg +0 -17
  510. package/src/assets/icons/detailed/video-on.svg +0 -16
  511. package/src/assets/icons/detailed/video-rec.svg +0 -19
  512. package/src/assets/icons/detailed/view-card.svg +0 -12
  513. package/src/assets/icons/detailed/view-list.svg +0 -20
  514. package/src/assets/icons/detailed/view.svg +0 -7
  515. package/src/assets/icons/detailed/voice-off.svg +0 -14
  516. package/src/assets/icons/detailed/voice-on.svg +0 -16
  517. package/src/assets/icons/detailed/volume-down.svg +0 -14
  518. package/src/assets/icons/detailed/volume-off.svg +0 -19
  519. package/src/assets/icons/detailed/volume-up.svg +0 -16
  520. package/src/assets/icons/detailed/warning.svg +0 -16
  521. package/src/assets/icons/detailed/webinar.svg +0 -57
  522. package/src/assets/icons/detailed/whiteboard.svg +0 -16
  523. package/src/assets/icons/detailed/wine.svg +0 -22
  524. package/src/assets/icons/detailed/zip.svg +0 -17
  525. package/src/assets/icons/detailed/zoom-in.svg +0 -18
  526. package/src/assets/icons/detailed/zoom-out.svg +0 -16
  527. package/src/assets/icons/detailed.json +0 -1
  528. package/src/assets/icons/normal/add-circle.svg +0 -12
  529. package/src/assets/icons/normal/add.svg +0 -4
  530. package/src/assets/icons/normal/align-center.svg +0 -11
  531. package/src/assets/icons/normal/align-justify.svg +0 -11
  532. package/src/assets/icons/normal/align-left.svg +0 -11
  533. package/src/assets/icons/normal/align-right.svg +0 -11
  534. package/src/assets/icons/normal/analysis-2.svg +0 -18
  535. package/src/assets/icons/normal/analysis-3.svg +0 -8
  536. package/src/assets/icons/normal/analysis.svg +0 -14
  537. package/src/assets/icons/normal/apple.svg +0 -16
  538. package/src/assets/icons/normal/arrow-down.svg +0 -8
  539. package/src/assets/icons/normal/arrow-left.svg +0 -8
  540. package/src/assets/icons/normal/arrow-right.svg +0 -8
  541. package/src/assets/icons/normal/arrow-up.svg +0 -8
  542. package/src/assets/icons/normal/attachment.svg +0 -6
  543. package/src/assets/icons/normal/back-to-front.svg +0 -15
  544. package/src/assets/icons/normal/bell-active.svg +0 -14
  545. package/src/assets/icons/normal/bell.svg +0 -14
  546. package/src/assets/icons/normal/bold.svg +0 -8
  547. package/src/assets/icons/normal/bookmark active.svg +0 -12
  548. package/src/assets/icons/normal/bookmark.svg +0 -10
  549. package/src/assets/icons/normal/building.svg +0 -21
  550. package/src/assets/icons/normal/bulleted-list.svg +0 -23
  551. package/src/assets/icons/normal/calendar.svg +0 -20
  552. package/src/assets/icons/normal/camera-off.svg +0 -17
  553. package/src/assets/icons/normal/camera-on.svg +0 -16
  554. package/src/assets/icons/normal/catalog.svg +0 -13
  555. package/src/assets/icons/normal/certificate.svg +0 -12
  556. package/src/assets/icons/normal/chat.svg +0 -6
  557. package/src/assets/icons/normal/check-badge.svg +0 -9
  558. package/src/assets/icons/normal/check-circle.svg +0 -10
  559. package/src/assets/icons/normal/check.svg +0 -4
  560. package/src/assets/icons/normal/checkbox.svg +0 -8
  561. package/src/assets/icons/normal/chevron-down-circle.svg +0 -10
  562. package/src/assets/icons/normal/chevron-down.svg +0 -6
  563. package/src/assets/icons/normal/chevron-left-circle.svg +0 -10
  564. package/src/assets/icons/normal/chevron-left.svg +0 -6
  565. package/src/assets/icons/normal/chevron-right-circle.svg +0 -10
  566. package/src/assets/icons/normal/chevron-right.svg +0 -7
  567. package/src/assets/icons/normal/chevron-up-circle.svg +0 -10
  568. package/src/assets/icons/normal/chevron-up.svg +0 -6
  569. package/src/assets/icons/normal/circle.svg +0 -8
  570. package/src/assets/icons/normal/classroom.svg +0 -36
  571. package/src/assets/icons/normal/clear-field.svg +0 -14
  572. package/src/assets/icons/normal/clear-style.svg +0 -18
  573. package/src/assets/icons/normal/close-circle.svg +0 -14
  574. package/src/assets/icons/normal/close-loader.svg +0 -6
  575. package/src/assets/icons/normal/close.svg +0 -8
  576. package/src/assets/icons/normal/coffee.svg +0 -26
  577. package/src/assets/icons/normal/color.svg +0 -18
  578. package/src/assets/icons/normal/contact-us.svg +0 -29
  579. package/src/assets/icons/normal/copy.svg +0 -10
  580. package/src/assets/icons/normal/courses.svg +0 -22
  581. package/src/assets/icons/normal/dashboard.svg +0 -18
  582. package/src/assets/icons/normal/download.svg +0 -10
  583. package/src/assets/icons/normal/drag.svg +0 -5
  584. package/src/assets/icons/normal/dulicate.svg +0 -22
  585. package/src/assets/icons/normal/edit.svg +0 -16
  586. package/src/assets/icons/normal/elearning.svg +0 -16
  587. package/src/assets/icons/normal/email.svg +0 -11
  588. package/src/assets/icons/normal/error-2.svg +0 -8
  589. package/src/assets/icons/normal/error.svg +0 -12
  590. package/src/assets/icons/normal/exercise.svg +0 -26
  591. package/src/assets/icons/normal/external-link.svg +0 -11
  592. package/src/assets/icons/normal/extract.svg +0 -14
  593. package/src/assets/icons/normal/eye-off.svg +0 -14
  594. package/src/assets/icons/normal/eye-on.svg +0 -16
  595. package/src/assets/icons/normal/fail.svg +0 -11
  596. package/src/assets/icons/normal/fast-back.svg +0 -19
  597. package/src/assets/icons/normal/fast-forward.svg +0 -17
  598. package/src/assets/icons/normal/file-add.svg +0 -16
  599. package/src/assets/icons/normal/file-duplicate.svg +0 -22
  600. package/src/assets/icons/normal/file-remove.svg +0 -14
  601. package/src/assets/icons/normal/file-required.svg +0 -24
  602. package/src/assets/icons/normal/file.svg +0 -13
  603. package/src/assets/icons/normal/filter-2.svg +0 -20
  604. package/src/assets/icons/normal/filter-active.svg +0 -12
  605. package/src/assets/icons/normal/filter.svg +0 -12
  606. package/src/assets/icons/normal/flag.svg +0 -10
  607. package/src/assets/icons/normal/folder.svg +0 -12
  608. package/src/assets/icons/normal/full-width.svg +0 -9
  609. package/src/assets/icons/normal/go-to-back.svg +0 -19
  610. package/src/assets/icons/normal/grid.svg +0 -20
  611. package/src/assets/icons/normal/group-add.svg +0 -18
  612. package/src/assets/icons/normal/group.svg +0 -14
  613. package/src/assets/icons/normal/heart-active.svg +0 -10
  614. package/src/assets/icons/normal/heart.svg +0 -10
  615. package/src/assets/icons/normal/highlighter.svg +0 -11
  616. package/src/assets/icons/normal/home.svg +0 -12
  617. package/src/assets/icons/normal/hourglass.svg +0 -8
  618. package/src/assets/icons/normal/image.svg +0 -15
  619. package/src/assets/icons/normal/info-badge.svg +0 -9
  620. package/src/assets/icons/normal/information.svg +0 -12
  621. package/src/assets/icons/normal/italic.svg +0 -10
  622. package/src/assets/icons/normal/key.svg +0 -8
  623. package/src/assets/icons/normal/language.svg +0 -14
  624. package/src/assets/icons/normal/learning-path.svg +0 -7
  625. package/src/assets/icons/normal/light-off.svg +0 -10
  626. package/src/assets/icons/normal/light-on.svg +0 -17
  627. package/src/assets/icons/normal/link.svg +0 -12
  628. package/src/assets/icons/normal/lock.svg +0 -12
  629. package/src/assets/icons/normal/login.svg +0 -10
  630. package/src/assets/icons/normal/logout.svg +0 -10
  631. package/src/assets/icons/normal/maximize.svg +0 -10
  632. package/src/assets/icons/normal/menu.svg +0 -8
  633. package/src/assets/icons/normal/merge.svg +0 -20
  634. package/src/assets/icons/normal/minimize.svg +0 -12
  635. package/src/assets/icons/normal/mixed-class.svg +0 -36
  636. package/src/assets/icons/normal/more-horizontal.svg +0 -7
  637. package/src/assets/icons/normal/more-vertical.svg +0 -7
  638. package/src/assets/icons/normal/news.svg +0 -9
  639. package/src/assets/icons/normal/no-prerequisites.svg +0 -12
  640. package/src/assets/icons/normal/notes.svg +0 -15
  641. package/src/assets/icons/normal/number-code.svg +0 -34
  642. package/src/assets/icons/normal/numbered-list.svg +0 -19
  643. package/src/assets/icons/normal/on-site.svg +0 -18
  644. package/src/assets/icons/normal/order-down.svg +0 -12
  645. package/src/assets/icons/normal/order-up.svg +0 -11
  646. package/src/assets/icons/normal/paste.svg +0 -14
  647. package/src/assets/icons/normal/pausa.svg +0 -7
  648. package/src/assets/icons/normal/pdf.svg +0 -12
  649. package/src/assets/icons/normal/phone.svg +0 -10
  650. package/src/assets/icons/normal/pin-map.svg +0 -10
  651. package/src/assets/icons/normal/pin.svg +0 -12
  652. package/src/assets/icons/normal/pizza.svg +0 -17
  653. package/src/assets/icons/normal/play.svg +0 -9
  654. package/src/assets/icons/normal/plug-in.svg +0 -10
  655. package/src/assets/icons/normal/pointer.svg +0 -12
  656. package/src/assets/icons/normal/printer.svg +0 -28
  657. package/src/assets/icons/normal/profile-add.svg +0 -28
  658. package/src/assets/icons/normal/profile.svg +0 -15
  659. package/src/assets/icons/normal/push pin on.svg +0 -9
  660. package/src/assets/icons/normal/push-pin-off.svg +0 -23
  661. package/src/assets/icons/normal/qrcode.svg +0 -26
  662. package/src/assets/icons/normal/question-badge.svg +0 -10
  663. package/src/assets/icons/normal/radio.svg +0 -8
  664. package/src/assets/icons/normal/redo.svg +0 -9
  665. package/src/assets/icons/normal/relations.svg +0 -28
  666. package/src/assets/icons/normal/reload.svg +0 -12
  667. package/src/assets/icons/normal/remove-circle.svg +0 -10
  668. package/src/assets/icons/normal/remove.svg +0 -4
  669. package/src/assets/icons/normal/reorder.svg +0 -12
  670. package/src/assets/icons/normal/repeat.svg +0 -12
  671. package/src/assets/icons/normal/repository.svg +0 -18
  672. package/src/assets/icons/normal/request-form.svg +0 -18
  673. package/src/assets/icons/normal/resize-100%.svg +0 -17
  674. package/src/assets/icons/normal/resize-height.svg +0 -12
  675. package/src/assets/icons/normal/resize-width.svg +0 -12
  676. package/src/assets/icons/normal/search.svg +0 -10
  677. package/src/assets/icons/normal/sequential-prerequisites.svg +0 -20
  678. package/src/assets/icons/normal/settings.svg +0 -14
  679. package/src/assets/icons/normal/share.svg +0 -20
  680. package/src/assets/icons/normal/sketch.svg +0 -11
  681. package/src/assets/icons/normal/skills.svg +0 -16
  682. package/src/assets/icons/normal/skip-back.svg +0 -12
  683. package/src/assets/icons/normal/skip-forward.svg +0 -13
  684. package/src/assets/icons/normal/sms.svg +0 -20
  685. package/src/assets/icons/normal/sso-access.svg +0 -20
  686. package/src/assets/icons/normal/star-active.svg +0 -4
  687. package/src/assets/icons/normal/star.svg +0 -4
  688. package/src/assets/icons/normal/success.svg +0 -10
  689. package/src/assets/icons/normal/sun.svg +0 -24
  690. package/src/assets/icons/normal/sunrise.svg +0 -18
  691. package/src/assets/icons/normal/support.svg +0 -18
  692. package/src/assets/icons/normal/survey.svg +0 -24
  693. package/src/assets/icons/normal/table.svg +0 -11
  694. package/src/assets/icons/normal/tematic-channels.svg +0 -10
  695. package/src/assets/icons/normal/test.svg +0 -15
  696. package/src/assets/icons/normal/text-body.svg +0 -8
  697. package/src/assets/icons/normal/text-edit.svg +0 -11
  698. package/src/assets/icons/normal/text-style.svg +0 -10
  699. package/src/assets/icons/normal/time.svg +0 -10
  700. package/src/assets/icons/normal/toilet-paper.svg +0 -15
  701. package/src/assets/icons/normal/training-points.svg +0 -16
  702. package/src/assets/icons/normal/trash.svg +0 -19
  703. package/src/assets/icons/normal/underline.svg +0 -8
  704. package/src/assets/icons/normal/undo.svg +0 -9
  705. package/src/assets/icons/normal/unlock.svg +0 -13
  706. package/src/assets/icons/normal/upload.svg +0 -10
  707. package/src/assets/icons/normal/user-add.svg +0 -14
  708. package/src/assets/icons/normal/user-badge.svg +0 -11
  709. package/src/assets/icons/normal/user.svg +0 -5
  710. package/src/assets/icons/normal/video-off.svg +0 -11
  711. package/src/assets/icons/normal/video-on.svg +0 -20
  712. package/src/assets/icons/normal/video-rec.svg +0 -23
  713. package/src/assets/icons/normal/view-card.svg +0 -10
  714. package/src/assets/icons/normal/view-list.svg +0 -18
  715. package/src/assets/icons/normal/view.svg +0 -8
  716. package/src/assets/icons/normal/voice-off.svg +0 -18
  717. package/src/assets/icons/normal/voice-on.svg +0 -15
  718. package/src/assets/icons/normal/volume-down.svg +0 -14
  719. package/src/assets/icons/normal/volume-off.svg +0 -18
  720. package/src/assets/icons/normal/volume-up.svg +0 -16
  721. package/src/assets/icons/normal/warning.svg +0 -16
  722. package/src/assets/icons/normal/webinar.svg +0 -36
  723. package/src/assets/icons/normal/whiteboard.svg +0 -17
  724. package/src/assets/icons/normal/wine.svg +0 -22
  725. package/src/assets/icons/normal/zip.svg +0 -19
  726. package/src/assets/icons/normal/zoom-in.svg +0 -16
  727. package/src/assets/icons/normal/zoom-out.svg +0 -14
  728. package/src/assets/icons/normal.json +0 -1
  729. package/src/assets/icons/simple/add-circle.svg +0 -12
  730. package/src/assets/icons/simple/add.svg +0 -8
  731. package/src/assets/icons/simple/align-center.svg +0 -12
  732. package/src/assets/icons/simple/align-justify.svg +0 -12
  733. package/src/assets/icons/simple/align-left.svg +0 -12
  734. package/src/assets/icons/simple/align-right.svg +0 -12
  735. package/src/assets/icons/simple/analysis-2.svg +0 -21
  736. package/src/assets/icons/simple/analysis-3.svg +0 -8
  737. package/src/assets/icons/simple/analysis.svg +0 -16
  738. package/src/assets/icons/simple/apple.svg +0 -18
  739. package/src/assets/icons/simple/arrow-down.svg +0 -8
  740. package/src/assets/icons/simple/arrow-left.svg +0 -8
  741. package/src/assets/icons/simple/arrow-right.svg +0 -8
  742. package/src/assets/icons/simple/arrow-up.svg +0 -8
  743. package/src/assets/icons/simple/attachment.svg +0 -10
  744. package/src/assets/icons/simple/bck-to-front.svg +0 -19
  745. package/src/assets/icons/simple/bell-active.svg +0 -14
  746. package/src/assets/icons/simple/bell.svg +0 -14
  747. package/src/assets/icons/simple/bold.svg +0 -8
  748. package/src/assets/icons/simple/bookmark-active.svg +0 -12
  749. package/src/assets/icons/simple/bookmark.svg +0 -12
  750. package/src/assets/icons/simple/building.svg +0 -25
  751. package/src/assets/icons/simple/bulleted-list.svg +0 -22
  752. package/src/assets/icons/simple/calendar.svg +0 -22
  753. package/src/assets/icons/simple/camera-off.svg +0 -12
  754. package/src/assets/icons/simple/camera-on.svg +0 -16
  755. package/src/assets/icons/simple/catalog.svg +0 -14
  756. package/src/assets/icons/simple/certificate.svg +0 -15
  757. package/src/assets/icons/simple/chat.svg +0 -9
  758. package/src/assets/icons/simple/check-badge.svg +0 -9
  759. package/src/assets/icons/simple/check-circle.svg +0 -10
  760. package/src/assets/icons/simple/check.svg +0 -6
  761. package/src/assets/icons/simple/checkbox.svg +0 -6
  762. package/src/assets/icons/simple/chevron-down-circle.svg +0 -10
  763. package/src/assets/icons/simple/chevron-down.svg +0 -6
  764. package/src/assets/icons/simple/chevron-left-circle.svg +0 -10
  765. package/src/assets/icons/simple/chevron-left.svg +0 -6
  766. package/src/assets/icons/simple/chevron-right-circle.svg +0 -10
  767. package/src/assets/icons/simple/chevron-right.svg +0 -7
  768. package/src/assets/icons/simple/chevron-up-circle.svg +0 -10
  769. package/src/assets/icons/simple/chevron-up.svg +0 -6
  770. package/src/assets/icons/simple/circle.svg +0 -8
  771. package/src/assets/icons/simple/classroom.svg +0 -38
  772. package/src/assets/icons/simple/clear-field.svg +0 -11
  773. package/src/assets/icons/simple/clear-style.svg +0 -15
  774. package/src/assets/icons/simple/close-circle.svg +0 -14
  775. package/src/assets/icons/simple/close-loader.svg +0 -6
  776. package/src/assets/icons/simple/close.svg +0 -10
  777. package/src/assets/icons/simple/coffee.svg +0 -28
  778. package/src/assets/icons/simple/color.svg +0 -20
  779. package/src/assets/icons/simple/contact-us.svg +0 -26
  780. package/src/assets/icons/simple/copy.svg +0 -10
  781. package/src/assets/icons/simple/courses.svg +0 -21
  782. package/src/assets/icons/simple/dashboard.svg +0 -20
  783. package/src/assets/icons/simple/download.svg +0 -10
  784. package/src/assets/icons/simple/drag.svg +0 -10
  785. package/src/assets/icons/simple/duplicate.svg +0 -24
  786. package/src/assets/icons/simple/edit.svg +0 -17
  787. package/src/assets/icons/simple/elearning.svg +0 -17
  788. package/src/assets/icons/simple/email.svg +0 -11
  789. package/src/assets/icons/simple/error-2.svg +0 -8
  790. package/src/assets/icons/simple/error.svg +0 -12
  791. package/src/assets/icons/simple/exercise.svg +0 -30
  792. package/src/assets/icons/simple/external-link.svg +0 -13
  793. package/src/assets/icons/simple/extract.svg +0 -17
  794. package/src/assets/icons/simple/eye-off.svg +0 -13
  795. package/src/assets/icons/simple/eye-on.svg +0 -11
  796. package/src/assets/icons/simple/fail.svg +0 -11
  797. package/src/assets/icons/simple/fast-back.svg +0 -20
  798. package/src/assets/icons/simple/fast-forward.svg +0 -19
  799. package/src/assets/icons/simple/file-add.svg +0 -20
  800. package/src/assets/icons/simple/file-duplicate.svg +0 -22
  801. package/src/assets/icons/simple/file-remove.svg +0 -18
  802. package/src/assets/icons/simple/file-required.svg +0 -24
  803. package/src/assets/icons/simple/file.svg +0 -14
  804. package/src/assets/icons/simple/filter-2.svg +0 -24
  805. package/src/assets/icons/simple/filter-active.svg +0 -13
  806. package/src/assets/icons/simple/filter.svg +0 -12
  807. package/src/assets/icons/simple/flag.svg +0 -12
  808. package/src/assets/icons/simple/folder.svg +0 -14
  809. package/src/assets/icons/simple/full-width.svg +0 -11
  810. package/src/assets/icons/simple/go-to-back.svg +0 -18
  811. package/src/assets/icons/simple/grid.svg +0 -20
  812. package/src/assets/icons/simple/group-add.svg +0 -24
  813. package/src/assets/icons/simple/group.svg +0 -18
  814. package/src/assets/icons/simple/heart-active.svg +0 -12
  815. package/src/assets/icons/simple/heart.svg +0 -12
  816. package/src/assets/icons/simple/highlighter.svg +0 -12
  817. package/src/assets/icons/simple/home.svg +0 -13
  818. package/src/assets/icons/simple/hourglass.svg +0 -11
  819. package/src/assets/icons/simple/image.svg +0 -15
  820. package/src/assets/icons/simple/info-badge.svg +0 -9
  821. package/src/assets/icons/simple/information.svg +0 -12
  822. package/src/assets/icons/simple/italic.svg +0 -12
  823. package/src/assets/icons/simple/key.svg +0 -11
  824. package/src/assets/icons/simple/language.svg +0 -12
  825. package/src/assets/icons/simple/learning-path.svg +0 -9
  826. package/src/assets/icons/simple/light-off.svg +0 -7
  827. package/src/assets/icons/simple/light-on.svg +0 -18
  828. package/src/assets/icons/simple/link.svg +0 -14
  829. package/src/assets/icons/simple/lock.svg +0 -13
  830. package/src/assets/icons/simple/login.svg +0 -11
  831. package/src/assets/icons/simple/logout.svg +0 -11
  832. package/src/assets/icons/simple/maximaze.svg +0 -12
  833. package/src/assets/icons/simple/menu.svg +0 -10
  834. package/src/assets/icons/simple/merge.svg +0 -20
  835. package/src/assets/icons/simple/minimaze.svg +0 -12
  836. package/src/assets/icons/simple/mixed-class.svg +0 -40
  837. package/src/assets/icons/simple/more-horizontal.svg +0 -8
  838. package/src/assets/icons/simple/more-vertical.svg +0 -8
  839. package/src/assets/icons/simple/news.svg +0 -12
  840. package/src/assets/icons/simple/no-prerequisites.svg +0 -17
  841. package/src/assets/icons/simple/notes.svg +0 -14
  842. package/src/assets/icons/simple/number-code.svg +0 -29
  843. package/src/assets/icons/simple/numbered-list.svg +0 -18
  844. package/src/assets/icons/simple/on-site.svg +0 -18
  845. package/src/assets/icons/simple/order-down.svg +0 -12
  846. package/src/assets/icons/simple/order-up.svg +0 -12
  847. package/src/assets/icons/simple/paste.svg +0 -14
  848. package/src/assets/icons/simple/pausa.svg +0 -8
  849. package/src/assets/icons/simple/pdf.svg +0 -12
  850. package/src/assets/icons/simple/phone.svg +0 -10
  851. package/src/assets/icons/simple/pin-map.svg +0 -13
  852. package/src/assets/icons/simple/pin.svg +0 -14
  853. package/src/assets/icons/simple/pizza.svg +0 -17
  854. package/src/assets/icons/simple/play.svg +0 -10
  855. package/src/assets/icons/simple/plug-in.svg +0 -10
  856. package/src/assets/icons/simple/pointer.svg +0 -6
  857. package/src/assets/icons/simple/printer.svg +0 -28
  858. package/src/assets/icons/simple/profile-add.svg +0 -28
  859. package/src/assets/icons/simple/profile.svg +0 -13
  860. package/src/assets/icons/simple/push-pin-off.svg +0 -11
  861. package/src/assets/icons/simple/push-pin-on.svg +0 -12
  862. package/src/assets/icons/simple/qrcode.svg +0 -26
  863. package/src/assets/icons/simple/question-badge.svg +0 -10
  864. package/src/assets/icons/simple/radio.svg +0 -8
  865. package/src/assets/icons/simple/redo.svg +0 -9
  866. package/src/assets/icons/simple/relations.svg +0 -28
  867. package/src/assets/icons/simple/reload.svg +0 -12
  868. package/src/assets/icons/simple/remove-circle.svg +0 -10
  869. package/src/assets/icons/simple/remove.svg +0 -6
  870. package/src/assets/icons/simple/repeart.svg +0 -14
  871. package/src/assets/icons/simple/repository.svg +0 -18
  872. package/src/assets/icons/simple/request-form.svg +0 -20
  873. package/src/assets/icons/simple/resize-100%.svg +0 -15
  874. package/src/assets/icons/simple/resize-height.svg +0 -12
  875. package/src/assets/icons/simple/resize-width.svg +0 -14
  876. package/src/assets/icons/simple/search.svg +0 -10
  877. package/src/assets/icons/simple/sequential-prerequisites.svg +0 -22
  878. package/src/assets/icons/simple/settings.svg +0 -17
  879. package/src/assets/icons/simple/share.svg +0 -21
  880. package/src/assets/icons/simple/sketch.svg +0 -13
  881. package/src/assets/icons/simple/skills.svg +0 -17
  882. package/src/assets/icons/simple/skip-back.svg +0 -14
  883. package/src/assets/icons/simple/skip-forward.svg +0 -14
  884. package/src/assets/icons/simple/sms.svg +0 -22
  885. package/src/assets/icons/simple/sso-access.svg +0 -20
  886. package/src/assets/icons/simple/star-active.svg +0 -6
  887. package/src/assets/icons/simple/star.svg +0 -6
  888. package/src/assets/icons/simple/success.svg +0 -12
  889. package/src/assets/icons/simple/sun.svg +0 -22
  890. package/src/assets/icons/simple/sunrise.svg +0 -18
  891. package/src/assets/icons/simple/support.svg +0 -18
  892. package/src/assets/icons/simple/survey.svg +0 -32
  893. package/src/assets/icons/simple/table.svg +0 -11
  894. package/src/assets/icons/simple/tematic-channels.svg +0 -15
  895. package/src/assets/icons/simple/test.svg +0 -23
  896. package/src/assets/icons/simple/text-body.svg +0 -7
  897. package/src/assets/icons/simple/text-edit.svg +0 -11
  898. package/src/assets/icons/simple/text-style.svg +0 -10
  899. package/src/assets/icons/simple/time.svg +0 -10
  900. package/src/assets/icons/simple/toilet-paper.svg +0 -17
  901. package/src/assets/icons/simple/training-points.svg +0 -18
  902. package/src/assets/icons/simple/trash.svg +0 -20
  903. package/src/assets/icons/simple/underline.svg +0 -9
  904. package/src/assets/icons/simple/undo.svg +0 -9
  905. package/src/assets/icons/simple/unlock.svg +0 -15
  906. package/src/assets/icons/simple/upload.svg +0 -10
  907. package/src/assets/icons/simple/user-add.svg +0 -18
  908. package/src/assets/icons/simple/user-badge.svg +0 -12
  909. package/src/assets/icons/simple/user.svg +0 -8
  910. package/src/assets/icons/simple/video-off.svg +0 -17
  911. package/src/assets/icons/simple/video-on.svg +0 -17
  912. package/src/assets/icons/simple/video-rec.svg +0 -20
  913. package/src/assets/icons/simple/view-card.svg +0 -12
  914. package/src/assets/icons/simple/view-list.svg +0 -20
  915. package/src/assets/icons/simple/view.svg +0 -17
  916. package/src/assets/icons/simple/voice-off.svg +0 -16
  917. package/src/assets/icons/simple/voice-on.svg +0 -16
  918. package/src/assets/icons/simple/volume-down.svg +0 -15
  919. package/src/assets/icons/simple/volume-off.svg +0 -16
  920. package/src/assets/icons/simple/volume-up.svg +0 -16
  921. package/src/assets/icons/simple/warning.svg +0 -14
  922. package/src/assets/icons/simple/webinar.svg +0 -19
  923. package/src/assets/icons/simple/whiteboard.svg +0 -16
  924. package/src/assets/icons/simple/wine.svg +0 -24
  925. package/src/assets/icons/simple/zip.svg +0 -22
  926. package/src/assets/icons/simple/zoom-in.svg +0 -18
  927. package/src/assets/icons/simple/zoom-out.svg +0 -17
  928. package/src/assets/icons/simple.json +0 -1
  929. package/src/components/VvAccordion/VvAccordion.vue +0 -109
  930. package/src/components/VvAccordion/index.ts +0 -96
  931. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +0 -115
  932. package/src/components/VvAccordionGroup/index.ts +0 -50
  933. package/src/components/VvAction/VvAction.vue +0 -148
  934. package/src/components/VvAction/index.ts +0 -5
  935. package/src/components/VvAlert/VvAlert.vue +0 -76
  936. package/src/components/VvAlert/index.ts +0 -162
  937. package/src/components/VvAlertGroup/VvAlertGroup.vue +0 -64
  938. package/src/components/VvAlertGroup/index.ts +0 -132
  939. package/src/components/VvAvatar/VvAvatar.vue +0 -21
  940. package/src/components/VvAvatar/index.ts +0 -9
  941. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +0 -65
  942. package/src/components/VvAvatarGroup/index.ts +0 -28
  943. package/src/components/VvBadge/VvBadge.vue +0 -20
  944. package/src/components/VvBadge/index.ts +0 -6
  945. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +0 -55
  946. package/src/components/VvBreadcrumb/index.ts +0 -7
  947. package/src/components/VvButton/VvButton.vue +0 -164
  948. package/src/components/VvButton/index.ts +0 -132
  949. package/src/components/VvButtonGroup/VvButtonGroup.vue +0 -74
  950. package/src/components/VvButtonGroup/index.ts +0 -28
  951. package/src/components/VvCard/VvCard.vue +0 -37
  952. package/src/components/VvCard/index.ts +0 -6
  953. package/src/components/VvCheckbox/VvCheckbox.vue +0 -198
  954. package/src/components/VvCheckbox/index.ts +0 -65
  955. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +0 -99
  956. package/src/components/VvCheckboxGroup/index.ts +0 -5
  957. package/src/components/VvCombobox/VvCombobox.vue +0 -629
  958. package/src/components/VvCombobox/index.ts +0 -179
  959. package/src/components/VvDialog/VvDialog.vue +0 -144
  960. package/src/components/VvDialog/index.ts +0 -42
  961. package/src/components/VvDropdown/VvDropdown.vue +0 -475
  962. package/src/components/VvDropdown/VvDropdownAction.vue +0 -46
  963. package/src/components/VvDropdown/VvDropdownItem.vue +0 -32
  964. package/src/components/VvDropdown/VvDropdownOptgroup.vue +0 -18
  965. package/src/components/VvDropdown/VvDropdownOption.vue +0 -72
  966. package/src/components/VvDropdown/index.ts +0 -32
  967. package/src/components/VvIcon/README.md +0 -64
  968. package/src/components/VvIcon/VvIcon.vue +0 -139
  969. package/src/components/VvIcon/index.ts +0 -103
  970. package/src/components/VvInputText/VvInputClearAction.ts +0 -52
  971. package/src/components/VvInputText/VvInputPasswordAction.ts +0 -68
  972. package/src/components/VvInputText/VvInputStepAction.ts +0 -49
  973. package/src/components/VvInputText/VvInputText.vue +0 -547
  974. package/src/components/VvInputText/VvInputTextActions.ts +0 -97
  975. package/src/components/VvInputText/index.ts +0 -199
  976. package/src/components/VvNav/VvNav.vue +0 -44
  977. package/src/components/VvNav/VvNavItem.vue +0 -18
  978. package/src/components/VvNav/VvNavSeparator.vue +0 -11
  979. package/src/components/VvNav/index.ts +0 -8
  980. package/src/components/VvProgress/VvProgress.vue +0 -34
  981. package/src/components/VvProgress/index.ts +0 -32
  982. package/src/components/VvRadio/VvRadio.vue +0 -124
  983. package/src/components/VvRadio/index.ts +0 -46
  984. package/src/components/VvRadioGroup/VvRadioGroup.vue +0 -103
  985. package/src/components/VvRadioGroup/index.ts +0 -5
  986. package/src/components/VvSelect/VvSelect.vue +0 -247
  987. package/src/components/VvSelect/index.ts +0 -69
  988. package/src/components/VvTab/VvTab.vue +0 -77
  989. package/src/components/VvTab/index.ts +0 -19
  990. package/src/components/VvTextarea/VvTextarea.vue +0 -225
  991. package/src/components/VvTextarea/index.ts +0 -50
  992. package/src/components/VvTooltip/VvTooltip.vue +0 -23
  993. package/src/components/VvTooltip/index.ts +0 -18
  994. package/src/components/common/HintSlot.ts +0 -175
  995. package/src/components/index.ts +0 -24
  996. package/src/composables/alert/useAlert.ts +0 -103
  997. package/src/composables/alert/useInjectAlert.ts +0 -8
  998. package/src/composables/alert/useProvideAlert.ts +0 -23
  999. package/src/composables/dropdown/useInjectDropdown.ts +0 -26
  1000. package/src/composables/dropdown/useProvideDropdown.ts +0 -94
  1001. package/src/composables/group/useInjectedGroupState.ts +0 -51
  1002. package/src/composables/group/useProvideGroupState.ts +0 -20
  1003. package/src/composables/index.ts +0 -1
  1004. package/src/composables/useComponentFocus.ts +0 -16
  1005. package/src/composables/useComponentIcon.ts +0 -41
  1006. package/src/composables/useDebouncedInput.ts +0 -32
  1007. package/src/composables/useDefaults.ts +0 -89
  1008. package/src/composables/useModifiers.ts +0 -36
  1009. package/src/composables/useOptions.ts +0 -47
  1010. package/src/composables/useTextCount.ts +0 -57
  1011. package/src/composables/useUniqueId.ts +0 -5
  1012. package/src/composables/useVolver.ts +0 -5
  1013. package/src/constants.ts +0 -138
  1014. package/src/directives/index.ts +0 -4
  1015. package/src/directives/v-contextmenu.ts +0 -40
  1016. package/src/directives/v-tooltip.ts +0 -24
  1017. package/src/icons.ts +0 -7
  1018. package/src/index.ts +0 -14
  1019. package/src/props/index.ts +0 -487
  1020. package/src/resolvers/unplugin.ts +0 -169
  1021. package/src/shims.d.ts +0 -13
  1022. package/src/stories/Accordion/Accordion.settings.ts +0 -57
  1023. package/src/stories/Accordion/Accordion.stories.ts +0 -45
  1024. package/src/stories/Accordion/Accordion.test.ts +0 -67
  1025. package/src/stories/Accordion/AccordionSlots.stories.ts +0 -29
  1026. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +0 -77
  1027. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +0 -62
  1028. package/src/stories/AccordionGroup/AccordionGroup.test.ts +0 -56
  1029. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +0 -53
  1030. package/src/stories/Alert/Alert.settings.ts +0 -122
  1031. package/src/stories/Alert/Alert.stories.ts +0 -60
  1032. package/src/stories/Alert/Alert.test.ts +0 -99
  1033. package/src/stories/Alert/AlertModifiers.stories.ts +0 -77
  1034. package/src/stories/Alert/AlertSlots.stories.ts +0 -74
  1035. package/src/stories/AlertGroup/AlertGroup.settings.ts +0 -110
  1036. package/src/stories/AlertGroup/AlertGroup.stories.ts +0 -50
  1037. package/src/stories/AlertGroup/AlertGroup.test.ts +0 -89
  1038. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +0 -103
  1039. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +0 -67
  1040. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +0 -118
  1041. package/src/stories/Avatar/Avatar.settings.ts +0 -37
  1042. package/src/stories/Avatar/Avatar.stories.ts +0 -42
  1043. package/src/stories/Avatar/Avatar.test.ts +0 -34
  1044. package/src/stories/Avatar/AvatarBadge.stories.ts +0 -36
  1045. package/src/stories/Avatar/AvatarModifiers.stories.ts +0 -100
  1046. package/src/stories/Avatar/AvatarSlots.stories.ts +0 -34
  1047. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +0 -60
  1048. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +0 -35
  1049. package/src/stories/AvatarGroup/AvatarGroup.test.ts +0 -36
  1050. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +0 -31
  1051. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +0 -39
  1052. package/src/stories/Badge/Badge.settings.ts +0 -26
  1053. package/src/stories/Badge/Badge.stories.ts +0 -43
  1054. package/src/stories/Badge/Badge.test.ts +0 -12
  1055. package/src/stories/Badge/BadgeSlots.stories.ts +0 -23
  1056. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +0 -40
  1057. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +0 -41
  1058. package/src/stories/Breadcrumb/Breadcrumb.test.ts +0 -52
  1059. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +0 -37
  1060. package/src/stories/Button/Button.settings.ts +0 -159
  1061. package/src/stories/Button/Button.stories.ts +0 -38
  1062. package/src/stories/Button/Button.test.ts +0 -48
  1063. package/src/stories/Button/ButtonIcon.stories.ts +0 -67
  1064. package/src/stories/Button/ButtonLink.stories.ts +0 -40
  1065. package/src/stories/Button/ButtonLoading.stories.ts +0 -41
  1066. package/src/stories/Button/ButtonModifiers.stories.ts +0 -148
  1067. package/src/stories/Button/ButtonSlots.stories.ts +0 -87
  1068. package/src/stories/Button/ButtonState.stories.ts +0 -42
  1069. package/src/stories/Button/ButtonToggle.stories.ts +0 -52
  1070. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +0 -32
  1071. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +0 -39
  1072. package/src/stories/ButtonGroup/ButtonGroup.test.ts +0 -35
  1073. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +0 -39
  1074. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +0 -38
  1075. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +0 -41
  1076. package/src/stories/Card/Card.settings.ts +0 -55
  1077. package/src/stories/Card/Card.stories.ts +0 -46
  1078. package/src/stories/Card/Card.test.ts +0 -23
  1079. package/src/stories/Card/CardSlots.stories.ts +0 -81
  1080. package/src/stories/Checkbox/Checkbox.settings.ts +0 -41
  1081. package/src/stories/Checkbox/Checkbox.stories.ts +0 -97
  1082. package/src/stories/Checkbox/Checkbox.test.ts +0 -81
  1083. package/src/stories/Checkbox/CheckboxBinary.stories.ts +0 -33
  1084. package/src/stories/Checkbox/CheckboxSlots.stories.ts +0 -31
  1085. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +0 -15
  1086. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +0 -87
  1087. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +0 -83
  1088. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +0 -53
  1089. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +0 -47
  1090. package/src/stories/Combobox/Combobox.settings.ts +0 -403
  1091. package/src/stories/Combobox/Combobox.stories.ts +0 -176
  1092. package/src/stories/Combobox/Combobox.test.ts +0 -110
  1093. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +0 -43
  1094. package/src/stories/Combobox/ComboboxMultiple.stories.ts +0 -41
  1095. package/src/stories/Combobox/ComboboxOptions.stories.ts +0 -114
  1096. package/src/stories/Combobox/ComboboxSlots.stories.ts +0 -104
  1097. package/src/stories/Dialog/Dialog.settings.ts +0 -45
  1098. package/src/stories/Dialog/Dialog.stories.ts +0 -51
  1099. package/src/stories/Dialog/Dialog.test.ts +0 -69
  1100. package/src/stories/Dialog/DialogSlots.stories.ts +0 -39
  1101. package/src/stories/Dropdown/Dropdown.settings.ts +0 -69
  1102. package/src/stories/Dropdown/Dropdown.stories.ts +0 -107
  1103. package/src/stories/Dropdown/Dropdown.test.ts +0 -21
  1104. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +0 -49
  1105. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +0 -61
  1106. package/src/stories/Dropdown/DropdownSlots.stories.ts +0 -95
  1107. package/src/stories/Icon/Icon.settings.ts +0 -72
  1108. package/src/stories/Icon/Icon.stories.ts +0 -48
  1109. package/src/stories/Icon/IconsCollection.stories.ts +0 -53
  1110. package/src/stories/InputText/InputText.settings.ts +0 -259
  1111. package/src/stories/InputText/InputText.stories.ts +0 -113
  1112. package/src/stories/InputText/InputText.test.ts +0 -144
  1113. package/src/stories/InputText/InputTextIconPosition.stories.ts +0 -43
  1114. package/src/stories/InputText/InputTextLength.stories.ts +0 -58
  1115. package/src/stories/InputText/InputTextMask.stories.ts +0 -122
  1116. package/src/stories/InputText/InputTextMinMax.stories.ts +0 -51
  1117. package/src/stories/InputText/InputTextSlots.stories.ts +0 -39
  1118. package/src/stories/InputText/InputTextType.stories.ts +0 -119
  1119. package/src/stories/Nav/Nav.settings.ts +0 -35
  1120. package/src/stories/Nav/Nav.stories.ts +0 -33
  1121. package/src/stories/Nav/Nav.test.ts +0 -21
  1122. package/src/stories/Nav/NavModifiers.stories.ts +0 -47
  1123. package/src/stories/Progress/Progress.settings.ts +0 -30
  1124. package/src/stories/Progress/Progress.stories.ts +0 -41
  1125. package/src/stories/Progress/Progress.test.ts +0 -9
  1126. package/src/stories/Radio/Radio.settings.ts +0 -15
  1127. package/src/stories/Radio/Radio.stories.ts +0 -81
  1128. package/src/stories/Radio/Radio.test.ts +0 -70
  1129. package/src/stories/Radio/RadioSlots.stories.ts +0 -31
  1130. package/src/stories/RadioGroup/RadioGroup.settings.ts +0 -15
  1131. package/src/stories/RadioGroup/RadioGroup.stories.ts +0 -88
  1132. package/src/stories/RadioGroup/RadioGroup.test.ts +0 -83
  1133. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +0 -53
  1134. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +0 -47
  1135. package/src/stories/Select/Select.settings.ts +0 -80
  1136. package/src/stories/Select/Select.stories.ts +0 -113
  1137. package/src/stories/Select/Select.test.ts +0 -85
  1138. package/src/stories/Select/SelectIconPosition.stories.ts +0 -43
  1139. package/src/stories/Select/SelectOptions.stories.ts +0 -77
  1140. package/src/stories/Select/SelectSlots.stories.ts +0 -39
  1141. package/src/stories/Tab/Tab.settings.ts +0 -41
  1142. package/src/stories/Tab/Tab.stories.ts +0 -70
  1143. package/src/stories/Tab/Tab.test.ts +0 -29
  1144. package/src/stories/Textarea/Textarea.settings.ts +0 -88
  1145. package/src/stories/Textarea/Textarea.stories.ts +0 -107
  1146. package/src/stories/Textarea/Textarea.test.ts +0 -90
  1147. package/src/stories/Textarea/TextareaLength.stories.ts +0 -58
  1148. package/src/stories/Textarea/TextareaSlots.stories.ts +0 -39
  1149. package/src/stories/Textarea/TextareatIconPosition.stories.ts +0 -43
  1150. package/src/stories/Tooltip/Tooltip.settings.ts +0 -25
  1151. package/src/stories/Tooltip/Tooltip.stories.ts +0 -40
  1152. package/src/stories/Tooltip/Tooltip.test.ts +0 -60
  1153. package/src/stories/Tooltip/TooltipDirective.stories.ts +0 -68
  1154. package/src/stories/argTypes.ts +0 -562
  1155. package/src/test/expect.ts +0 -88
  1156. package/src/test/options.ts +0 -17
  1157. package/src/test/sleep.ts +0 -2
  1158. package/src/test/types.d.ts +0 -17
  1159. package/src/types/alert.ts +0 -20
  1160. package/src/types/floating-ui.ts +0 -7
  1161. package/src/types/generic.ts +0 -6
  1162. package/src/types/group.ts +0 -44
  1163. package/src/types/index.ts +0 -5
  1164. package/src/types/nav.ts +0 -19
  1165. package/src/utils/ObjectUtilities.ts +0 -288
@@ -1,225 +1,20 @@
1
- import { unref, computed, isRef, defineComponent, h, inject, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, watch, useSlots, createElementBlock, normalizeClass, toDisplayString, createElementVNode, renderSlot, normalizeProps, guardReactiveProps, withDirectives, vModelText, createTextVNode, createVNode, createSlots, withCtx } from "vue";
2
- import { iconExists, Icon, addIcon } from "@iconify/vue";
3
- import { uid } from "uid";
4
- import { useFocus, useElementVisibility } from "@vueuse/core";
5
- function isEmpty(value) {
6
- return ((value2) => value2 === null || value2 === void 0 || value2 === "" || Array.isArray(value2) && value2.length === 0 || !(value2 instanceof Date) && typeof value2 === "object" && Object.keys(value2).length === 0)(unref(value));
7
- }
8
- function isString(value) {
9
- return typeof value === "string" || value instanceof String;
10
- }
11
- function joinLines(items) {
12
- if (Array.isArray(items)) {
13
- return items.filter((item) => isString(item)).join(" ");
14
- }
15
- return items;
16
- }
17
- function HintSlotFactory(propsOrRef, slots) {
18
- const props = computed(() => {
19
- if (isRef(propsOrRef)) {
20
- return propsOrRef.value;
21
- }
22
- return propsOrRef;
23
- });
24
- const invalidLabel = computed(() => joinLines(props.value.invalidLabel));
25
- const validLabel = computed(() => joinLines(props.value.validLabel));
26
- const loadingLabel = computed(() => props.value.loadingLabel);
27
- const hintLabel = computed(() => props.value.hintLabel);
28
- const hasLoadingLabelOrSlot = computed(
29
- () => Boolean(props.value.loading && (slots.loading || loadingLabel.value))
30
- );
31
- const hasInvalidLabelOrSlot = computed(
32
- () => !hasLoadingLabelOrSlot.value && Boolean(
33
- props.value.invalid && (slots.invalid || invalidLabel.value)
34
- )
35
- );
36
- const hasValidLabelOrSlot = computed(
37
- () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && Boolean(props.value.valid && (slots.valid || validLabel.value))
38
- );
39
- const hasHintLabelOrSlot = computed(
40
- () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && !hasValidLabelOrSlot.value && Boolean(slots.hint || hintLabel.value)
41
- );
42
- const isVisible = computed(
43
- () => hasInvalidLabelOrSlot.value || hasValidLabelOrSlot.value || hasLoadingLabelOrSlot.value || hasHintLabelOrSlot.value
44
- );
45
- const hintSlotScope = computed(() => ({
46
- modelValue: props.value.modelValue,
47
- valid: props.value.valid,
48
- invalid: props.value.invalid,
49
- loading: props.value.loading
50
- }));
51
- const HintSlot = defineComponent({
52
- name: "HintSlot",
53
- props: {
54
- tag: {
55
- type: String,
56
- default: "small"
57
- }
58
- },
59
- setup() {
60
- return {
61
- isVisible,
62
- invalidLabel,
63
- validLabel,
64
- loadingLabel,
65
- hintLabel,
66
- hasInvalidLabelOrSlot,
67
- hasValidLabelOrSlot,
68
- hasLoadingLabelOrSlot,
69
- hasHintLabelOrSlot
70
- };
71
- },
72
- render() {
73
- var _a, _b, _c, _d, _e, _f, _g, _h;
74
- if (this.isVisible) {
75
- let role;
76
- if (this.hasInvalidLabelOrSlot) {
77
- role = "alert";
78
- }
79
- if (this.hasValidLabelOrSlot) {
80
- role = "status";
81
- }
82
- if (this.hasLoadingLabelOrSlot) {
83
- return h(
84
- this.tag,
85
- {
86
- role
87
- },
88
- ((_b = (_a = this.$slots).loading) == null ? void 0 : _b.call(_a)) ?? this.loadingLabel
89
- );
90
- }
91
- if (this.hasInvalidLabelOrSlot) {
92
- return h(
93
- this.tag,
94
- {
95
- role
96
- },
97
- ((_d = (_c = this.$slots).invalid) == null ? void 0 : _d.call(_c)) ?? this.$slots.invalid ?? this.invalidLabel
98
- );
99
- }
100
- if (this.hasValidLabelOrSlot) {
101
- return h(
102
- this.tag,
103
- {
104
- role
105
- },
106
- ((_f = (_e = this.$slots).valid) == null ? void 0 : _f.call(_e)) ?? this.validLabel
107
- );
108
- }
109
- return h(
110
- this.tag,
111
- {
112
- role
113
- },
114
- ((_h = (_g = this.$slots).hint) == null ? void 0 : _h.call(_g)) ?? this.$slots.hint ?? this.hintLabel
115
- );
116
- }
117
- return null;
118
- }
119
- });
120
- return {
121
- hasInvalidLabelOrSlot,
122
- hasHintLabelOrSlot,
123
- hasValidLabelOrSlot,
124
- hasLoadingLabelOrSlot,
125
- hintSlotScope,
126
- HintSlot
127
- };
128
- }
129
- const VvIconProps = {
130
- /**
131
- * Color
132
- */
133
- color: String,
134
- /**
135
- * Width
136
- */
137
- width: {
138
- type: [String, Number]
139
- },
140
- /**
141
- * Height
142
- */
143
- height: {
144
- type: [String, Number]
145
- },
146
- /**
147
- * Icon name
148
- * Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
149
- * https://docs.iconify.design/api/providers.html#provider-in-icon-name
150
- */
151
- name: {
152
- type: String,
153
- required: true
154
- },
155
- /**
156
- * By default 'vv'
157
- * If custom collection is not added with "addCollection" DS class method, this prop could not be used
158
- * Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
159
- */
160
- provider: {
161
- type: String
162
- },
163
- /**
164
- * The name of icon set.
165
- * Icon default options prefix: simple | normal | detailed
166
- */
167
- prefix: {
168
- type: String,
169
- default: "normal"
170
- },
171
- /**
172
- * Url remote SVG icon
173
- */
174
- src: String,
175
- /**
176
- * Horizontal flip
177
- */
178
- horizontalFlip: Boolean,
179
- /**
180
- * Vertical flip
181
- */
182
- verticalFlip: Boolean,
183
- /**
184
- * String alternative to "horizontalFlip" and "verticalFlip".
185
- * Example: https://docs.iconify.design/icon-components/vue/transform.html
186
- */
187
- flip: String,
188
- /**
189
- * Icon render mode
190
- * 'style' = 'bg' or 'mask', depending on icon content
191
- * 'bg' = span with style using `background`
192
- * 'mask' = span with style using `mask`
193
- * 'svg' = svg
194
- * Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
195
- */
196
- mode: String,
197
- /**
198
- * Toggles inline or block mode
199
- * Example https://docs.iconify.design/icon-components/vue/inline.html
200
- */
201
- inline: Boolean,
202
- /**
203
- * rotates icon
204
- * Example https://docs.iconify.design/icon-components/vue/transform.html
205
- */
206
- rotate: [Number, String],
207
- /**
208
- * A callback that is called when icon data has been loaded
209
- */
210
- onLoad: Function,
211
- /**
212
- * SVG icon string
213
- */
214
- svg: String,
215
- /**
216
- * Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
217
- * @values string | string[]
218
- */
219
- modifiers: {
220
- type: [String, Array]
221
- }
1
+ import { unref, computed, isRef, defineComponent, h, useId, Fragment, provide, ref, toRefs, useAttrs, onMounted, watch, createElementBlock, openBlock, createVNode, withCtx, renderSlot, normalizeProps, guardReactiveProps, Transition, mergeProps, toHandlers, withDirectives, createElementVNode, normalizeClass, normalizeStyle, createCommentVNode, vShow, nextTick, inject, createBlock, createTextVNode, toDisplayString, mergeDefaults, useSlots, vModelText, createSlots, renderList, withModifiers } from "vue";
2
+ import { autoPlacement, flip, shift, size, offset, arrow, useFloating, autoUpdate } from "@floating-ui/vue";
3
+ import { useMutationObserver, useVModel, onClickOutside, useFocusWithin, useElementHover, onKeyStroke, useFocus, useStorage, useElementVisibility } from "@vueuse/core";
4
+ import mitt from "mitt";
5
+ import { iconLoaded, Icon, addIcon } from "@iconify/vue";
6
+ const ACTION_ICONS = {
7
+ remove: "trash"
222
8
  };
9
+ const VvIconPropsDefaults = {
10
+ prefix: "normal"
11
+ /* normal */
12
+ };
13
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
14
+ StorageType2["local"] = "local";
15
+ StorageType2["session"] = "session";
16
+ return StorageType2;
17
+ })(StorageType || {});
223
18
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
224
19
  Strategy2["absolute"] = "absolute";
225
20
  Strategy2["fixed"] = "fixed";
@@ -261,188 +56,63 @@ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
261
56
  ActionTag2["button"] = "button";
262
57
  return ActionTag2;
263
58
  })(ActionTag || {});
264
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
265
- AnchorTarget2["_blank"] = "_blank";
266
- AnchorTarget2["_self"] = "_self";
267
- AnchorTarget2["_parent"] = "_parent";
268
- AnchorTarget2["_top"] = "_top";
269
- return AnchorTarget2;
270
- })(AnchorTarget || {});
59
+ var ActionRoles = /* @__PURE__ */ ((ActionRoles2) => {
60
+ ActionRoles2["button"] = "button";
61
+ ActionRoles2["link"] = "link";
62
+ ActionRoles2["menuitem"] = "menuitem";
63
+ return ActionRoles2;
64
+ })(ActionRoles || {});
65
+ var DropdownRole = /* @__PURE__ */ ((DropdownRole2) => {
66
+ DropdownRole2["listbox"] = "listbox";
67
+ DropdownRole2["menu"] = "menu";
68
+ return DropdownRole2;
69
+ })(DropdownRole || {});
70
+ var DropdownItemRole = /* @__PURE__ */ ((DropdownItemRole2) => {
71
+ DropdownItemRole2["option"] = "option";
72
+ DropdownItemRole2["presentation"] = "presentation";
73
+ return DropdownItemRole2;
74
+ })(DropdownItemRole || {});
271
75
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
272
- function useVolver() {
273
- return inject(INJECTION_KEY_VOLVER);
274
- }
275
- function useModifiers(prefix, modifiers, others) {
276
- return computed(() => {
277
- const toReturn = {
278
- [prefix]: true
279
- };
280
- const modifiersArray = typeof (modifiers == null ? void 0 : modifiers.value) === "string" ? modifiers.value.split(" ") : modifiers == null ? void 0 : modifiers.value;
281
- if (modifiersArray) {
282
- if (Array.isArray(modifiersArray)) {
283
- modifiersArray.forEach((modifier) => {
284
- if (modifier) {
285
- toReturn[`${prefix}--${modifier}`] = true;
286
- }
287
- });
288
- }
289
- }
290
- if (others) {
291
- Object.keys(others.value).forEach((key) => {
292
- toReturn[`${prefix}--${key}`] = unref(others.value[key]);
293
- });
294
- }
295
- return toReturn;
296
- });
297
- }
298
- const __default__$1 = {
299
- name: "VvIcon"
300
- };
301
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
302
- ...__default__$1,
303
- props: VvIconProps,
304
- setup(__props) {
305
- const props = __props;
306
- const hasRotate = computed(() => {
307
- if (typeof props.rotate === "string") {
308
- return parseFloat(props.rotate);
309
- }
310
- return props.rotate;
311
- });
312
- const show = ref(true);
313
- const volver = useVolver();
314
- const { modifiers } = toRefs(props);
315
- const bemCssClasses = useModifiers("vv-icon", modifiers);
316
- const provider = computed(() => {
317
- return props.provider || (volver == null ? void 0 : volver.iconsProvider);
318
- });
319
- const icon = computed(() => {
320
- const name = props.name ?? "";
321
- const iconName = `@${provider.value}:${props.prefix}:${name}`;
322
- if (iconExists(iconName)) {
323
- return iconName;
324
- }
325
- const iconsCollection = volver == null ? void 0 : volver.iconsCollections.find(
326
- (iconsCollection2) => {
327
- const icon2 = `@${provider.value}:${iconsCollection2.prefix}:${name}`;
328
- return iconExists(icon2);
329
- }
330
- );
331
- if (iconsCollection) {
332
- return `@${provider.value}:${iconsCollection.prefix}:${name}`;
333
- }
334
- return name;
335
- });
336
- function getSvgContent(svg) {
337
- let dom;
338
- if (typeof window === "undefined") {
339
- const { JSDOM } = require("jsdom");
340
- dom = new JSDOM().window;
341
- }
342
- const domParser = dom ? new dom.DOMParser() : new window.DOMParser();
343
- const svgDomString = domParser.parseFromString(svg, "text/html");
344
- const svgEl = svgDomString.querySelector("svg");
345
- return svgEl;
346
- }
347
- function addIconFromSvg(svg) {
348
- const svgContentEl = getSvgContent(svg);
349
- const svgContent = (svgContentEl == null ? void 0 : svgContentEl.innerHTML.trim()) || "";
350
- if (svgContentEl && svgContent) {
351
- addIcon(`@${provider.value}:${props.prefix}:${props.name}`, {
352
- body: svgContent,
353
- // Set height and width from svg content
354
- height: svgContentEl.viewBox.baseVal.height,
355
- width: svgContentEl.viewBox.baseVal.width
356
- });
357
- }
358
- }
359
- if (volver) {
360
- if (props.src && !iconExists(`@${provider.value}:${props.prefix}:${props.name}`)) {
361
- show.value = false;
362
- volver.fetchIcon(props.src).then((svg) => {
363
- if (svg) {
364
- addIconFromSvg(svg);
365
- show.value = true;
366
- }
367
- }).catch((e) => {
368
- throw new Error(`Error during fetch icon: ${e == null ? void 0 : e.message}`);
369
- });
370
- }
371
- }
372
- if (props.svg) {
373
- addIconFromSvg(props.svg);
374
- }
375
- return (_ctx, _cache) => {
376
- return unref(show) ? (openBlock(), createBlock(unref(Icon), mergeProps({
377
- key: 0,
378
- class: unref(bemCssClasses)
379
- }, {
380
- inline: _ctx.inline,
381
- width: _ctx.width,
382
- height: _ctx.height,
383
- horizontalFlip: _ctx.horizontalFlip,
384
- verticalFlip: _ctx.verticalFlip,
385
- flip: _ctx.flip,
386
- rotate: unref(hasRotate),
387
- color: _ctx.color,
388
- onLoad: _ctx.onLoad,
389
- icon: unref(icon)
390
- }), null, 16, ["class"])) : createCommentVNode("v-if", true);
391
- };
392
- }
393
- });
394
- const LinkProps = {
395
- /**
396
- * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
397
- * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
398
- */
399
- to: {
400
- type: [String, Object]
401
- },
402
- /**
403
- * Anchor href
404
- */
405
- href: String,
406
- /**
407
- * Anchor target
408
- */
409
- target: {
410
- type: String,
411
- validator: (value) => Object.values(AnchorTarget).includes(value)
412
- },
413
- /**
414
- * Anchor rel
415
- */
416
- rel: {
417
- type: String,
418
- default: "noopener noreferrer"
419
- }
420
- };
421
- const ValidProps = {
422
- /**
423
- * Valid status
424
- */
425
- valid: Boolean,
426
- /**
427
- * Valid label
428
- */
429
- validLabel: [String, Array]
76
+ const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
77
+ "dropdownTrigger"
78
+ );
79
+ const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
80
+ "dropdownItem"
81
+ );
82
+ const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
83
+ "dropdownAction"
84
+ );
85
+ const ValidProps = {
86
+ /**
87
+ * Valid status
88
+ */
89
+ valid: { type: Boolean, default: false },
90
+ /**
91
+ * Valid label
92
+ */
93
+ validLabel: { type: [String, Array], default: void 0 }
430
94
  };
431
95
  const InvalidProps = {
432
96
  /**
433
97
  * Invalid status
434
98
  */
435
- invalid: Boolean,
99
+ invalid: {
100
+ type: Boolean,
101
+ default: false
102
+ },
436
103
  /**
437
104
  * Invalid label
438
105
  */
439
- invalidLabel: [String, Array]
106
+ invalidLabel: { type: [String, Array], default: void 0 }
440
107
  };
441
108
  const LoadingProps = {
442
109
  /**
443
110
  * Loading status
444
111
  */
445
- loading: Boolean,
112
+ loading: {
113
+ type: Boolean,
114
+ default: false
115
+ },
446
116
  /**
447
117
  * Loading label
448
118
  */
@@ -455,43 +125,55 @@ const DisabledProps = {
455
125
  /**
456
126
  * Whether the form control is disabled
457
127
  */
458
- disabled: Boolean
459
- };
460
- const ActiveProps = {
461
- /**
462
- * Whether the item is active
463
- */
464
- active: Boolean
128
+ disabled: {
129
+ type: Boolean,
130
+ default: false
131
+ }
465
132
  };
466
- const CurrentProps = {
133
+ const RequiredProps = {
467
134
  /**
468
- * Whether the item is current
135
+ * Whether the form control is required
469
136
  */
470
- current: Boolean
137
+ required: {
138
+ type: Boolean,
139
+ default: false
140
+ }
471
141
  };
472
- const PressedProps = {
142
+ const SelectedProps = {
473
143
  /**
474
- * Whether the item is pressed
144
+ * Whether the item is selected
475
145
  */
476
- pressed: Boolean
146
+ selected: {
147
+ type: Boolean,
148
+ default: false
149
+ }
477
150
  };
478
151
  const LabelProps = {
479
152
  /**
480
153
  * The item label
481
154
  */
482
- label: [String, Number]
155
+ label: {
156
+ type: [String, Number],
157
+ default: void 0
158
+ }
483
159
  };
484
160
  const ReadonlyProps = {
485
161
  /**
486
162
  * The value is not editable
487
163
  */
488
- readonly: Boolean
164
+ readonly: {
165
+ type: Boolean,
166
+ default: false
167
+ }
489
168
  };
490
169
  const ModifiersProps = {
491
170
  /**
492
171
  * Component BEM modifiers
493
172
  */
494
- modifiers: [String, Array]
173
+ modifiers: {
174
+ type: [String, Array],
175
+ default: void 0
176
+ }
495
177
  };
496
178
  const HintProps = {
497
179
  hintLabel: { type: String, default: "" }
@@ -510,14 +192,20 @@ const DebounceProps = {
510
192
  /**
511
193
  * Milliseconds to wait before emitting the input event
512
194
  */
513
- debounce: [Number, String]
195
+ debounce: {
196
+ type: [Number, String],
197
+ default: void 0
198
+ }
514
199
  };
515
200
  const IconProps = {
516
201
  /**
517
202
  * VvIcon name or props
518
- * @see VVIcon
203
+ * @see VvIcon
519
204
  */
520
- icon: { type: [String, Object] },
205
+ icon: {
206
+ type: [String, Object],
207
+ default: void 0
208
+ },
521
209
  /**
522
210
  * VvIcon position
523
211
  */
@@ -538,7 +226,16 @@ const FloatingLabelProps = {
538
226
  /**
539
227
  * If true the label will be floating
540
228
  */
541
- floating: Boolean
229
+ floating: {
230
+ type: Boolean,
231
+ default: false
232
+ }
233
+ };
234
+ const UnselectableProps = {
235
+ /**
236
+ * If true the input will be unselectable
237
+ */
238
+ unselectable: { type: Boolean, default: true }
542
239
  };
543
240
  const IdProps = {
544
241
  /**
@@ -547,7 +244,7 @@ const IdProps = {
547
244
  */
548
245
  id: [String, Number]
549
246
  };
550
- ({
247
+ const DropdownProps = {
551
248
  /**
552
249
  * Dropdown placement
553
250
  */
@@ -568,7 +265,8 @@ const IdProps = {
568
265
  * Dropdown show / hide transition name
569
266
  */
570
267
  transitionName: {
571
- type: String
268
+ type: String,
269
+ default: void 0
572
270
  },
573
271
  /**
574
272
  * Offset of the dropdown from the trigger
@@ -636,9 +334,10 @@ const IdProps = {
636
334
  * Set dropdown width to the same as the trigger
637
335
  */
638
336
  triggerWidth: {
639
- type: Boolean
337
+ type: Boolean,
338
+ default: false
640
339
  }
641
- });
340
+ };
642
341
  const IdNameProps = {
643
342
  ...IdProps,
644
343
  /**
@@ -653,7 +352,10 @@ const AutofocusProps = {
653
352
  * Global attribute autofocus
654
353
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
655
354
  */
656
- autofocus: Boolean
355
+ autofocus: {
356
+ type: Boolean,
357
+ default: false
358
+ }
657
359
  };
658
360
  const AutocompleteProps = {
659
361
  /**
@@ -685,106 +387,1038 @@ const InputTextareaProps = {
685
387
  * Available for input types: text, search, url, tel, email, password
686
388
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
687
389
  */
688
- minlength: [String, Number],
390
+ minlength: { type: [String, Number], default: void 0 },
689
391
  /**
690
392
  * Input / Textarea maxlength
691
393
  * Maximum length (number of characters) of value
692
394
  * Available for input types: text, search, url, tel, email, password
693
395
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
694
396
  */
695
- maxlength: [String, Number],
397
+ maxlength: { type: [String, Number], default: void 0 },
696
398
  /**
697
399
  * Input / Textarea placeholder
698
400
  * Text that appears in the form control when it has no value set
699
401
  * Available for input types: text, search, url, tel, email, password, number
700
402
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder
701
403
  */
702
- placeholder: String,
404
+ placeholder: {
405
+ type: String,
406
+ default: void 0
407
+ },
703
408
  /**
704
409
  * Input / Textarea required
705
410
  * A value is required or must be check for the form to be submittable
706
411
  * Available for all input types except color
707
412
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#required
708
413
  */
709
- required: Boolean
414
+ ...RequiredProps
710
415
  };
711
416
  ({
712
- ...DisabledProps,
713
- ...LabelProps,
714
- ...PressedProps,
715
- ...ActiveProps,
716
- ...CurrentProps,
717
- ...LinkProps,
718
417
  /**
719
418
  * Button type
720
419
  */
721
420
  type: {
421
+ default: ButtonType.button
422
+ },
423
+ /**
424
+ * Default tag for the action
425
+ */
426
+ defaultTag: {
427
+ default: ActionTag.button
428
+ }
429
+ });
430
+ const StorageProps = {
431
+ storageType: {
722
432
  type: String,
723
- default: ButtonType.button,
724
- validator: (value) => Object.values(ButtonType).includes(value)
433
+ default: StorageType.local,
434
+ validator: (value) => Object.values(StorageType).includes(value)
725
435
  },
436
+ storageKey: String
437
+ };
438
+ const WRAP = {
439
+ soft: "soft"
440
+ };
441
+ const SPELLCHECK = {
442
+ default: "default"
443
+ };
444
+ const VvTextareaEvents = ["update:modelValue", "focus", "blur", "keyup", "suggestion:selected", "suggestion:removed"];
445
+ const VvTextareaProps = {
446
+ ...InputTextareaProps,
447
+ ...StorageProps,
448
+ /**
449
+ * Textarea value
450
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#value
451
+ */
452
+ modelValue: String,
453
+ /**
454
+ * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. If it is not specified, the default value is 20.
455
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#cols
456
+ */
457
+ cols: { type: [String, Number], default: 20 },
726
458
  /**
727
- * Button aria-label
459
+ * The number of visible text lines for the control. If it is specified, it must be a positive integer. If it is not specified, the default value is 2.
460
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#rows
728
461
  */
729
- ariaLabel: {
462
+ rows: { type: [String, Number], default: 2 },
463
+ /**
464
+ * Indicates how the control should wrap the value for form submission.
465
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
466
+ */
467
+ wrap: { type: String, default: WRAP.soft },
468
+ /**
469
+ * Specifies whether the <textarea> is subject to spell checking by the underlying browser/OS.
470
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
471
+ */
472
+ spellcheck: { type: [Boolean, String], default: SPELLCHECK.default },
473
+ /**
474
+ * VvIcon name for remove suggestion button
475
+ * @see VvIcon
476
+ */
477
+ iconRemoveSuggestion: {
478
+ type: [String, Object],
479
+ default: ACTION_ICONS.remove
480
+ },
481
+ /**
482
+ * Label for remove suggestion button
483
+ */
484
+ labelRemoveSuggestion: {
730
485
  type: String,
486
+ default: "Remove suggestion"
487
+ },
488
+ /**
489
+ * Maximum number of suggestions
490
+ */
491
+ maxSuggestions: {
492
+ type: Number,
493
+ default: 5
494
+ },
495
+ /**
496
+ * Select input text on focus
497
+ */
498
+ selectOnFocus: {
499
+ type: Boolean,
500
+ default: false
501
+ },
502
+ /**
503
+ * If true, the textarea will be resizable
504
+ */
505
+ resizable: Boolean
506
+ };
507
+ function isEmpty(value) {
508
+ return ((value2) => value2 === null || value2 === void 0 || value2 === "" || Array.isArray(value2) && value2.length === 0 || !(value2 instanceof Date) && typeof value2 === "object" && Object.keys(value2).length === 0)(unref(value));
509
+ }
510
+ function isString(value) {
511
+ return typeof value === "string";
512
+ }
513
+ function joinLines(items) {
514
+ if (Array.isArray(items)) {
515
+ return items.filter((item) => isString(item)).join(" ");
516
+ }
517
+ return items;
518
+ }
519
+ function HintSlotFactory(propsOrRef, slots) {
520
+ const props = computed(() => {
521
+ if (isRef(propsOrRef)) {
522
+ return propsOrRef.value;
523
+ }
524
+ return propsOrRef;
525
+ });
526
+ const invalidLabel = computed(() => joinLines(props.value.invalidLabel));
527
+ const validLabel = computed(() => joinLines(props.value.validLabel));
528
+ const loadingLabel = computed(() => props.value.loadingLabel);
529
+ const hintLabel = computed(() => props.value.hintLabel);
530
+ const hasLoadingLabelOrSlot = computed(
531
+ () => Boolean(props.value.loading && (slots.loading || loadingLabel.value))
532
+ );
533
+ const hasInvalidLabelOrSlot = computed(
534
+ () => !hasLoadingLabelOrSlot.value && Boolean(
535
+ props.value.invalid && (slots.invalid || invalidLabel.value)
536
+ )
537
+ );
538
+ const hasValidLabelOrSlot = computed(
539
+ () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && Boolean(props.value.valid && (slots.valid || validLabel.value))
540
+ );
541
+ const hasHintLabelOrSlot = computed(
542
+ () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && !hasValidLabelOrSlot.value && Boolean(slots.hint || hintLabel.value)
543
+ );
544
+ const isVisible = computed(
545
+ () => hasInvalidLabelOrSlot.value || hasValidLabelOrSlot.value || hasLoadingLabelOrSlot.value || hasHintLabelOrSlot.value
546
+ );
547
+ const hintSlotScope = computed(() => ({
548
+ modelValue: props.value.modelValue,
549
+ valid: props.value.valid,
550
+ invalid: props.value.invalid,
551
+ loading: props.value.loading
552
+ }));
553
+ const HintSlot = defineComponent({
554
+ name: "HintSlot",
555
+ props: {
556
+ tag: {
557
+ type: String,
558
+ default: "small"
559
+ }
560
+ },
561
+ setup() {
562
+ return {
563
+ isVisible,
564
+ invalidLabel,
565
+ validLabel,
566
+ loadingLabel,
567
+ hintLabel,
568
+ hasInvalidLabelOrSlot,
569
+ hasValidLabelOrSlot,
570
+ hasLoadingLabelOrSlot,
571
+ hasHintLabelOrSlot
572
+ };
573
+ },
574
+ render() {
575
+ if (this.isVisible) {
576
+ let role;
577
+ if (this.hasInvalidLabelOrSlot) {
578
+ role = "alert";
579
+ }
580
+ if (this.hasValidLabelOrSlot) {
581
+ role = "status";
582
+ }
583
+ if (this.hasLoadingLabelOrSlot) {
584
+ return h(
585
+ this.tag,
586
+ {
587
+ role
588
+ },
589
+ this.$slots.loading?.() ?? this.loadingLabel
590
+ );
591
+ }
592
+ if (this.hasInvalidLabelOrSlot) {
593
+ return h(
594
+ this.tag,
595
+ {
596
+ role
597
+ },
598
+ this.$slots.invalid?.() ?? this.$slots.invalid ?? this.invalidLabel
599
+ );
600
+ }
601
+ if (this.hasValidLabelOrSlot) {
602
+ return h(
603
+ this.tag,
604
+ {
605
+ role
606
+ },
607
+ this.$slots.valid?.() ?? this.validLabel
608
+ );
609
+ }
610
+ return h(
611
+ this.tag,
612
+ {
613
+ role
614
+ },
615
+ this.$slots.hint?.() ?? this.$slots.hint ?? this.hintLabel
616
+ );
617
+ }
618
+ return null;
619
+ }
620
+ });
621
+ return {
622
+ hasInvalidLabelOrSlot,
623
+ hasHintLabelOrSlot,
624
+ hasValidLabelOrSlot,
625
+ hasLoadingLabelOrSlot,
626
+ hintSlotScope,
627
+ HintSlot
628
+ };
629
+ }
630
+ const VvDropdownProps = {
631
+ ...IdProps,
632
+ ...DropdownProps,
633
+ ...ModifiersProps,
634
+ /**
635
+ * Show / hide dropdown programmatically
636
+ */
637
+ modelValue: {
638
+ type: Boolean,
731
639
  default: void 0
732
640
  },
733
641
  /**
734
- * Default tag for the action
642
+ * Dropdown trigger element
735
643
  */
736
- defaultTag: {
644
+ reference: {
645
+ type: Object,
646
+ default: null
647
+ },
648
+ /**
649
+ * Dropdown role
650
+ */
651
+ role: {
737
652
  type: String,
738
- default: ActionTag.button
653
+ default: DropdownRole.menu,
654
+ validator: (value) => Object.values(DropdownRole).includes(value)
655
+ }
656
+ };
657
+ const VvDropdownItemProps = {
658
+ focusOnHover: {
659
+ type: Boolean,
660
+ default: false
661
+ }
662
+ };
663
+ const VvDropdownOptionProps = {
664
+ ...DisabledProps,
665
+ ...SelectedProps,
666
+ ...UnselectableProps,
667
+ ...ModifiersProps,
668
+ deselectHintLabel: {
669
+ type: String
670
+ },
671
+ selectHintLabel: {
672
+ type: String
673
+ },
674
+ selectedHintLabel: {
675
+ type: String
676
+ },
677
+ focusOnHover: {
678
+ type: Boolean,
679
+ default: false
680
+ }
681
+ };
682
+ function useUniqueId(id) {
683
+ return computed(() => String(id?.value || useId()));
684
+ }
685
+ function useDropdownProvideTrigger({
686
+ reference,
687
+ id,
688
+ expanded,
689
+ aria
690
+ }) {
691
+ const bus = mitt();
692
+ const component = defineComponent({
693
+ name: "VvDropdownTriggerProvider",
694
+ setup() {
695
+ provide(INJECTION_KEY_DROPDOWN_TRIGGER, {
696
+ reference,
697
+ id,
698
+ expanded,
699
+ aria,
700
+ bus
701
+ });
702
+ },
703
+ render() {
704
+ return h(Fragment, {}, this.$slots.default?.());
705
+ }
706
+ });
707
+ return {
708
+ bus,
709
+ component
710
+ };
711
+ }
712
+ function useDropdownProvideItem({
713
+ role,
714
+ ...others
715
+ }) {
716
+ const itemRole = computed(
717
+ () => role.value === DropdownRole.listbox ? DropdownItemRole.option : DropdownItemRole.presentation
718
+ );
719
+ provide(INJECTION_KEY_DROPDOWN_ITEM, {
720
+ role: itemRole,
721
+ ...others
722
+ });
723
+ return { itemRole };
724
+ }
725
+ function useDropdownProvideAction({
726
+ expanded
727
+ }) {
728
+ provide(INJECTION_KEY_DROPDOWN_ACTION, {
729
+ role: ref(ActionRoles.menuitem),
730
+ expanded
731
+ });
732
+ }
733
+ function useModifiers(prefix, modifiers, others) {
734
+ return computed(() => {
735
+ const toReturn = {
736
+ [prefix]: true
737
+ };
738
+ const modifiersArray = typeof modifiers?.value === "string" ? modifiers.value.split(" ") : modifiers?.value;
739
+ if (modifiersArray) {
740
+ if (Array.isArray(modifiersArray)) {
741
+ modifiersArray.forEach((modifier) => {
742
+ if (modifier) {
743
+ toReturn[`${prefix}--${modifier}`] = true;
744
+ }
745
+ });
746
+ }
747
+ }
748
+ if (others) {
749
+ Object.keys(others.value).forEach((key) => {
750
+ toReturn[`${prefix}--${key}`] = unref(others.value[key]);
751
+ });
752
+ }
753
+ return toReturn;
754
+ });
755
+ }
756
+ const _hoisted_1$2 = ["id", "tabindex", "role", "aria-labelledby"];
757
+ const __default__$4 = {
758
+ name: "VvDropdown",
759
+ inheritAttrs: false
760
+ };
761
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
762
+ ...__default__$4,
763
+ props: VvDropdownProps,
764
+ emits: [
765
+ "update:modelValue",
766
+ "beforeEnter",
767
+ "afterLeave",
768
+ "beforeExpand",
769
+ "beforeCollapse",
770
+ "afterExpand",
771
+ "afterCollapse",
772
+ "before-enter",
773
+ "after-leave",
774
+ "enter",
775
+ "afterEnter",
776
+ "enterCancelled",
777
+ "beforeLeave",
778
+ "leave",
779
+ "leaveCancelled"
780
+ ],
781
+ setup(__props, { expose: __expose, emit: __emit }) {
782
+ const props = __props;
783
+ const emit = __emit;
784
+ const { id } = toRefs(props);
785
+ const hasId = useUniqueId(id);
786
+ const attrs = useAttrs();
787
+ const maxWidth = ref("auto");
788
+ const maxHeight = ref("auto");
789
+ const localReferenceEl = ref();
790
+ const floatingEl = ref();
791
+ const arrowEl = ref();
792
+ const listEl = ref();
793
+ const referenceEl = computed({
794
+ get: () => props.reference ?? localReferenceEl.value,
795
+ set: (newValue) => {
796
+ localReferenceEl.value = newValue;
797
+ }
798
+ });
799
+ const hasCustomPosition = ref(false);
800
+ onMounted(() => {
801
+ useMutationObserver(
802
+ floatingEl.value,
803
+ () => {
804
+ hasCustomPosition.value = window.getComputedStyle(floatingEl.value).getPropertyValue("--dropdown-custom-position")?.trim() === "true";
805
+ },
806
+ {
807
+ attributeFilter: ["style"],
808
+ window
809
+ }
810
+ );
811
+ });
812
+ const middleware = computed(() => {
813
+ const toReturn = [];
814
+ if (props.autoPlacement) {
815
+ if (typeof props.autoPlacement === "boolean") {
816
+ toReturn.push(autoPlacement());
817
+ } else {
818
+ toReturn.push(
819
+ autoPlacement(props.autoPlacement)
820
+ );
821
+ }
822
+ } else if (props.flip) {
823
+ if (typeof props.flip === "boolean") {
824
+ toReturn.push(flip({ fallbackStrategy: "initialPlacement" }));
825
+ } else {
826
+ toReturn.push(flip(props.flip));
827
+ }
828
+ }
829
+ if (props.shift) {
830
+ if (typeof props.shift === "boolean") {
831
+ toReturn.push(shift());
832
+ } else {
833
+ toReturn.push(shift(props.shift));
834
+ }
835
+ }
836
+ if (props.size) {
837
+ const apply = ({
838
+ availableWidth,
839
+ availableHeight
840
+ }) => {
841
+ maxWidth.value = `${availableWidth}px`;
842
+ maxHeight.value = `${availableHeight}px`;
843
+ };
844
+ if (typeof props.size === "boolean") {
845
+ toReturn.push(
846
+ size({
847
+ apply
848
+ })
849
+ );
850
+ } else {
851
+ toReturn.push(
852
+ size({
853
+ ...props.size,
854
+ apply
855
+ })
856
+ );
857
+ }
858
+ }
859
+ if (props.offset) {
860
+ toReturn.push(offset(Number(props.offset)));
861
+ if (["string", "number"].includes(typeof props.offset)) {
862
+ toReturn.push(offset(Number(props.offset)));
863
+ } else {
864
+ toReturn.push(offset(props.offset));
865
+ }
866
+ }
867
+ if (props.arrow) {
868
+ toReturn.push(
869
+ arrow({
870
+ element: arrowEl
871
+ })
872
+ );
873
+ }
874
+ return toReturn;
875
+ });
876
+ const { x, y, middlewareData, placement, strategy } = useFloating(
877
+ referenceEl,
878
+ floatingEl,
879
+ {
880
+ whileElementsMounted: (...args) => {
881
+ return autoUpdate(...args, {
882
+ animationFrame: props.strategy === Strategy.fixed
883
+ });
884
+ },
885
+ placement: computed(() => props.placement),
886
+ strategy: computed(() => props.strategy),
887
+ middleware
888
+ }
889
+ );
890
+ const dropdownPlacement = computed(() => {
891
+ if (hasCustomPosition.value) {
892
+ return void 0;
893
+ }
894
+ const width = props.triggerWidth && referenceEl.value ? `${referenceEl.value?.offsetWidth}px` : void 0;
895
+ return {
896
+ position: strategy.value,
897
+ top: `${y.value ?? 0}px`,
898
+ left: `${x.value ?? 0}px`,
899
+ maxWidth: width ? void 0 : maxWidth.value,
900
+ maxHeight: maxHeight.value,
901
+ width
902
+ };
903
+ });
904
+ const side = computed(
905
+ () => placement.value.split("-")[0]
906
+ );
907
+ const arrowPlacement = computed(() => {
908
+ if (hasCustomPosition.value) {
909
+ return void 0;
910
+ }
911
+ const staticSide = {
912
+ [Side.top]: Side.bottom,
913
+ [Side.right]: Side.left,
914
+ [Side.bottom]: Side.top,
915
+ [Side.left]: Side.right
916
+ }[side.value];
917
+ return {
918
+ left: middlewareData.value.arrow?.x !== void 0 ? `${middlewareData.value.arrow?.x}px` : void 0,
919
+ top: middlewareData.value.arrow?.y !== void 0 ? `${middlewareData.value.arrow?.y}px` : void 0,
920
+ [staticSide]: `${-(arrowEl.value?.offsetWidth ?? 0) / 2}px`
921
+ };
922
+ });
923
+ const modelValue = useVModel(props, "modelValue", emit);
924
+ const localModelValue = ref(false);
925
+ const expanded = computed({
926
+ get: () => modelValue.value ?? localModelValue.value,
927
+ set: (newValue) => {
928
+ if (modelValue.value === void 0) {
929
+ localModelValue.value = newValue;
930
+ return;
931
+ }
932
+ modelValue.value = newValue;
933
+ }
934
+ });
935
+ function show() {
936
+ expanded.value = true;
937
+ }
938
+ function hide() {
939
+ expanded.value = false;
940
+ }
941
+ function toggle() {
942
+ expanded.value = !expanded.value;
943
+ }
944
+ function init(el) {
945
+ referenceEl.value = el;
946
+ }
947
+ onClickOutside(
948
+ floatingEl,
949
+ () => {
950
+ if (!props.keepOpen && expanded.value) {
951
+ expanded.value = false;
952
+ }
953
+ },
954
+ { ignore: [referenceEl] }
955
+ );
956
+ const hasAriaLabelledby = computed(() => {
957
+ return referenceEl.value?.getAttribute?.("id") ?? void 0;
958
+ });
959
+ const referenceAria = computed(() => ({
960
+ "aria-controls": hasId.value,
961
+ "aria-haspopup": true,
962
+ "aria-expanded": expanded.value
963
+ }));
964
+ const { component: VvDropdownTriggerProvider, bus } = useDropdownProvideTrigger({
965
+ reference: referenceEl,
966
+ id: hasId,
967
+ expanded,
968
+ aria: referenceAria
969
+ });
970
+ bus.on("click", toggle);
971
+ const { role, modifiers } = toRefs(props);
972
+ const bemCssClasses = useModifiers(
973
+ "vv-dropdown",
974
+ modifiers,
975
+ computed(() => ({
976
+ arrow: props.arrow
977
+ }))
978
+ );
979
+ const { focused } = useFocusWithin(floatingEl);
980
+ function getKeyboardFocusableElements(element) {
981
+ if (!element) {
982
+ return [];
983
+ }
984
+ return [
985
+ ...element.querySelectorAll(
986
+ 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])'
987
+ )
988
+ ].filter(
989
+ (el) => !el.hasAttribute("disabled") && !el.getAttribute("aria-hidden")
990
+ );
991
+ }
992
+ function focusFirst() {
993
+ nextTick(() => {
994
+ const focusableElements = getKeyboardFocusableElements(
995
+ floatingEl.value
996
+ );
997
+ if (focusableElements.length > 0) {
998
+ focusableElements[0].focus({
999
+ preventScroll: true
1000
+ });
1001
+ }
1002
+ });
1003
+ }
1004
+ function focusFirstListElement() {
1005
+ nextTick(() => {
1006
+ const focusableElements = getKeyboardFocusableElements(
1007
+ listEl.value
1008
+ );
1009
+ if (focusableElements.length > 0) {
1010
+ focusableElements[0].focus({
1011
+ preventScroll: true
1012
+ });
1013
+ }
1014
+ });
1015
+ }
1016
+ function focusNext() {
1017
+ nextTick(() => {
1018
+ if (focused.value) {
1019
+ const focusableElements = getKeyboardFocusableElements(
1020
+ floatingEl.value
1021
+ );
1022
+ if (focusableElements.length === 0 || !document.activeElement) {
1023
+ return;
1024
+ }
1025
+ const activeElementIndex = focusableElements.indexOf(
1026
+ document.activeElement
1027
+ );
1028
+ if (activeElementIndex < focusableElements.length - 1) {
1029
+ focusableElements[activeElementIndex + 1].focus({
1030
+ preventScroll: true
1031
+ });
1032
+ } else {
1033
+ focusableElements[0].focus({
1034
+ preventScroll: true
1035
+ });
1036
+ }
1037
+ }
1038
+ });
1039
+ }
1040
+ function focusPrev() {
1041
+ nextTick(() => {
1042
+ if (focused.value) {
1043
+ const focusableElements = getKeyboardFocusableElements(
1044
+ floatingEl.value
1045
+ );
1046
+ if (focusableElements.length === 0 || !document.activeElement) {
1047
+ return;
1048
+ }
1049
+ const activeElementIndex = focusableElements.indexOf(
1050
+ document.activeElement
1051
+ );
1052
+ if (activeElementIndex > 0) {
1053
+ focusableElements[activeElementIndex - 1].focus({
1054
+ preventScroll: true
1055
+ });
1056
+ } else {
1057
+ focusableElements[focusableElements.length - 1].focus({
1058
+ preventScroll: true
1059
+ });
1060
+ }
1061
+ }
1062
+ });
1063
+ }
1064
+ watch(expanded, (newValue) => {
1065
+ if (newValue && props.autofocusFirst) {
1066
+ focusFirst();
1067
+ }
1068
+ });
1069
+ __expose({
1070
+ toggle,
1071
+ show,
1072
+ hide,
1073
+ init,
1074
+ focusFirst,
1075
+ focusFirstListElement,
1076
+ focusNext,
1077
+ focusPrev,
1078
+ customPosition: hasCustomPosition
1079
+ });
1080
+ const hovered = useElementHover(floatingEl);
1081
+ const { itemRole } = useDropdownProvideItem({
1082
+ role,
1083
+ expanded,
1084
+ focused,
1085
+ hovered
1086
+ });
1087
+ onKeyStroke("Escape", (e) => {
1088
+ if (expanded.value) {
1089
+ e.preventDefault();
1090
+ hide();
1091
+ }
1092
+ });
1093
+ onKeyStroke("ArrowDown", (e) => {
1094
+ if (expanded.value && focused.value) {
1095
+ e.preventDefault();
1096
+ focusNext();
1097
+ }
1098
+ });
1099
+ onKeyStroke("ArrowUp", (e) => {
1100
+ if (expanded.value && focused.value) {
1101
+ e.preventDefault();
1102
+ focusPrev();
1103
+ }
1104
+ });
1105
+ onKeyStroke([" ", "Enter"], (e) => {
1106
+ const htmlEl = e.target;
1107
+ if (expanded.value && focused.value && htmlEl) {
1108
+ htmlEl?.click();
1109
+ }
1110
+ });
1111
+ const dropdownTransitionHandlers = {
1112
+ "before-enter": () => {
1113
+ emit(expanded.value ? "beforeExpand" : "beforeCollapse");
1114
+ emit("beforeEnter");
1115
+ },
1116
+ "after-leave": () => {
1117
+ emit(expanded.value ? "afterExpand" : "afterCollapse");
1118
+ emit("afterLeave");
1119
+ },
1120
+ "enter": () => {
1121
+ emit("enter");
1122
+ },
1123
+ "after-enter": () => {
1124
+ emit("afterEnter");
1125
+ },
1126
+ "enter-cancelled": () => {
1127
+ emit("enterCancelled");
1128
+ },
1129
+ "before-leave": () => {
1130
+ emit("beforeLeave");
1131
+ },
1132
+ "leave": () => {
1133
+ emit("leave");
1134
+ },
1135
+ "leave-cancelled": () => {
1136
+ emit("leaveCancelled");
1137
+ }
1138
+ };
1139
+ return (_ctx, _cache) => {
1140
+ return openBlock(), createElementBlock(
1141
+ Fragment,
1142
+ null,
1143
+ [
1144
+ createVNode(unref(VvDropdownTriggerProvider), null, {
1145
+ default: withCtx(() => [
1146
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ init, show, hide, toggle, expanded: unref(expanded), aria: unref(referenceAria) })))
1147
+ ]),
1148
+ _: 3
1149
+ /* FORWARDED */
1150
+ }),
1151
+ createVNode(Transition, mergeProps({ name: _ctx.transitionName }, toHandlers(dropdownTransitionHandlers), { persisted: "" }), {
1152
+ default: withCtx(() => [
1153
+ withDirectives(createElementVNode(
1154
+ "div",
1155
+ {
1156
+ ref_key: "floatingEl",
1157
+ ref: floatingEl,
1158
+ style: normalizeStyle(unref(dropdownPlacement)),
1159
+ class: normalizeClass(unref(bemCssClasses))
1160
+ },
1161
+ [
1162
+ props.arrow ? (openBlock(), createElementBlock(
1163
+ "div",
1164
+ {
1165
+ key: 0,
1166
+ ref_key: "arrowEl",
1167
+ ref: arrowEl,
1168
+ style: normalizeStyle(unref(arrowPlacement)),
1169
+ class: "vv-dropdown__arrow"
1170
+ },
1171
+ null,
1172
+ 4
1173
+ /* STYLE */
1174
+ )) : createCommentVNode("v-if", true),
1175
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps({ expanded: unref(expanded) }))),
1176
+ createElementVNode("div", mergeProps(unref(attrs), {
1177
+ id: unref(hasId),
1178
+ ref_key: "listEl",
1179
+ ref: listEl,
1180
+ tabindex: !unref(expanded) ? -1 : void 0,
1181
+ role: unref(role),
1182
+ "aria-labelledby": unref(hasAriaLabelledby),
1183
+ class: "vv-dropdown__list"
1184
+ }), [
1185
+ renderSlot(_ctx.$slots, "items", normalizeProps(guardReactiveProps({
1186
+ role: unref(itemRole)
1187
+ })))
1188
+ ], 16, _hoisted_1$2),
1189
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps({ expanded: unref(expanded) })))
1190
+ ],
1191
+ 6
1192
+ /* CLASS, STYLE */
1193
+ ), [
1194
+ [vShow, unref(expanded)]
1195
+ ])
1196
+ ]),
1197
+ _: 3
1198
+ /* FORWARDED */
1199
+ }, 16, ["name"])
1200
+ ],
1201
+ 64
1202
+ /* STABLE_FRAGMENT */
1203
+ );
1204
+ };
739
1205
  }
740
1206
  });
741
- const WRAP = {
742
- hard: "hard",
743
- soft: "soft"
1207
+ function useInjectedDropdownItem() {
1208
+ return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
1209
+ }
1210
+ const __default__$3 = {
1211
+ name: "VvDropdownItem"
744
1212
  };
745
- const SPELLCHECK = {
746
- true: true,
747
- false: false,
748
- default: "default"
1213
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1214
+ ...__default__$3,
1215
+ props: VvDropdownItemProps,
1216
+ setup(__props) {
1217
+ const props = __props;
1218
+ const { role, expanded } = useInjectedDropdownItem();
1219
+ const element = ref(null);
1220
+ useDropdownProvideAction({ expanded });
1221
+ const hovered = useElementHover(element);
1222
+ const { focused } = useFocus(element);
1223
+ const { focused: focusedWithin } = useFocusWithin(element);
1224
+ watch(hovered, (newValue) => {
1225
+ if (newValue && props.focusOnHover) {
1226
+ focused.value = true;
1227
+ }
1228
+ });
1229
+ return (_ctx, _cache) => {
1230
+ return openBlock(), createElementBlock(
1231
+ "div",
1232
+ mergeProps({ role: unref(role) }, {
1233
+ ref_key: "element",
1234
+ ref: element,
1235
+ class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
1236
+ }),
1237
+ [
1238
+ renderSlot(_ctx.$slots, "default")
1239
+ ],
1240
+ 16
1241
+ /* FULL_PROPS */
1242
+ );
1243
+ };
1244
+ }
1245
+ });
1246
+ const _hoisted_1$1 = ["title"];
1247
+ const __default__$2 = {
1248
+ name: "VvDropdownOption"
749
1249
  };
750
- const VvTextareaEvents = ["update:modelValue", "focus", "blur", "keyup"];
751
- const VvTextareaProps = {
752
- ...InputTextareaProps,
753
- /**
754
- * Textarea value
755
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#value
756
- */
757
- modelValue: String,
758
- /**
759
- * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. If it is not specified, the default value is 20.
760
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#cols
761
- */
762
- cols: { type: [String, Number], default: 20 },
763
- /**
764
- * The number of visible text lines for the control. If it is specified, it must be a positive integer. If it is not specified, the default value is 2.
765
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#rows
766
- */
767
- rows: { type: [String, Number], default: 2 },
768
- /**
769
- * Indicates how the control should wrap the value for form submission.
770
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
771
- */
772
- wrap: { type: String, default: WRAP.soft },
773
- /**
774
- * Specifies whether the <textarea> is subject to spell checking by the underlying browser/OS.
775
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
776
- */
777
- spellcheck: { type: [Boolean, String], default: SPELLCHECK.default },
778
- /**
779
- * If true, the textarea will be resizable
780
- */
781
- resizable: Boolean
1250
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1251
+ ...__default__$2,
1252
+ props: VvDropdownOptionProps,
1253
+ setup(__props) {
1254
+ const props = __props;
1255
+ const { modifiers } = toRefs(props);
1256
+ const bemCssClasses = useModifiers(
1257
+ "vv-dropdown-option",
1258
+ modifiers,
1259
+ computed(() => ({
1260
+ disabled: props.disabled,
1261
+ selected: props.selected,
1262
+ unselectable: props.unselectable && props.selected
1263
+ }))
1264
+ );
1265
+ const hintLabel = computed(() => {
1266
+ if (props.selected) {
1267
+ return props.unselectable ? props.deselectHintLabel : props.selectedHintLabel;
1268
+ }
1269
+ if (!props.disabled) {
1270
+ return props.selectHintLabel;
1271
+ }
1272
+ return "";
1273
+ });
1274
+ return (_ctx, _cache) => {
1275
+ return openBlock(), createBlock(_sfc_main$3, {
1276
+ class: normalizeClass(unref(bemCssClasses)),
1277
+ tabindex: _ctx.disabled ? -1 : 0,
1278
+ "aria-selected": _ctx.selected,
1279
+ "aria-disabled": _ctx.disabled,
1280
+ "focus-on-hover": _ctx.focusOnHover
1281
+ }, {
1282
+ default: withCtx(() => [
1283
+ renderSlot(_ctx.$slots, "default"),
1284
+ createElementVNode("span", {
1285
+ class: "vv-dropdown-option__hint",
1286
+ title: unref(hintLabel)
1287
+ }, [
1288
+ renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps({ disabled: _ctx.disabled, selected: _ctx.selected, unselectable: _ctx.unselectable })), () => [
1289
+ createTextVNode(
1290
+ toDisplayString(unref(hintLabel)),
1291
+ 1
1292
+ /* TEXT */
1293
+ )
1294
+ ])
1295
+ ], 8, _hoisted_1$1)
1296
+ ]),
1297
+ _: 3
1298
+ /* FORWARDED */
1299
+ }, 8, ["class", "tabindex", "aria-selected", "aria-disabled", "focus-on-hover"]);
1300
+ };
1301
+ }
1302
+ });
1303
+ function useVolver() {
1304
+ return inject(INJECTION_KEY_VOLVER, void 0);
1305
+ }
1306
+ const __default__$1 = {
1307
+ name: "VvIcon"
782
1308
  };
1309
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1310
+ ...__default__$1,
1311
+ props: /* @__PURE__ */ mergeDefaults({
1312
+ name: {},
1313
+ color: {},
1314
+ width: {},
1315
+ height: {},
1316
+ provider: {},
1317
+ prefix: {},
1318
+ src: {},
1319
+ horizontalFlip: { type: Boolean },
1320
+ verticalFlip: { type: Boolean },
1321
+ flip: {},
1322
+ mode: {},
1323
+ inline: { type: Boolean },
1324
+ rotate: {},
1325
+ onLoad: { type: Function },
1326
+ svg: {},
1327
+ modifiers: {}
1328
+ }, VvIconPropsDefaults),
1329
+ setup(__props) {
1330
+ const props = __props;
1331
+ const hasRotate = computed(() => {
1332
+ if (typeof props.rotate === "string") {
1333
+ return Number.parseFloat(props.rotate);
1334
+ }
1335
+ return props.rotate;
1336
+ });
1337
+ const show = ref(true);
1338
+ const volver = useVolver();
1339
+ const { modifiers } = toRefs(props);
1340
+ const bemCssClasses = useModifiers("vv-icon", modifiers);
1341
+ const provider = computed(() => {
1342
+ return props.provider || volver?.iconsProvider;
1343
+ });
1344
+ const icon = computed(() => {
1345
+ const name = props.name ?? "";
1346
+ const iconName = `@${provider.value}:${props.prefix}:${name}`;
1347
+ if (iconLoaded(iconName)) {
1348
+ return iconName;
1349
+ }
1350
+ const iconsCollection = volver?.iconsCollections.find(
1351
+ (iconsCollection2) => {
1352
+ const icon2 = `@${provider.value}:${iconsCollection2.prefix}:${name}`;
1353
+ return iconLoaded(icon2);
1354
+ }
1355
+ );
1356
+ if (iconsCollection) {
1357
+ return `@${provider.value}:${iconsCollection.prefix}:${name}`;
1358
+ }
1359
+ return name;
1360
+ });
1361
+ function getSvgContent(svg) {
1362
+ let dom;
1363
+ if (typeof window === "undefined") {
1364
+ const { JSDOM } = require("jsdom");
1365
+ dom = new JSDOM().window;
1366
+ }
1367
+ const domParser = dom ? new dom.DOMParser() : new window.DOMParser();
1368
+ const svgDomString = domParser.parseFromString(svg, "text/html");
1369
+ const svgEl = svgDomString.querySelector("svg");
1370
+ return svgEl;
1371
+ }
1372
+ function addIconFromSvg(svg) {
1373
+ const svgContentEl = getSvgContent(svg);
1374
+ const svgContent = svgContentEl?.innerHTML.trim() || "";
1375
+ if (svgContentEl && svgContent) {
1376
+ addIcon(`@${provider.value}:${props.prefix}:${props.name}`, {
1377
+ body: svgContent,
1378
+ // Set height and width from svg content
1379
+ height: svgContentEl.viewBox.baseVal.height,
1380
+ width: svgContentEl.viewBox.baseVal.width
1381
+ });
1382
+ }
1383
+ }
1384
+ if (volver) {
1385
+ if (props.src && !iconLoaded(`@${provider.value}:${props.prefix}:${props.name}`)) {
1386
+ show.value = false;
1387
+ volver.fetchIcon(props.src).then((svg) => {
1388
+ if (svg) {
1389
+ addIconFromSvg(svg);
1390
+ show.value = true;
1391
+ }
1392
+ }).catch((e) => {
1393
+ throw new Error(`Error during fetch icon: ${e?.message}`);
1394
+ });
1395
+ }
1396
+ }
1397
+ if (props.svg) {
1398
+ addIconFromSvg(props.svg);
1399
+ }
1400
+ return (_ctx, _cache) => {
1401
+ return unref(show) ? (openBlock(), createBlock(unref(Icon), mergeProps({
1402
+ key: 0,
1403
+ class: unref(bemCssClasses)
1404
+ }, {
1405
+ inline: __props.inline,
1406
+ width: __props.width,
1407
+ height: __props.height,
1408
+ horizontalFlip: __props.horizontalFlip,
1409
+ verticalFlip: __props.verticalFlip,
1410
+ flip: __props.flip,
1411
+ rotate: unref(hasRotate),
1412
+ color: __props.color,
1413
+ icon: unref(icon)
1414
+ }, { onLoad: __props.onLoad }), null, 16, ["class", "onLoad"])) : createCommentVNode("v-if", true);
1415
+ };
1416
+ }
1417
+ });
783
1418
  function useDefaults(componentName, propsDefinition, props) {
784
1419
  const volver = useVolver();
785
1420
  const volverComponentDefaults = computed(() => {
786
- var _a;
787
- if (!volver || !((_a = volver.defaults.value) == null ? void 0 : _a[componentName])) {
1421
+ if (!volver || !volver.defaults.value?.[componentName]) {
788
1422
  return void 0;
789
1423
  }
790
1424
  return volver.defaults.value[componentName];
@@ -833,17 +1467,16 @@ function useDefaults(componentName, propsDefinition, props) {
833
1467
  }, {});
834
1468
  });
835
1469
  }
836
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
837
1470
  function useDebouncedInput(modelValue, emit, ms = 0, {
838
1471
  getter = (value) => value,
839
1472
  setter = (value) => value
840
1473
  } = {}) {
841
1474
  let timeout;
842
1475
  if (typeof ms === "string") {
843
- ms = parseInt(ms);
1476
+ ms = Number.parseInt(ms);
844
1477
  }
845
1478
  return computed({
846
- get: () => getter(modelValue == null ? void 0 : modelValue.value),
1479
+ get: () => getter(modelValue?.value),
847
1480
  set: (value) => {
848
1481
  if (timeout) {
849
1482
  clearTimeout(timeout);
@@ -855,30 +1488,30 @@ function useDebouncedInput(modelValue, emit, ms = 0, {
855
1488
  });
856
1489
  }
857
1490
  function useComponentIcon(icon, iconPosition) {
1491
+ const hasIcon = computed(() => {
1492
+ if (typeof icon?.value === "string") {
1493
+ return { name: icon?.value };
1494
+ }
1495
+ return icon?.value;
1496
+ });
858
1497
  const hasIconBefore = computed(
859
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Position.before)
1498
+ () => iconPosition?.value === Position.before ? hasIcon.value : void 0
860
1499
  );
861
1500
  const hasIconAfter = computed(
862
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Position.after)
1501
+ () => iconPosition?.value === Position.after ? hasIcon.value : void 0
863
1502
  );
864
1503
  const hasIconLeft = computed(
865
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.left)
1504
+ () => iconPosition?.value === Side.left ? hasIcon.value : void 0
866
1505
  );
867
1506
  const hasIconRight = computed(
868
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.right)
1507
+ () => iconPosition?.value === Side.right ? hasIcon.value : void 0
869
1508
  );
870
1509
  const hasIconTop = computed(
871
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.top)
1510
+ () => iconPosition?.value === Side.top ? hasIcon.value : void 0
872
1511
  );
873
1512
  const hasIconBottom = computed(
874
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.bottom)
1513
+ () => iconPosition?.value === Side.bottom ? hasIcon.value : void 0
875
1514
  );
876
- const hasIcon = computed(() => {
877
- if (typeof (icon == null ? void 0 : icon.value) === "string") {
878
- return { name: icon == null ? void 0 : icon.value };
879
- }
880
- return icon == null ? void 0 : icon.value;
881
- });
882
1515
  return {
883
1516
  hasIcon,
884
1517
  hasIconLeft,
@@ -903,22 +1536,22 @@ function useTextCount(text, options) {
903
1536
  return (unref(text) ?? "").length;
904
1537
  });
905
1538
  const gap = computed(() => {
906
- if ((options == null ? void 0 : options.lowerLimit) !== void 0 && length.value < (options == null ? void 0 : options.lowerLimit)) {
1539
+ if (options?.lowerLimit !== void 0 && length.value < options?.lowerLimit) {
907
1540
  return length.value - options.lowerLimit;
908
1541
  }
909
- if ((options == null ? void 0 : options.upperLimit) !== void 0 && length.value < (options == null ? void 0 : options.upperLimit)) {
1542
+ if (options?.upperLimit !== void 0 && length.value < options?.upperLimit) {
910
1543
  return options.upperLimit - length.value;
911
1544
  }
912
1545
  return 0;
913
1546
  });
914
1547
  const formatted = computed(() => {
915
- if ((options == null ? void 0 : options.mode) === false) {
1548
+ if (options?.mode === false) {
916
1549
  return "";
917
1550
  }
918
- if ((options == null ? void 0 : options.mode) === "limit" && (options == null ? void 0 : options.upperLimit)) {
1551
+ if (options?.mode === "limit" && options?.upperLimit) {
919
1552
  return `${length.value} / ${options.lowerLimit ? `${options.lowerLimit}-` : ""}${options.upperLimit}`;
920
1553
  }
921
- if ((options == null ? void 0 : options.mode) === "countdown") {
1554
+ if (options?.mode === "countdown") {
922
1555
  if (gap.value === 0) {
923
1556
  return void 0;
924
1557
  }
@@ -932,22 +1565,85 @@ function useTextCount(text, options) {
932
1565
  formatted
933
1566
  };
934
1567
  }
1568
+ function usePersistence(storageKey, storageType = StorageType.local, defaultValue) {
1569
+ const localValue = ref();
1570
+ if (defaultValue) {
1571
+ localValue.value = defaultValue;
1572
+ }
1573
+ let storageValue;
1574
+ onMounted(() => {
1575
+ if (storageKey) {
1576
+ watch(
1577
+ storageKey,
1578
+ (newKey, oldKey) => {
1579
+ const storage = unref(storageType) === StorageType.session ? sessionStorage : localStorage;
1580
+ if (oldKey && oldKey !== newKey) {
1581
+ storage.removeItem(oldKey);
1582
+ }
1583
+ if (newKey) {
1584
+ storageValue = useStorage(
1585
+ newKey,
1586
+ storageValue?.value ?? localValue.value,
1587
+ storage
1588
+ );
1589
+ if (storageValue.value) {
1590
+ localValue.value = storageValue.value;
1591
+ }
1592
+ return;
1593
+ }
1594
+ storageValue = void 0;
1595
+ },
1596
+ {
1597
+ immediate: true
1598
+ }
1599
+ );
1600
+ }
1601
+ if (isRef(storageType)) {
1602
+ watch(storageType, (newType, oldType) => {
1603
+ if (storageKey?.value) {
1604
+ if (newType) {
1605
+ const storage = newType === StorageType.session ? sessionStorage : localStorage;
1606
+ storageValue = useStorage(
1607
+ storageKey.value,
1608
+ storageValue?.value ?? localValue.value,
1609
+ storage
1610
+ );
1611
+ }
1612
+ if (oldType && oldType !== newType) {
1613
+ const oldStorage = oldType === StorageType.session ? sessionStorage : localStorage;
1614
+ oldStorage.removeItem(storageKey.value);
1615
+ }
1616
+ }
1617
+ });
1618
+ }
1619
+ });
1620
+ watch(localValue, (newValue) => {
1621
+ if (storageValue) {
1622
+ storageValue.value = newValue;
1623
+ }
1624
+ }, {
1625
+ deep: true,
1626
+ immediate: true
1627
+ });
1628
+ return localValue;
1629
+ }
935
1630
  const _hoisted_1 = ["for"];
936
- const _hoisted_2 = { class: "vv-textarea__wrapper" };
937
- const _hoisted_3 = {
1631
+ const _hoisted_2 = {
938
1632
  key: 0,
939
1633
  class: "vv-textarea__input-before"
940
1634
  };
941
- const _hoisted_4 = { class: "vv-textarea__inner" };
942
- const _hoisted_5 = ["id"];
943
- const _hoisted_6 = {
1635
+ const _hoisted_3 = { class: "vv-textarea__inner" };
1636
+ const _hoisted_4 = ["id"];
1637
+ const _hoisted_5 = {
944
1638
  key: 1,
945
1639
  class: "vv-textarea__input-after"
946
1640
  };
947
- const _hoisted_7 = {
1641
+ const _hoisted_6 = {
948
1642
  key: 2,
949
1643
  class: "vv-textarea__limit"
950
1644
  };
1645
+ const _hoisted_7 = { class: "flex-1" };
1646
+ const _hoisted_8 = ["title", "onClick"];
951
1647
  const __default__ = {
952
1648
  name: "VvTextarea"
953
1649
  };
@@ -955,19 +1651,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
955
1651
  ...__default__,
956
1652
  props: VvTextareaProps,
957
1653
  emits: VvTextareaEvents,
958
- setup(__props, { emit }) {
1654
+ setup(__props, { emit: __emit }) {
959
1655
  const props = __props;
1656
+ const emit = __emit;
960
1657
  const slots = useSlots();
1658
+ const volver = useVolver();
961
1659
  const propsDefaults = useDefaults(
962
1660
  "VvTextarea",
963
1661
  VvTextareaProps,
964
1662
  props
965
1663
  );
966
- const textarea = ref();
1664
+ const textareaEl = ref();
1665
+ const wrapperEl = ref();
1666
+ const suggestionsDropdownEl = ref();
967
1667
  const {
968
1668
  id,
969
1669
  icon,
970
1670
  iconPosition,
1671
+ iconRemoveSuggestion,
1672
+ labelRemoveSuggestion,
971
1673
  label,
972
1674
  modelValue,
973
1675
  count,
@@ -977,29 +1679,51 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
977
1679
  modifiers,
978
1680
  debounce,
979
1681
  minlength,
980
- maxlength
1682
+ maxlength,
1683
+ storageType
981
1684
  } = toRefs(props);
982
1685
  const hasId = useUniqueId(id);
983
1686
  const hasHintId = computed(() => `${hasId.value}-hint`);
984
1687
  const hasPlaceholder = computed(
985
1688
  () => props.floating && isEmpty(props.placeholder) ? " " : props.placeholder
986
1689
  );
987
- const localModelValue = useDebouncedInput(modelValue, emit, debounce == null ? void 0 : debounce.value);
988
- const { hasIcon, hasIconBefore, hasIconAfter } = useComponentIcon(
989
- icon,
990
- iconPosition
1690
+ const localModelValue = useDebouncedInput(modelValue, emit, debounce?.value);
1691
+ const { hasIconBefore, hasIconAfter } = useComponentIcon(icon, iconPosition);
1692
+ const { hasIcon: hasIconRemoveSuggestion } = useComponentIcon(iconRemoveSuggestion);
1693
+ const { focused } = useComponentFocus(textareaEl, emit);
1694
+ const isFocused = computed(
1695
+ () => focused.value && !props.disabled && !props.readonly
991
1696
  );
992
- const { focused } = useComponentFocus(textarea, emit);
993
- const isVisible = useElementVisibility(textarea);
1697
+ watch(isFocused, (newValue) => {
1698
+ if (newValue && propsDefaults.value.selectOnFocus && textareaEl.value) {
1699
+ textareaEl.value.select();
1700
+ }
1701
+ if (newValue && suggestions.value?.size) {
1702
+ suggestionsDropdownEl.value?.show();
1703
+ return;
1704
+ }
1705
+ if (isDirty.value && suggestions.value) {
1706
+ const suggestionsLimit = props.maxSuggestions;
1707
+ if (suggestions.value.size >= suggestionsLimit && !suggestions.value.has(localModelValue.value)) {
1708
+ suggestions.value = new Set(
1709
+ [...suggestions.value].slice(
1710
+ suggestions.value.size - suggestionsLimit + 1
1711
+ )
1712
+ );
1713
+ }
1714
+ suggestions.value.add(localModelValue.value);
1715
+ }
1716
+ });
1717
+ const isVisible = useElementVisibility(textareaEl);
994
1718
  watch(isVisible, (newValue) => {
995
1719
  if (newValue && props.autofocus) {
996
1720
  focused.value = true;
997
1721
  }
998
1722
  });
999
1723
  const { formatted: countFormatted } = useTextCount(localModelValue, {
1000
- mode: count == null ? void 0 : count.value,
1001
- upperLimit: Number(maxlength == null ? void 0 : maxlength.value),
1002
- lowerLimit: Number(minlength == null ? void 0 : minlength.value)
1724
+ mode: count?.value,
1725
+ upperLimit: Number(maxlength?.value),
1726
+ lowerLimit: Number(minlength?.value)
1003
1727
  });
1004
1728
  const isClickable = computed(() => !props.disabled && !props.readonly);
1005
1729
  const hasTabindex = computed(
@@ -1015,6 +1739,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1015
1739
  }
1016
1740
  return void 0;
1017
1741
  });
1742
+ const storageKey = computed(() => props.storageKey ?? (volver?.experimentalFeatures.forceInputSuggestions ? props.name : void 0));
1743
+ const suggestions = usePersistence(
1744
+ storageKey,
1745
+ storageType,
1746
+ /* @__PURE__ */ new Set()
1747
+ );
1748
+ const filteredSuggestions = computed(() => {
1749
+ if (!suggestions.value) {
1750
+ return [];
1751
+ }
1752
+ return [...suggestions.value].filter(
1753
+ (suggestion) => isEmpty(localModelValue.value) || `${suggestion}`.toLowerCase().includes(`${localModelValue.value}`.toLowerCase()) && suggestion !== localModelValue.value
1754
+ ).reverse();
1755
+ });
1756
+ const hasSuggestions = computed(
1757
+ () => storageKey?.value && suggestions.value && suggestions.value.size > 0
1758
+ );
1759
+ function onSuggestionSelect(suggestion) {
1760
+ localModelValue.value = suggestion;
1761
+ suggestionsDropdownEl.value?.hide();
1762
+ emit("suggestion:selected", suggestion);
1763
+ }
1764
+ function onSuggestionRemove(suggestion) {
1765
+ suggestions.value?.delete(suggestion);
1766
+ emit("suggestion:removed", suggestion);
1767
+ }
1018
1768
  const {
1019
1769
  HintSlot,
1020
1770
  hasHintLabelOrSlot,
@@ -1025,34 +1775,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1025
1775
  "vv-textarea",
1026
1776
  modifiers,
1027
1777
  computed(() => ({
1028
- valid: valid.value,
1029
- invalid: invalid.value,
1030
- loading: loading.value,
1031
- disabled: props.disabled,
1032
- readonly: props.readonly,
1033
- "icon-before": hasIconBefore.value,
1034
- "icon-after": hasIconAfter.value,
1035
- floating: props.floating && !isEmpty(props.label),
1036
- dirty: isDirty.value,
1037
- focus: focused.value,
1038
- resizable: props.resizable
1778
+ "valid": valid.value,
1779
+ "invalid": invalid.value,
1780
+ "loading": loading.value,
1781
+ "disabled": props.disabled,
1782
+ "readonly": props.readonly,
1783
+ "required": props.required,
1784
+ "icon-before": hasIconBefore.value !== void 0,
1785
+ "icon-after": hasIconAfter.value !== void 0,
1786
+ "floating": props.floating && !isEmpty(props.label),
1787
+ "dirty": isDirty.value,
1788
+ "focus": focused.value,
1789
+ "resizable": props.resizable
1039
1790
  }))
1040
1791
  );
1041
1792
  const hasAttrs = computed(
1042
1793
  () => ({
1043
- name: props.name,
1044
- placeholder: hasPlaceholder.value,
1045
- tabindex: hasTabindex.value,
1046
- disabled: props.disabled,
1047
- readonly: props.readonly,
1048
- required: props.required,
1049
- autocomplete: props.autocomplete,
1050
- minlength: props.minlength,
1051
- maxlength: props.maxlength,
1052
- cols: props.cols,
1053
- rows: props.rows,
1054
- wrap: props.wrap,
1055
- spellcheck: props.spellcheck,
1794
+ "name": props.name,
1795
+ "placeholder": hasPlaceholder.value,
1796
+ "tabindex": hasTabindex.value,
1797
+ "disabled": props.disabled,
1798
+ "readonly": props.readonly,
1799
+ "required": props.required,
1800
+ "autocomplete": props.autocomplete,
1801
+ "minlength": props.minlength,
1802
+ "maxlength": props.maxlength,
1803
+ "cols": props.cols,
1804
+ "rows": props.rows,
1805
+ "wrap": props.wrap,
1806
+ "spellcheck": props.spellcheck,
1056
1807
  "aria-invalid": isInvalid.value,
1057
1808
  "aria-describedby": hasHintLabelOrSlot.value ? hasHintId.value : void 0,
1058
1809
  "aria-errormessage": hasInvalidLabelOrSlot.value ? hasHintId.value : void 0
@@ -1067,9 +1818,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1067
1818
  minlength: props.minlength,
1068
1819
  clear: onClear
1069
1820
  }));
1070
- const onClear = () => {
1821
+ function onClear() {
1071
1822
  localModelValue.value = void 0;
1072
- };
1823
+ }
1073
1824
  return (_ctx, _cache) => {
1074
1825
  return openBlock(), createElementBlock(
1075
1826
  "div",
@@ -1082,55 +1833,59 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1082
1833
  for: unref(hasId),
1083
1834
  class: "vv-textarea__label"
1084
1835
  }, toDisplayString(unref(label)), 9, _hoisted_1)) : createCommentVNode("v-if", true),
1085
- createElementVNode("div", _hoisted_2, [
1086
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3, [
1087
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
1088
- ])) : createCommentVNode("v-if", true),
1089
- createElementVNode("div", _hoisted_4, [
1090
- unref(hasIconBefore) ? (openBlock(), createBlock(
1091
- _sfc_main$1,
1092
- mergeProps({
1093
- key: 0,
1094
- class: "vv-textarea__icon"
1095
- }, unref(hasIcon)),
1096
- null,
1097
- 16
1098
- /* FULL_PROPS */
1099
- )) : createCommentVNode("v-if", true),
1100
- withDirectives(createElementVNode("textarea", mergeProps({
1101
- id: unref(hasId),
1102
- ref_key: "textarea",
1103
- ref: textarea,
1104
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
1105
- }, unref(hasAttrs), {
1106
- onKeyup: _cache[1] || (_cache[1] = ($event) => emit("keyup", $event))
1107
- }), null, 16, _hoisted_5), [
1108
- [vModelText, unref(localModelValue)]
1836
+ createElementVNode(
1837
+ "div",
1838
+ {
1839
+ ref_key: "wrapperEl",
1840
+ ref: wrapperEl,
1841
+ class: "vv-textarea__wrapper"
1842
+ },
1843
+ [
1844
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_2, [
1845
+ renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
1846
+ ])) : createCommentVNode("v-if", true),
1847
+ createElementVNode("div", _hoisted_3, [
1848
+ unref(hasIconBefore) ? (openBlock(), createBlock(
1849
+ _sfc_main$1,
1850
+ mergeProps({ key: 0 }, unref(hasIconBefore), { class: "vv-textarea__icon" }),
1851
+ null,
1852
+ 16
1853
+ /* FULL_PROPS */
1854
+ )) : createCommentVNode("v-if", true),
1855
+ withDirectives(createElementVNode("textarea", mergeProps({
1856
+ id: unref(hasId),
1857
+ ref_key: "textareaEl",
1858
+ ref: textareaEl,
1859
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
1860
+ }, unref(hasAttrs), {
1861
+ onKeyup: _cache[1] || (_cache[1] = ($event) => emit("keyup", $event))
1862
+ }), null, 16, _hoisted_4), [
1863
+ [vModelText, unref(localModelValue)]
1864
+ ]),
1865
+ unref(hasIconAfter) ? (openBlock(), createBlock(
1866
+ _sfc_main$1,
1867
+ mergeProps({ key: 1 }, unref(hasIconAfter), { class: "vv-textarea__icon vv-textarea__icon-after" }),
1868
+ null,
1869
+ 16
1870
+ /* FULL_PROPS */
1871
+ )) : createCommentVNode("v-if", true)
1109
1872
  ]),
1110
- unref(hasIconAfter) ? (openBlock(), createBlock(
1111
- _sfc_main$1,
1112
- mergeProps({
1113
- key: 1,
1114
- class: "vv-textarea__icon vv-textarea__icon-after"
1115
- }, unref(hasIcon)),
1116
- null,
1117
- 16
1118
- /* FULL_PROPS */
1119
- )) : createCommentVNode("v-if", true)
1120
- ]),
1121
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_6, [
1122
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
1123
- ])) : createCommentVNode("v-if", true),
1124
- unref(count) ? (openBlock(), createElementBlock("span", _hoisted_7, [
1125
- renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
1126
- createTextVNode(
1127
- toDisplayString(unref(countFormatted)),
1128
- 1
1129
- /* TEXT */
1130
- )
1131
- ])
1132
- ])) : createCommentVNode("v-if", true)
1133
- ]),
1873
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_5, [
1874
+ renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
1875
+ ])) : createCommentVNode("v-if", true),
1876
+ unref(count) ? (openBlock(), createElementBlock("span", _hoisted_6, [
1877
+ renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
1878
+ createTextVNode(
1879
+ toDisplayString(unref(countFormatted)),
1880
+ 1
1881
+ /* TEXT */
1882
+ )
1883
+ ])
1884
+ ])) : createCommentVNode("v-if", true)
1885
+ ],
1886
+ 512
1887
+ /* NEED_PATCH */
1888
+ ),
1134
1889
  createVNode(unref(HintSlot), {
1135
1890
  id: unref(hasHintId),
1136
1891
  class: "vv-textarea__hint"
@@ -1166,7 +1921,62 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1166
1921
  ]),
1167
1922
  key: "3"
1168
1923
  } : void 0
1169
- ]), 1032, ["id"])
1924
+ ]), 1032, ["id"]),
1925
+ unref(hasSuggestions) ? (openBlock(), createBlock(_sfc_main$4, {
1926
+ key: 1,
1927
+ ref_key: "suggestionsDropdownEl",
1928
+ ref: suggestionsDropdownEl,
1929
+ reference: unref(wrapperEl),
1930
+ "autofocus-first": false,
1931
+ "trigger-width": true
1932
+ }, {
1933
+ items: withCtx(() => [
1934
+ (openBlock(true), createElementBlock(
1935
+ Fragment,
1936
+ null,
1937
+ renderList(unref(filteredSuggestions), (value) => {
1938
+ return openBlock(), createBlock(_sfc_main$2, {
1939
+ key: value,
1940
+ onClick: withModifiers(($event) => onSuggestionSelect(value), ["stop"])
1941
+ }, {
1942
+ default: withCtx(() => [
1943
+ createElementVNode("div", _hoisted_7, [
1944
+ renderSlot(_ctx.$slots, "suggestion", mergeProps({ ref_for: true }, { value }), () => [
1945
+ createTextVNode(
1946
+ toDisplayString(value),
1947
+ 1
1948
+ /* TEXT */
1949
+ )
1950
+ ])
1951
+ ]),
1952
+ unref(suggestions) && unref(hasIconRemoveSuggestion) ? (openBlock(), createElementBlock("button", {
1953
+ key: 0,
1954
+ type: "button",
1955
+ tabindex: "-1",
1956
+ class: "cursor-pointer",
1957
+ title: unref(labelRemoveSuggestion),
1958
+ onClick: withModifiers(($event) => onSuggestionRemove(value), ["stop"])
1959
+ }, [
1960
+ createVNode(
1961
+ _sfc_main$1,
1962
+ mergeProps({ ref_for: true }, unref(hasIconRemoveSuggestion)),
1963
+ null,
1964
+ 16
1965
+ /* FULL_PROPS */
1966
+ )
1967
+ ], 8, _hoisted_8)) : createCommentVNode("v-if", true)
1968
+ ]),
1969
+ _: 2
1970
+ /* DYNAMIC */
1971
+ }, 1032, ["onClick"]);
1972
+ }),
1973
+ 128
1974
+ /* KEYED_FRAGMENT */
1975
+ ))
1976
+ ]),
1977
+ _: 3
1978
+ /* FORWARDED */
1979
+ }, 8, ["reference"])) : createCommentVNode("v-if", true)
1170
1980
  ],
1171
1981
  2
1172
1982
  /* CLASS */