@volverjs/ui-vue 0.0.10-beta.8 → 0.0.10

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 +150 -270
  7. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  8. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +35 -15
  9. package/dist/components/VvAccordion/index.d.ts +8 -9
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +406 -350
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +66 -19
  13. package/dist/components/VvAccordionGroup/index.d.ts +16 -8
  14. package/dist/components/VvAction/VvAction.es.js +74 -146
  15. package/dist/components/VvAction/VvAction.umd.js +1 -1
  16. package/dist/components/VvAction/VvAction.vue.d.ts +63 -30
  17. package/dist/components/VvAction/index.d.ts +26 -10
  18. package/dist/components/VvAlert/VvAlert.es.js +260 -449
  19. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  20. package/dist/components/VvAlert/VvAlert.vue.d.ts +40 -26
  21. package/dist/components/VvAlert/index.d.ts +20 -11
  22. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +263 -442
  23. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  24. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +28 -21
  25. package/dist/components/VvAlertGroup/index.d.ts +10 -18
  26. package/dist/components/VvAvatar/VvAvatar.es.js +33 -195
  27. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  28. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +15 -7
  29. package/dist/components/VvAvatar/index.d.ts +4 -1
  30. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +64 -222
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +19 -12
  33. package/dist/components/VvAvatarGroup/index.d.ts +6 -3
  34. package/dist/components/VvBadge/VvBadge.es.js +30 -196
  35. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  36. package/dist/components/VvBadge/VvBadge.vue.d.ts +15 -7
  37. package/dist/components/VvBadge/index.d.ts +4 -1
  38. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +234 -167
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +31 -11
  41. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  42. package/dist/components/VvButton/VvButton.es.js +436 -554
  43. package/dist/components/VvButton/VvButton.umd.js +1 -1
  44. package/dist/components/VvButton/VvButton.vue.d.ts +107 -57
  45. package/dist/components/VvButton/index.d.ts +52 -30
  46. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +56 -203
  47. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  48. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +38 -19
  49. package/dist/components/VvButtonGroup/index.d.ts +13 -4
  50. package/dist/components/VvCard/VvCard.es.js +29 -194
  51. package/dist/components/VvCard/VvCard.umd.js +1 -1
  52. package/dist/components/VvCard/VvCard.vue.d.ts +21 -10
  53. package/dist/components/VvCard/index.d.ts +4 -1
  54. package/dist/components/VvCheckbox/VvCheckbox.es.js +149 -299
  55. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  56. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +119 -45
  57. package/dist/components/VvCheckbox/index.d.ts +52 -19
  58. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +318 -440
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +126 -44
  61. package/dist/components/VvCheckboxGroup/index.d.ts +49 -12
  62. package/dist/components/VvCombobox/VvCombobox.es.js +2404 -2126
  63. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  64. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +292 -672
  65. package/dist/components/VvCombobox/index.d.ts +467 -138
  66. package/dist/components/VvDialog/VvDialog.es.js +139 -478
  67. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  68. package/dist/components/VvDialog/VvDialog.vue.d.ts +29 -11
  69. package/dist/components/VvDialog/index.d.ts +12 -0
  70. package/dist/components/VvDropdown/VvDropdown.es.js +127 -161
  71. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  72. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +119 -332
  73. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +73 -29
  74. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +15 -3
  75. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +13 -5
  76. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +43 -14
  77. package/dist/components/VvDropdown/index.d.ts +52 -118
  78. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +108 -164
  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 +28 -182
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  84. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +123 -243
  85. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  86. package/dist/components/VvIcon/VvIcon.es.js +34 -113
  87. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  88. package/dist/components/VvIcon/VvIcon.vue.d.ts +4 -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 +330 -0
  93. package/dist/components/VvInputFile/index.d.ts +197 -0
  94. package/dist/components/VvInputText/VvInputText.es.js +1629 -634
  95. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  96. package/dist/components/VvInputText/VvInputText.vue.d.ts +255 -90
  97. package/dist/components/VvInputText/VvInputTextActions.d.ts +4 -3
  98. package/dist/components/VvInputText/index.d.ts +113 -35
  99. package/dist/components/VvNav/VvNav.es.js +113 -175
  100. package/dist/components/VvNav/VvNav.umd.js +1 -1
  101. package/dist/components/VvNav/VvNav.vue.d.ts +35 -13
  102. package/dist/components/VvNav/VvNavItem.vue.d.ts +7 -3
  103. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  104. package/dist/components/VvNav/index.d.ts +5 -2
  105. package/dist/components/VvNavItem/VvNavItem.es.js +81 -148
  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 +31 -191
  110. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  111. package/dist/components/VvProgress/VvProgress.vue.d.ts +13 -6
  112. package/dist/components/VvProgress/index.d.ts +4 -1
  113. package/dist/components/VvRadio/VvRadio.es.js +147 -298
  114. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  115. package/dist/components/VvRadio/VvRadio.vue.d.ts +117 -43
  116. package/dist/components/VvRadio/index.d.ts +50 -17
  117. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +316 -439
  118. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  119. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +126 -44
  120. package/dist/components/VvRadioGroup/index.d.ts +49 -12
  121. package/dist/components/VvSelect/VvSelect.es.js +645 -690
  122. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  123. package/dist/components/VvSelect/VvSelect.vue.d.ts +117 -199
  124. package/dist/components/VvSelect/index.d.ts +221 -16
  125. package/dist/components/VvTab/VvTab.es.js +144 -198
  126. package/dist/components/VvTab/VvTab.umd.js +1 -1
  127. package/dist/components/VvTab/VvTab.vue.d.ts +37 -13
  128. package/dist/components/VvTab/index.d.ts +6 -3
  129. package/dist/components/VvTextarea/VvTextarea.es.js +1406 -582
  130. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  131. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +230 -66
  132. package/dist/components/VvTextarea/index.d.ts +105 -20
  133. package/dist/components/VvTooltip/VvTooltip.es.js +33 -190
  134. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  135. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +18 -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 +3874 -1890
  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 +171 -228
  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 +34 -191
  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 +321 -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 -146
  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 -54
  946. package/src/components/VvBreadcrumb/index.ts +0 -13
  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 -479
  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";
