@volverjs/ui-vue 0.0.10-beta.7 → 0.0.10-beta.71

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