@@ -254,188 +49,70 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
254
49
  ButtonType2["reset"] = "reset";
255
50
  return ButtonType2;
256
51
  })(ButtonType || {});
257
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
258
- AnchorTarget2["_blank"] = "_blank";
259
- AnchorTarget2["_self"] = "_self";
260
- AnchorTarget2["_parent"] = "_parent";
261
- AnchorTarget2["_top"] = "_top";
262
- return AnchorTarget2;
263
- })(AnchorTarget || {});
52
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
53
+ ActionTag2["nuxtLink"] = "nuxt-link";
54
+ ActionTag2["routerLink"] = "router-link";
55
+ ActionTag2["a"] = "a";
56
+ ActionTag2["button"] = "button";
57
+ return ActionTag2;
58
+ })(ActionTag || {});
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 || {});
264
75
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
265
- function useVolver() {
266
- return inject(INJECTION_KEY_VOLVER);
267
- }
268
- function useModifiers(prefix, modifiers, others) {
269
- return computed(() => {
270
- const toReturn = {
271
- [prefix]: true
272
- };
273
- const modifiersArray = typeof (modifiers == null ? void 0 : modifiers.value) === "string" ? modifiers.value.split(" ") : modifiers == null ? void 0 : modifiers.value;
274
- if (modifiersArray) {
275
- if (Array.isArray(modifiersArray)) {
276
- modifiersArray.forEach((modifier) => {
277
- if (modifier) {
278
- toReturn[`${prefix}--${modifier}`] = true;
279
- }
280
- });
281
- }
282
- }
283
- if (others) {
284
- Object.keys(others.value).forEach((key) => {
285
- toReturn[`${prefix}--${key}`] = unref(others.value[key]);
286
- });
287
- }
288
- return toReturn;
289
- });
290
- }
291
- const __default__$1 = {
292
- name: "VvIcon"
293
- };
294
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
295
- ...__default__$1,
296
- props: VvIconProps,
297
- setup(__props) {
298
- const props = __props;
299
- const hasRotate = computed(() => {
300
- if (typeof props.rotate === "string") {
301
- return parseFloat(props.rotate);
302
- }
303
- return props.rotate;
304
- });
305
- const show = ref(true);
306
- const volver = useVolver();
307
- const { modifiers } = toRefs(props);
308
- const bemCssClasses = useModifiers("vv-icon", modifiers);
309
- const provider = computed(() => {
310
- return props.provider || (volver == null ? void 0 : volver.iconsProvider);
311
- });
312
- const icon = computed(() => {
313
- const name = props.name ?? "";
314
- const iconName = `@${provider.value}:${props.prefix}:${name}`;
315
- if (iconExists(iconName)) {
316
- return iconName;
317
- }
318
- const iconsCollection = volver == null ? void 0 : volver.iconsCollections.find(
319
- (iconsCollection2) => {
320
- const icon2 = `@${provider.value}:${iconsCollection2.prefix}:${name}`;
321
- return iconExists(icon2);
322
- }
323
- );
324
- if (iconsCollection) {
325
- return `@${provider.value}:${iconsCollection.prefix}:${name}`;
326
- }
327
- return name;
328
- });
329
- function getSvgContent(svg) {
330
- let dom;
331
- if (typeof window === "undefined") {
332
- const { JSDOM } = require("jsdom");
333
- dom = new JSDOM().window;
334
- }
335
- const domParser = dom ? new dom.DOMParser() : new window.DOMParser();
336
- const svgDomString = domParser.parseFromString(svg, "text/html");
337
- const svgEl = svgDomString.querySelector("svg");
338
- return svgEl;
339
- }
340
- function addIconFromSvg(svg) {
341
- const svgContentEl = getSvgContent(svg);
342
- const svgContent = (svgContentEl == null ? void 0 : svgContentEl.innerHTML.trim()) || "";
343
- if (svgContentEl && svgContent) {
344
- addIcon(`@${provider.value}:${props.prefix}:${props.name}`, {
345
- body: svgContent,
346
- // Set height and width from svg content
347
- height: svgContentEl.viewBox.baseVal.height,
348
- width: svgContentEl.viewBox.baseVal.width
349
- });
350
- }
351
- }
352
- if (volver) {
353
- if (props.src && !iconExists(`@${provider.value}:${props.prefix}:${props.name}`)) {
354
- show.value = false;
355
- volver.fetchIcon(props.src).then((svg) => {
356
- if (svg) {
357
- addIconFromSvg(svg);
358
- show.value = true;
359
- }
360
- }).catch((e) => {
361
- throw new Error(`Error during fetch icon: ${e == null ? void 0 : e.message}`);
362
- });
363
- }
364
- }
365
- if (props.svg) {
366
- addIconFromSvg(props.svg);
367
- }
368
- return (_ctx, _cache) => {
369
- return unref(show) ? (openBlock(), createBlock(unref(Icon), mergeProps({
370
- key: 0,
371
- class: unref(bemCssClasses)
372
- }, {
373
- inline: _ctx.inline,
374
- width: _ctx.width,
375
- height: _ctx.height,
376
- horizontalFlip: _ctx.horizontalFlip,
377
- verticalFlip: _ctx.verticalFlip,
378
- flip: _ctx.flip,
379
- rotate: unref(hasRotate),
380
- color: _ctx.color,
381
- onLoad: _ctx.onLoad,
382
- icon: unref(icon)
383
- }), null, 16, ["class"])) : createCommentVNode("v-if", true);
384
- };
385
- }
386
- });
387
- const LinkProps = {
388
- /**
389
- * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
390
- * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
391
- */
392
- to: {
393
- type: [String, Object]
394
- },
395
- /**
396
- * Anchor href
397
- */
398
- href: String,
399
- /**
400
- * Anchor target
401
- */
402
- target: {
403
- type: String,
404
- validator: (value) => Object.values(AnchorTarget).includes(value)
405
- },
406
- /**
407
- * Anchor rel
408
- */
409
- rel: {
410
- type: String,
411
- default: "noopener noreferrer"
412
- }
413
- };
414
- const ValidProps = {
415
- /**
416
- * Valid status
417
- */
418
- valid: Boolean,
419
- /**
420
- * Valid label
421
- */
422
- 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 }
423
94
  };
424
95
  const InvalidProps = {
425
96
  /**
426
97
  * Invalid status
427
98
  */
428
- invalid: Boolean,
99
+ invalid: {
100
+ type: Boolean,
101
+ default: false
102
+ },
429
103
  /**
430
104
  * Invalid label
431
105
  */
432
- invalidLabel: [String, Array]
106
+ invalidLabel: { type: [String, Array], default: void 0 }
433
107
  };
434
108
  const LoadingProps = {
435
109
  /**
436
110
  * Loading status
437
111
  */
438
- loading: Boolean,
112
+ loading: {
113
+ type: Boolean,
114
+ default: false
115
+ },
439
116
  /**
440
117
  * Loading label
441
118
  */
@@ -448,43 +125,55 @@ const DisabledProps = {
448
125
  /**
449
126
  * Whether the form control is disabled
450
127
  */
451
- disabled: Boolean
452
- };
453
- const ActiveProps = {
454
- /**
455
- * Whether the item is active
456
- */
457
- active: Boolean
128
+ disabled: {
129
+ type: Boolean,
130
+ default: false
131
+ }
458
132
  };
459
- const CurrentProps = {
133
+ const RequiredProps = {
460
134
  /**
461
- * Whether the item is current
135
+ * Whether the form control is required
462
136
  */
463
- current: Boolean
137
+ required: {
138
+ type: Boolean,
139
+ default: false
140
+ }
464
141
  };
465
- const PressedProps = {
142
+ const SelectedProps = {
466
143
  /**
467
- * Whether the item is pressed
144
+ * Whether the item is selected
468
145
  */
469
- pressed: Boolean
146
+ selected: {
147
+ type: Boolean,
148
+ default: false
149
+ }
470
150
  };
471
151
  const LabelProps = {
472
152
  /**
473
153
  * The item label
474
154
  */
475
- label: [String, Number]
155
+ label: {
156
+ type: [String, Number],
157
+ default: void 0
158
+ }
476
159
  };
477
160
  const ReadonlyProps = {
478
161
  /**
479
162
  * The value is not editable
480
163
  */
481
- readonly: Boolean
164
+ readonly: {
165
+ type: Boolean,
166
+ default: false
167
+ }
482
168
  };
483
169
  const ModifiersProps = {
484
170
  /**
485
171
  * Component BEM modifiers
486
172
  */
487
- modifiers: [String, Array]
173
+ modifiers: {
174
+ type: [String, Array],
175
+ default: void 0
176
+ }
488
177
  };
489
178
  const HintProps = {
490
179
  hintLabel: { type: String, default: "" }
@@ -503,14 +192,20 @@ const DebounceProps = {
503
192
  /**
504
193
  * Milliseconds to wait before emitting the input event
505
194
  */
506
- debounce: [Number, String]
195
+ debounce: {
196
+ type: [Number, String],
197
+ default: void 0
198
+ }
507
199
  };
508
200
  const IconProps = {
509
201
  /**
510
202
  * VvIcon name or props
511
- * @see VVIcon
203
+ * @see VvIcon
512
204
  */
513
- icon: { type: [String, Object] },
205
+ icon: {
206
+ type: [String, Object],
207
+ default: void 0
208
+ },
514
209
  /**
515
210
  * VvIcon position
516
211
  */
@@ -531,7 +226,16 @@ const FloatingLabelProps = {
531
226
  /**
532
227
  * If true the label will be floating
533
228
  */
534
- 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 }
535
239
  };
536
240
  const IdProps = {
537
241
  /**
@@ -540,7 +244,7 @@ const IdProps = {
540
244
  */
541
245
  id: [String, Number]
542
246
  };
543
- ({
247
+ const DropdownProps = {
544
248
  /**
545
249
  * Dropdown placement
546
250
  */
@@ -561,7 +265,8 @@ const IdProps = {
561
265
  * Dropdown show / hide transition name
562
266
  */
563
267
  transitionName: {
564
- type: String
268
+ type: String,
269
+ default: void 0
565
270
  },
566
271
  /**
567
272
  * Offset of the dropdown from the trigger
@@ -629,9 +334,10 @@ const IdProps = {
629
334
  * Set dropdown width to the same as the trigger
630
335
  */
631
336
  triggerWidth: {
632
- type: Boolean
337
+ type: Boolean,
338
+ default: false
633
339
  }
634
- });
340
+ };
635
341
  const IdNameProps = {
636
342
  ...IdProps,
637
343
  /**
@@ -646,7 +352,10 @@ const AutofocusProps = {
646
352
  * Global attribute autofocus
647
353
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
648
354
  */
649
- autofocus: Boolean
355
+ autofocus: {
356
+ type: Boolean,
357
+ default: false
358
+ }
650
359
  };
651
360
  const AutocompleteProps = {
652
361
  /**
@@ -678,99 +387,1038 @@ const InputTextareaProps = {
678
387
  * Available for input types: text, search, url, tel, email, password
679
388
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
680
389
  */
681
- minlength: [String, Number],
390
+ minlength: { type: [String, Number], default: void 0 },
682
391
  /**
683
392
  * Input / Textarea maxlength
684
393
  * Maximum length (number of characters) of value
685
394
  * Available for input types: text, search, url, tel, email, password
686
395
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
687
396
  */
688
- maxlength: [String, Number],
397
+ maxlength: { type: [String, Number], default: void 0 },
689
398
  /**
690
399
  * Input / Textarea placeholder
691
400
  * Text that appears in the form control when it has no value set
692
401
  * Available for input types: text, search, url, tel, email, password, number
693
402
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder
694
403
  */
695
- placeholder: String,
404
+ placeholder: {
405
+ type: String,
406
+ default: void 0
407
+ },
696
408
  /**
697
409
  * Input / Textarea required
698
410
  * A value is required or must be check for the form to be submittable
699
411
  * Available for all input types except color
700
412
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#required
701
413
  */
702
- required: Boolean
414
+ ...RequiredProps
703
415
  };
704
416
  ({
705
- ...DisabledProps,
706
- ...LabelProps,
707
- ...PressedProps,
708
- ...ActiveProps,
709
- ...CurrentProps,
710
- ...LinkProps,
711
417
  /**
712
418
  * Button type
713
419
  */
714
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: {
715
432
  type: String,
716
- default: ButtonType.button,
717
- validator: (value) => Object.values(ButtonType).includes(value)
433
+ default: StorageType.local,
434
+ validator: (value) => Object.values(StorageType).includes(value)
718
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,
719
448
  /**
720
- * Button aria-label
449
+ * Textarea value
450
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#value
721
451
  */
722
- ariaLabel: {
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 },
458
+ /**
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
461
+ */
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: {
723
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,
724
639
  default: void 0
640
+ },
641
+ /**
642
+ * Dropdown trigger element
643
+ */
644
+ reference: {
645
+ type: Object,
646
+ default: null
647
+ },
648
+ /**
649
+ * Dropdown role
650
+ */
651
+ role: {
652
+ type: String,
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
+ };
725
1205
  }
726
1206
  });
727
- const WRAP = {
728
- hard: "hard",
729
- soft: "soft"
1207
+ function useInjectedDropdownItem() {
1208
+ return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
1209
+ }
1210
+ const __default__$3 = {
1211
+ name: "VvDropdownItem"
730
1212
  };
731
- const SPELLCHECK = {
732
- true: true,
733
- false: false,
734
- 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"
735
1249
  };
736
- const VvTextareaEvents = ["update:modelValue", "focus", "blur", "keyup"];
737
- const VvTextareaProps = {
738
- ...InputTextareaProps,
739
- /**
740
- * Textarea value
741
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#value
742
- */
743
- modelValue: String,
744
- /**
745
- * 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.
746
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#cols
747
- */
748
- cols: { type: [String, Number], default: 20 },
749
- /**
750
- * 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.
751
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#rows
752
- */
753
- rows: { type: [String, Number], default: 2 },
754
- /**
755
- * Indicates how the control should wrap the value for form submission.
756
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
757
- */
758
- wrap: { type: String, default: WRAP.soft },
759
- /**
760
- * Specifies whether the <textarea> is subject to spell checking by the underlying browser/OS.
761
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap
762
- */
763
- spellcheck: { type: [Boolean, String], default: SPELLCHECK.default },
764
- /**
765
- * If true, the textarea will be resizable
766
- */
767
- 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"
768
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: _ctx.inline,
1406
+ width: _ctx.width,
1407
+ height: _ctx.height,
1408
+ horizontalFlip: _ctx.horizontalFlip,
1409
+ verticalFlip: _ctx.verticalFlip,
1410
+ flip: _ctx.flip,
1411
+ rotate: unref(hasRotate),
1412
+ color: _ctx.color,
1413
+ icon: unref(icon)
1414
+ }, { onLoad: _ctx.onLoad }), null, 16, ["class", "onLoad"])) : createCommentVNode("v-if", true);
1415
+ };
1416
+ }
1417
+ });
769
1418
  function useDefaults(componentName, propsDefinition, props) {
770
1419
  const volver = useVolver();
771
1420
  const volverComponentDefaults = computed(() => {
772
- var _a;
773
- if (!volver || !((_a = volver.defaults.value) == null ? void 0 : _a[componentName])) {
1421
+ if (!volver || !volver.defaults.value?.[componentName]) {
774
1422
  return void 0;
775
1423
  }
776
1424
  return volver.defaults.value[componentName];
@@ -819,17 +1467,16 @@ function useDefaults(componentName, propsDefinition, props) {
819
1467
  }, {});
820
1468
  });
821
1469
  }
822
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
823
1470
  function useDebouncedInput(modelValue, emit, ms = 0, {
824
1471
  getter = (value) => value,
825
1472
  setter = (value) => value
826
1473
  } = {}) {
827
1474
  let timeout;
828
1475
  if (typeof ms === "string") {
829
- ms = parseInt(ms);
1476
+ ms = Number.parseInt(ms);
830
1477
  }
831
1478
  return computed({
832
- get: () => getter(modelValue == null ? void 0 : modelValue.value),
1479
+ get: () => getter(modelValue?.value),
833
1480
  set: (value) => {
834
1481
  if (timeout) {
835
1482
  clearTimeout(timeout);
@@ -841,30 +1488,30 @@ function useDebouncedInput(modelValue, emit, ms = 0, {
841
1488
  });
842
1489
  }
843
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
+ });
844
1497
  const hasIconBefore = computed(
845
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Position.before)
1498
+ () => iconPosition?.value === Position.before ? hasIcon.value : void 0
846
1499
  );
847
1500
  const hasIconAfter = computed(
848
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Position.after)
1501
+ () => iconPosition?.value === Position.after ? hasIcon.value : void 0
849
1502
  );
850
1503
  const hasIconLeft = computed(
851
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.left)
1504
+ () => iconPosition?.value === Side.left ? hasIcon.value : void 0
852
1505
  );
853
1506
  const hasIconRight = computed(
854
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.right)
1507
+ () => iconPosition?.value === Side.right ? hasIcon.value : void 0
855
1508
  );
856
1509
  const hasIconTop = computed(
857
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.top)
1510
+ () => iconPosition?.value === Side.top ? hasIcon.value : void 0
858
1511
  );
859
1512
  const hasIconBottom = computed(
860
- () => Boolean((icon == null ? void 0 : icon.value) && iconPosition.value === Side.bottom)
1513
+ () => iconPosition?.value === Side.bottom ? hasIcon.value : void 0
861
1514
  );
862
- const hasIcon = computed(() => {
863
- if (typeof (icon == null ? void 0 : icon.value) === "string") {
864
- return { name: icon == null ? void 0 : icon.value };
865
- }
866
- return icon == null ? void 0 : icon.value;
867
- });
868
1515
  return {
869
1516
  hasIcon,
870
1517
  hasIconLeft,
@@ -889,22 +1536,22 @@ function useTextCount(text, options) {
889
1536
  return (unref(text) ?? "").length;
890
1537
  });
891
1538
  const gap = computed(() => {
892
- 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) {
893
1540
  return length.value - options.lowerLimit;
894
1541
  }
895
- 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) {
896
1543
  return options.upperLimit - length.value;
897
1544
  }
898
1545
  return 0;
899
1546
  });
900
1547
  const formatted = computed(() => {
901
- if ((options == null ? void 0 : options.mode) === false) {
1548
+ if (options?.mode === false) {
902
1549
  return "";
903
1550
  }
904
- if ((options == null ? void 0 : options.mode) === "limit" && (options == null ? void 0 : options.upperLimit)) {
1551
+ if (options?.mode === "limit" && options?.upperLimit) {
905
1552
  return `${length.value} / ${options.lowerLimit ? `${options.lowerLimit}-` : ""}${options.upperLimit}`;
906
1553
  }
907
- if ((options == null ? void 0 : options.mode) === "countdown") {
1554
+ if (options?.mode === "countdown") {
908
1555
  if (gap.value === 0) {
909
1556
  return void 0;
910
1557
  }
@@ -918,22 +1565,85 @@ function useTextCount(text, options) {
918
1565
  formatted
919
1566
  };
920
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
+ }
921
1630
  const _hoisted_1 = ["for"];
922
- const _hoisted_2 = { class: "vv-textarea__wrapper" };
923
- const _hoisted_3 = {
1631
+ const _hoisted_2 = {
924
1632
  key: 0,
925
1633
  class: "vv-textarea__input-before"
926
1634
  };
927
- const _hoisted_4 = { class: "vv-textarea__inner" };
928
- const _hoisted_5 = ["id"];
929
- const _hoisted_6 = {
1635
+ const _hoisted_3 = { class: "vv-textarea__inner" };
1636
+ const _hoisted_4 = ["id"];
1637
+ const _hoisted_5 = {
930
1638
  key: 1,
931
1639
  class: "vv-textarea__input-after"
932
1640
  };
933
- const _hoisted_7 = {
1641
+ const _hoisted_6 = {
934
1642
  key: 2,
935
1643
  class: "vv-textarea__limit"
936
1644
  };
1645
+ const _hoisted_7 = { class: "flex-1" };
1646
+ const _hoisted_8 = ["title", "onClick"];
937
1647
  const __default__ = {
938
1648
  name: "VvTextarea"
939
1649
  };
@@ -941,19 +1651,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
941
1651
  ...__default__,
942
1652
  props: VvTextareaProps,
943
1653
  emits: VvTextareaEvents,
944
- setup(__props, { emit }) {
1654
+ setup(__props, { emit: __emit }) {
945
1655
  const props = __props;
1656
+ const emit = __emit;
946
1657
  const slots = useSlots();
1658
+ const volver = useVolver();
947
1659
  const propsDefaults = useDefaults(
948
1660
  "VvTextarea",
949
1661
  VvTextareaProps,
950
1662
  props
951
1663
  );
952
- const textarea = ref();
1664
+ const textareaEl = ref();
1665
+ const wrapperEl = ref();
1666
+ const suggestionsDropdownEl = ref();
953
1667
  const {
954
1668
  id,
955
1669
  icon,
956
1670
  iconPosition,
1671
+ iconRemoveSuggestion,
1672
+ labelRemoveSuggestion,
957
1673
  label,
958
1674
  modelValue,
959
1675
  count,
@@ -963,29 +1679,51 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
963
1679
  modifiers,
964
1680
  debounce,
965
1681
  minlength,
966
- maxlength
1682
+ maxlength,
1683
+ storageType
967
1684
  } = toRefs(props);
968
1685
  const hasId = useUniqueId(id);
969
1686
  const hasHintId = computed(() => `${hasId.value}-hint`);
970
1687
  const hasPlaceholder = computed(
971
1688
  () => props.floating && isEmpty(props.placeholder) ? " " : props.placeholder
972
1689
  );
973
- const localModelValue = useDebouncedInput(modelValue, emit, debounce == null ? void 0 : debounce.value);
974
- const { hasIcon, hasIconBefore, hasIconAfter } = useComponentIcon(
975
- icon,
976
- 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
977
1696
  );
978
- const { focused } = useComponentFocus(textarea, emit);
979
- 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);
980
1718
  watch(isVisible, (newValue) => {
981
1719
  if (newValue && props.autofocus) {
982
1720
  focused.value = true;
983
1721
  }
984
1722
  });
985
1723
  const { formatted: countFormatted } = useTextCount(localModelValue, {
986
- mode: count == null ? void 0 : count.value,
987
- upperLimit: Number(maxlength == null ? void 0 : maxlength.value),
988
- lowerLimit: Number(minlength == null ? void 0 : minlength.value)
1724
+ mode: count?.value,
1725
+ upperLimit: Number(maxlength?.value),
1726
+ lowerLimit: Number(minlength?.value)
989
1727
  });
990
1728
  const isClickable = computed(() => !props.disabled && !props.readonly);
991
1729
  const hasTabindex = computed(
@@ -1001,6 +1739,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1001
1739
  }
1002
1740
  return void 0;
1003
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
+ }
1004
1768
  const {
1005
1769
  HintSlot,
1006
1770
  hasHintLabelOrSlot,
@@ -1011,34 +1775,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1011
1775
  "vv-textarea",
1012
1776
  modifiers,
1013
1777
  computed(() => ({
1014
- valid: valid.value,
1015
- invalid: invalid.value,
1016
- loading: loading.value,
1017
- disabled: props.disabled,
1018
- readonly: props.readonly,
1019
- "icon-before": hasIconBefore.value,
1020
- "icon-after": hasIconAfter.value,
1021
- floating: props.floating && !isEmpty(props.label),
1022
- dirty: isDirty.value,
1023
- focus: focused.value,
1024
- 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
1025
1790
  }))
1026
1791
  );
1027
1792
  const hasAttrs = computed(
1028
1793
  () => ({
1029
- name: props.name,
1030
- placeholder: hasPlaceholder.value,
1031
- tabindex: hasTabindex.value,
1032
- disabled: props.disabled,
1033
- readonly: props.readonly,
1034
- required: props.required,
1035
- autocomplete: props.autocomplete,
1036
- minlength: props.minlength,
1037
- maxlength: props.maxlength,
1038
- cols: props.cols,
1039
- rows: props.rows,
1040
- wrap: props.wrap,
1041
- 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,
1042
1807
  "aria-invalid": isInvalid.value,
1043
1808
  "aria-describedby": hasHintLabelOrSlot.value ? hasHintId.value : void 0,
1044
1809
  "aria-errormessage": hasInvalidLabelOrSlot.value ? hasHintId.value : void 0
@@ -1053,9 +1818,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1053
1818
  minlength: props.minlength,
1054
1819
  clear: onClear
1055
1820
  }));
1056
- const onClear = () => {
1821
+ function onClear() {
1057
1822
  localModelValue.value = void 0;
1058
- };
1823
+ }
1059
1824
  return (_ctx, _cache) => {
1060
1825
  return openBlock(), createElementBlock(
1061
1826
  "div",
@@ -1068,55 +1833,59 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1068
1833
  for: unref(hasId),
1069
1834
  class: "vv-textarea__label"
1070
1835
  }, toDisplayString(unref(label)), 9, _hoisted_1)) : createCommentVNode("v-if", true),
1071
- createElementVNode("div", _hoisted_2, [
1072
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_3, [
1073
- renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps(unref(slotProps))))
1074
- ])) : createCommentVNode("v-if", true),
1075
- createElementVNode("div", _hoisted_4, [
1076
- unref(hasIconBefore) ? (openBlock(), createBlock(
1077
- _sfc_main$1,
1078
- mergeProps({
1079
- key: 0,
1080
- class: "vv-textarea__icon"
1081
- }, unref(hasIcon)),
1082
- null,
1083
- 16
1084
- /* FULL_PROPS */
1085
- )) : createCommentVNode("v-if", true),
1086
- withDirectives(createElementVNode("textarea", mergeProps({
1087
- id: unref(hasId),
1088
- ref_key: "textarea",
1089
- ref: textarea,
1090
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(localModelValue) ? localModelValue.value = $event : null)
1091
- }, unref(hasAttrs), {
1092
- onKeyup: _cache[1] || (_cache[1] = ($event) => emit("keyup", $event))
1093
- }), null, 16, _hoisted_5), [
1094
- [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)
1095
1872
  ]),
1096
- unref(hasIconAfter) ? (openBlock(), createBlock(
1097
- _sfc_main$1,
1098
- mergeProps({
1099
- key: 1,
1100
- class: "vv-textarea__icon vv-textarea__icon-after"
1101
- }, unref(hasIcon)),
1102
- null,
1103
- 16
1104
- /* FULL_PROPS */
1105
- )) : createCommentVNode("v-if", true)
1106
- ]),
1107
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_6, [
1108
- renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps(unref(slotProps))))
1109
- ])) : createCommentVNode("v-if", true),
1110
- unref(count) ? (openBlock(), createElementBlock("span", _hoisted_7, [
1111
- renderSlot(_ctx.$slots, "count", normalizeProps(guardReactiveProps(unref(slotProps))), () => [
1112
- createTextVNode(
1113
- toDisplayString(unref(countFormatted)),
1114
- 1
1115
- /* TEXT */
1116
- )
1117
- ])
1118
- ])) : createCommentVNode("v-if", true)
1119
- ]),
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
+ ),
1120
1889
  createVNode(unref(HintSlot), {
1121
1890
  id: unref(hasHintId),
1122
1891
  class: "vv-textarea__hint"
@@ -1152,7 +1921,62 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1152
1921
  ]),
1153
1922
  key: "3"
1154
1923
  } : void 0
1155
- ]), 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)
1156
1980
  ],
1157
1981
  2
1158
1982
  /* CLASS */