@volverjs/ui-vue 0.0.10-beta.5 → 0.0.10-beta.51

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 (496) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +148 -51
  3. package/auto-imports.d.ts +25 -12
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +28 -20
  6. package/dist/Volver.d.ts +11 -11
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -104
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +29 -10
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +485 -206
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +61 -18
  14. package/dist/components/VvAccordionGroup/index.d.ts +16 -8
  15. package/dist/components/VvAction/VvAction.es.js +84 -33
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +61 -28
  18. package/dist/components/VvAction/index.d.ts +26 -10
  19. package/dist/components/VvAlert/VvAlert.es.js +350 -318
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +25 -17
  22. package/dist/components/VvAlert/index.d.ts +20 -11
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +388 -327
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +22 -17
  26. package/dist/components/VvAlertGroup/index.d.ts +10 -18
  27. package/dist/components/VvAvatar/VvAvatar.es.js +66 -28
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +13 -5
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +147 -74
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +17 -10
  34. package/dist/components/VvAvatarGroup/index.d.ts +6 -3
  35. package/dist/components/VvBadge/VvBadge.es.js +78 -34
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -5
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +294 -83
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +28 -8
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +510 -488
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +97 -45
  46. package/dist/components/VvButton/index.d.ts +52 -30
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +95 -45
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +35 -17
  50. package/dist/components/VvButtonGroup/index.d.ts +13 -4
  51. package/dist/components/VvCard/VvCard.es.js +87 -42
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +13 -5
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -136
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -35
  58. package/dist/components/VvCheckbox/index.d.ts +52 -19
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +408 -322
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +103 -34
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +1963 -1639
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +260 -672
  66. package/dist/components/VvCombobox/index.d.ts +385 -135
  67. package/dist/components/VvDialog/VvDialog.es.js +177 -297
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +23 -7
  70. package/dist/components/VvDialog/index.d.ts +12 -0
  71. package/dist/components/VvDropdown/VvDropdown.es.js +172 -102
  72. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  73. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +110 -315
  74. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +77 -28
  75. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  76. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +13 -5
  77. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +38 -10
  78. package/dist/components/VvDropdown/index.d.ts +52 -118
  79. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +165 -60
  80. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  81. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +337 -10
  82. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  84. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  85. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  86. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.es.js +24 -102
  88. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  89. package/dist/components/VvIcon/VvIcon.vue.d.ts +4 -68
  90. package/dist/components/VvIcon/index.d.ts +33 -48
  91. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  92. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  93. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +317 -0
  94. package/dist/components/VvInputFile/index.d.ts +193 -0
  95. package/dist/components/VvInputText/VvInputClearAction.d.ts +16 -10
  96. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +20 -14
  97. package/dist/components/VvInputText/VvInputStepAction.d.ts +11 -7
  98. package/dist/components/VvInputText/VvInputText.es.js +1495 -548
  99. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  100. package/dist/components/VvInputText/VvInputText.vue.d.ts +216 -68
  101. package/dist/components/VvInputText/index.d.ts +101 -31
  102. package/dist/components/VvNav/VvNav.es.js +155 -75
  103. package/dist/components/VvNav/VvNav.umd.js +1 -1
  104. package/dist/components/VvNav/VvNav.vue.d.ts +32 -11
  105. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  106. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  107. package/dist/components/VvNav/index.d.ts +5 -2
  108. package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
  109. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  110. package/dist/components/VvProgress/VvProgress.es.js +73 -27
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +13 -6
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +175 -135
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -33
  117. package/dist/components/VvRadio/index.d.ts +50 -17
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +406 -321
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +103 -34
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +677 -611
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +107 -199
  125. package/dist/components/VvSelect/index.d.ts +196 -16
  126. package/dist/components/VvTab/VvTab.es.js +230 -110
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +34 -12
  129. package/dist/components/VvTab/index.d.ts +6 -3
  130. package/dist/components/VvTextarea/VvTextarea.es.js +278 -255
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +159 -54
  133. package/dist/components/VvTextarea/index.d.ts +69 -20
  134. package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +16 -9
  137. package/dist/components/VvTooltip/index.d.ts +5 -2
  138. package/dist/components/common/HintSlot.d.ts +8 -9
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +4303 -2228
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlerInject.d.ts +4 -0
  143. package/dist/composables/alert/useAlert.d.ts +71 -6
  144. package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
  145. package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
  146. package/dist/composables/dropdown/useDropdownInject.d.ts +12 -0
  147. package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +6 -7
  148. package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
  149. package/dist/composables/group/useGroupStateInject.d.ts +9 -0
  150. package/dist/composables/group/useGroupStateProvide.d.ts +6 -0
  151. package/dist/composables/index.d.ts +3 -0
  152. package/dist/composables/index.es.js +178 -6
  153. package/dist/composables/index.umd.js +1 -1
  154. package/dist/composables/useBlurhash.d.ts +7 -0
  155. package/dist/composables/useComponentFocus.d.ts +2 -2
  156. package/dist/composables/useComponentIcon.d.ts +9 -8
  157. package/dist/composables/useOptions.d.ts +5 -5
  158. package/dist/composables/usePersistence.d.ts +3 -0
  159. package/dist/composables/useUniqueId.d.ts +2 -2
  160. package/dist/composables/useVolver.d.ts +1 -1
  161. package/dist/constants.d.ts +35 -33
  162. package/dist/directives/index.d.ts +3 -5
  163. package/dist/directives/index.es.js +247 -82
  164. package/dist/directives/index.umd.js +1 -1
  165. package/dist/directives/v-contextmenu.es.js +137 -31
  166. package/dist/directives/v-contextmenu.umd.js +1 -1
  167. package/dist/directives/v-tooltip.es.js +101 -39
  168. package/dist/directives/v-tooltip.umd.js +1 -1
  169. package/dist/icons.d.ts +17 -17
  170. package/dist/icons.es.js +516 -516
  171. package/dist/icons.umd.js +1 -1
  172. package/dist/index.d.ts +3 -1
  173. package/dist/index.es.js +74 -6
  174. package/dist/index.umd.js +1 -1
  175. package/dist/props/index.d.ts +288 -198
  176. package/dist/resolvers/unplugin.d.ts +6 -1
  177. package/dist/resolvers/unplugin.es.js +87 -10
  178. package/dist/resolvers/unplugin.umd.js +1 -1
  179. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  180. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  181. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
  182. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1304 -538
  183. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  184. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  185. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  186. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  187. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  188. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  189. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  190. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  191. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  192. package/dist/stories/Button/Button.settings.d.ts +2 -194
  193. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  194. package/dist/stories/Card/Card.settings.d.ts +2 -63
  195. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  196. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
  199. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
  200. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  201. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  202. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  203. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  204. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  205. package/dist/stories/InputFile/InputFile.stories.d.ts +13 -0
  206. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  207. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  208. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  209. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  210. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  211. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  213. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  214. package/dist/stories/Select/Select.settings.d.ts +2 -246
  215. package/dist/stories/Select/Select.stories.d.ts +1 -0
  216. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  217. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  218. package/dist/stories/argTypes.d.ts +27 -866
  219. package/dist/test/expect.d.ts +1 -2
  220. package/dist/test/options.d.ts +1 -1
  221. package/dist/test/sleep.d.ts +1 -1
  222. package/dist/types/alert.d.ts +9 -7
  223. package/dist/types/blurhash.d.ts +12 -0
  224. package/dist/types/floating-ui.d.ts +1 -1
  225. package/dist/types/generic.d.ts +1 -2
  226. package/dist/types/group.d.ts +37 -15
  227. package/dist/types/index.d.ts +7 -0
  228. package/dist/types/input-file.d.ts +9 -0
  229. package/dist/types/nav.d.ts +2 -2
  230. package/dist/utils/DomUtilities.d.ts +1 -0
  231. package/dist/utils/ObjectUtilities.d.ts +8 -9
  232. package/dist/workers/blurhash.d.ts +1 -0
  233. package/package.json +238 -246
  234. package/src/Volver.ts +251 -246
  235. package/src/assets/icons/detailed.json +1 -1
  236. package/src/assets/icons/normal.json +1 -1
  237. package/src/assets/icons/simple.json +1 -1
  238. package/src/components/VvAccordion/VvAccordion.vue +163 -100
  239. package/src/components/VvAccordion/index.ts +65 -80
  240. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +224 -106
  241. package/src/components/VvAccordionGroup/index.ts +42 -42
  242. package/src/components/VvAction/VvAction.vue +144 -130
  243. package/src/components/VvAlert/VvAlert.vue +72 -70
  244. package/src/components/VvAlert/index.ts +149 -147
  245. package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
  246. package/src/components/VvAlertGroup/index.ts +102 -118
  247. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  248. package/src/components/VvAvatar/index.ts +5 -5
  249. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  250. package/src/components/VvAvatarGroup/index.ts +21 -21
  251. package/src/components/VvBadge/VvBadge.vue +15 -14
  252. package/src/components/VvBadge/index.ts +2 -2
  253. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
  254. package/src/components/VvBreadcrumb/index.ts +3 -9
  255. package/src/components/VvButton/VvButton.vue +163 -152
  256. package/src/components/VvButton/index.ts +104 -111
  257. package/src/components/VvButtonGroup/VvButtonGroup.vue +73 -65
  258. package/src/components/VvButtonGroup/index.ts +23 -22
  259. package/src/components/VvCard/VvCard.vue +30 -30
  260. package/src/components/VvCard/index.ts +2 -2
  261. package/src/components/VvCheckbox/VvCheckbox.vue +186 -184
  262. package/src/components/VvCheckbox/index.ts +45 -45
  263. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
  264. package/src/components/VvCombobox/VvCombobox.vue +657 -619
  265. package/src/components/VvCombobox/index.ts +212 -168
  266. package/src/components/VvDialog/VvDialog.vue +139 -129
  267. package/src/components/VvDialog/index.ts +42 -36
  268. package/src/components/VvDropdown/VvDropdown.vue +466 -445
  269. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  270. package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
  271. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  272. package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
  273. package/src/components/VvDropdown/index.ts +61 -27
  274. package/src/components/VvIcon/README.md +1 -1
  275. package/src/components/VvIcon/VvIcon.vue +133 -133
  276. package/src/components/VvIcon/index.ts +84 -97
  277. package/src/components/VvInputFile/VvInputFile.vue +413 -0
  278. package/src/components/VvInputFile/index.ts +143 -0
  279. package/src/components/VvInputText/VvInputClearAction.ts +51 -47
  280. package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
  281. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  282. package/src/components/VvInputText/VvInputText.vue +653 -516
  283. package/src/components/VvInputText/VvInputTextActions.ts +87 -87
  284. package/src/components/VvInputText/index.ts +201 -186
  285. package/src/components/VvNav/VvNav.vue +40 -36
  286. package/src/components/VvNav/VvNavItem.vue +12 -12
  287. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  288. package/src/components/VvNav/index.ts +2 -2
  289. package/src/components/VvProgress/VvProgress.vue +27 -27
  290. package/src/components/VvProgress/index.ts +28 -28
  291. package/src/components/VvRadio/VvRadio.vue +115 -112
  292. package/src/components/VvRadio/index.ts +29 -29
  293. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
  294. package/src/components/VvSelect/VvSelect.vue +262 -241
  295. package/src/components/VvSelect/index.ts +88 -63
  296. package/src/components/VvTab/VvTab.vue +79 -69
  297. package/src/components/VvTab/index.ts +13 -13
  298. package/src/components/VvTextarea/VvTextarea.vue +218 -219
  299. package/src/components/VvTextarea/index.ts +35 -35
  300. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  301. package/src/components/VvTooltip/index.ts +12 -12
  302. package/src/components/common/HintSlot.ts +151 -152
  303. package/src/components/index.ts +10 -0
  304. package/src/composables/alert/{useInjectAlert.ts → useAlerInject.ts} +1 -1
  305. package/src/composables/alert/useAlert.ts +76 -73
  306. package/src/composables/alert/{useProvideAlert.ts → useAlertProvide.ts} +12 -12
  307. package/src/composables/dropdown/useDropdownContextmenu.ts +22 -0
  308. package/src/composables/dropdown/{useInjectDropdown.ts → useDropdownInject.ts} +6 -6
  309. package/src/composables/dropdown/useDropdownProvide.ts +94 -0
  310. package/src/composables/dropdown/useDropdownVirtualElement.ts +53 -0
  311. package/src/composables/group/useGroupStateInject.ts +55 -0
  312. package/src/composables/group/useGroupStateProvide.ts +14 -0
  313. package/src/composables/index.ts +3 -0
  314. package/src/composables/useBlurhash.ts +68 -0
  315. package/src/composables/useComponentFocus.ts +9 -9
  316. package/src/composables/useComponentIcon.ts +36 -35
  317. package/src/composables/useDebouncedInput.ts +25 -25
  318. package/src/composables/useDefaults.ts +81 -80
  319. package/src/composables/useModifiers.ts +29 -29
  320. package/src/composables/useOptions.ts +51 -42
  321. package/src/composables/usePersistence.ts +74 -0
  322. package/src/composables/useTextCount.ts +46 -46
  323. package/src/composables/useUniqueId.ts +4 -4
  324. package/src/composables/useVolver.ts +1 -1
  325. package/src/constants.ts +98 -83
  326. package/src/directives/index.ts +3 -6
  327. package/src/directives/v-contextmenu.ts +26 -34
  328. package/src/directives/v-tooltip.ts +20 -11
  329. package/src/icons.ts +2 -2
  330. package/src/index.ts +6 -4
  331. package/src/props/index.ts +467 -383
  332. package/src/resolvers/unplugin.ts +154 -144
  333. package/src/shims.d.ts +4 -5
  334. package/src/stories/Accordion/Accordion.settings.ts +51 -50
  335. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  336. package/src/stories/Accordion/Accordion.test.ts +56 -54
  337. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  338. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
  339. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
  340. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
  341. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +36 -36
  342. package/src/stories/Alert/Alert.settings.ts +117 -116
  343. package/src/stories/Alert/Alert.stories.ts +30 -30
  344. package/src/stories/Alert/Alert.test.ts +78 -80
  345. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  346. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  347. package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
  348. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  349. package/src/stories/AlertGroup/AlertGroup.test.ts +69 -71
  350. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  351. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  352. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
  353. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  354. package/src/stories/Avatar/Avatar.stories.ts +22 -22
  355. package/src/stories/Avatar/Avatar.test.ts +22 -24
  356. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  357. package/src/stories/Avatar/AvatarModifiers.stories.ts +60 -60
  358. package/src/stories/Avatar/AvatarSlots.stories.ts +17 -17
  359. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
  360. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  361. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
  362. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  363. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  364. package/src/stories/Badge/Badge.settings.ts +21 -20
  365. package/src/stories/Badge/Badge.stories.ts +24 -24
  366. package/src/stories/Badge/Badge.test.ts +8 -8
  367. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  368. package/src/stories/Blurhash/BlurhashComposable.stories.ts +116 -0
  369. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
  370. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
  371. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  372. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +19 -19
  373. package/src/stories/Button/Button.settings.ts +147 -151
  374. package/src/stories/Button/Button.stories.ts +19 -19
  375. package/src/stories/Button/Button.test.ts +41 -42
  376. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  377. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  378. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  379. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  380. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  381. package/src/stories/Button/ButtonState.stories.ts +23 -23
  382. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  383. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
  384. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  385. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
  386. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  387. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +17 -17
  388. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  389. package/src/stories/Card/Card.settings.ts +49 -48
  390. package/src/stories/Card/Card.stories.ts +22 -22
  391. package/src/stories/Card/Card.test.ts +14 -16
  392. package/src/stories/Card/CardSlots.stories.ts +42 -42
  393. package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
  394. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  395. package/src/stories/Checkbox/Checkbox.test.ts +63 -66
  396. package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
  397. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  398. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  399. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  400. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +64 -68
  401. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  402. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  403. package/src/stories/Combobox/Combobox.settings.ts +408 -385
  404. package/src/stories/Combobox/Combobox.stories.ts +116 -107
  405. package/src/stories/Combobox/Combobox.test.ts +92 -92
  406. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
  407. package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
  408. package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
  409. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -54
  410. package/src/stories/Dialog/Dialog.settings.ts +49 -40
  411. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  412. package/src/stories/Dialog/Dialog.test.ts +49 -54
  413. package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
  414. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  415. package/src/stories/Dropdown/Dropdown.settings.ts +62 -61
  416. package/src/stories/Dropdown/Dropdown.stories.ts +60 -60
  417. package/src/stories/Dropdown/Dropdown.test.ts +9 -13
  418. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +18 -19
  419. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +19 -19
  420. package/src/stories/Dropdown/DropdownSlots.stories.ts +51 -51
  421. package/src/stories/Icon/Icon.settings.ts +66 -65
  422. package/src/stories/Icon/Icon.stories.ts +29 -30
  423. package/src/stories/Icon/IconsCollection.stories.ts +24 -24
  424. package/src/stories/InputFile/InputFile.settings.ts +37 -0
  425. package/src/stories/InputFile/InputFile.stories.ts +97 -0
  426. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  427. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  428. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  429. package/src/stories/InputText/InputText.settings.ts +248 -246
  430. package/src/stories/InputText/InputText.stories.ts +68 -68
  431. package/src/stories/InputText/InputText.test.ts +119 -122
  432. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  433. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  434. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  435. package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
  436. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  437. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  438. package/src/stories/Nav/Nav.settings.ts +27 -27
  439. package/src/stories/Nav/Nav.stories.ts +18 -18
  440. package/src/stories/Nav/Nav.test.ts +10 -12
  441. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  442. package/src/stories/Progress/Progress.settings.ts +24 -23
  443. package/src/stories/Progress/Progress.stories.ts +23 -23
  444. package/src/stories/Progress/Progress.test.ts +5 -5
  445. package/src/stories/Radio/Radio.settings.ts +9 -9
  446. package/src/stories/Radio/Radio.stories.ts +47 -47
  447. package/src/stories/Radio/Radio.test.ts +54 -57
  448. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  449. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  450. package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
  451. package/src/stories/RadioGroup/RadioGroup.test.ts +64 -68
  452. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
  453. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  454. package/src/stories/Select/Select.settings.ts +72 -71
  455. package/src/stories/Select/Select.stories.ts +75 -66
  456. package/src/stories/Select/Select.test.ts +67 -70
  457. package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
  458. package/src/stories/Select/SelectOptions.stories.ts +55 -55
  459. package/src/stories/Select/SelectSlots.stories.ts +21 -20
  460. package/src/stories/Tab/Tab.settings.ts +34 -34
  461. package/src/stories/Tab/Tab.stories.ts +16 -16
  462. package/src/stories/Tab/Tab.test.ts +17 -19
  463. package/src/stories/Textarea/Textarea.settings.ts +80 -78
  464. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  465. package/src/stories/Textarea/Textarea.test.ts +70 -73
  466. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  467. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  468. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  469. package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
  470. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  471. package/src/stories/Tooltip/Tooltip.test.ts +53 -54
  472. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  473. package/src/stories/argTypes.ts +506 -505
  474. package/src/test/expect.ts +74 -79
  475. package/src/test/options.ts +17 -16
  476. package/src/test/sleep.ts +3 -2
  477. package/src/test/types.d.ts +12 -12
  478. package/src/types/alert.ts +21 -17
  479. package/src/types/blurhash.ts +21 -0
  480. package/src/types/floating-ui.ts +1 -1
  481. package/src/types/generic.ts +2 -3
  482. package/src/types/group.ts +35 -27
  483. package/src/types/index.ts +7 -0
  484. package/src/types/input-file.ts +10 -0
  485. package/src/types/nav.ts +13 -14
  486. package/src/utils/DomUtilities.ts +15 -0
  487. package/src/utils/ObjectUtilities.ts +192 -188
  488. package/src/workers/blurhash.ts +9 -0
  489. package/dist/composables/alert/useInjectAlert.d.ts +0 -9
  490. package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
  491. package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
  492. package/dist/composables/group/useProvideGroupState.d.ts +0 -6
  493. package/src/composables/dropdown/useProvideDropdown.ts +0 -94
  494. package/src/composables/group/useInjectedGroupState.ts +0 -51
  495. package/src/composables/group/useProvideGroupState.ts +0 -20
  496. /package/src/assets/icons/normal/{dulicate.svg → duplicate.svg} +0 -0
@@ -1 +1 @@
1
- !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@iconify/vue"),require("uid"),require("@vueuse/core"),require("ts-dot-prop")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","uid","@vueuse/core","ts-dot-prop"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvSelect=l(e.vue,e.vue$1,e.uid,e.core,e.tsDotProp)}(this,(function(e,l,o,t,n){"use strict";const a={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}};var i=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(i||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{});const d=Symbol.for("volver");function s(){return e.inject(d)}function c(l,o,t){return e.computed((()=>{const n={[l]:!0},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(n[`${l}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((o=>{n[`${l}--${o}`]=e.unref(t.value[o])})),n}))}const v=e.defineComponent({name:"VvIcon",props:a,setup(o){const t=o,n=e.computed((()=>"string"==typeof t.rotate?parseFloat(t.rotate):t.rotate)),a=e.ref(!0),i=s(),{modifiers:r}=e.toRefs(t),u=c("vv-icon",r),d=e.computed((()=>t.provider||(null==i?void 0:i.iconsProvider))),v=e.computed((()=>{const e=t.name??"",o=`@${d.value}:${t.prefix}:${e}`;if(l.iconExists(o))return o;const n=null==i?void 0:i.iconsCollections.find((o=>{const t=`@${d.value}:${o.prefix}:${e}`;return l.iconExists(t)}));return n?`@${d.value}:${n.prefix}:${e}`:e}));function p(e){const o=function(e){let l;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");l=(new e).window}return(l?new l.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),n=(null==o?void 0:o.innerHTML.trim())||"";o&&n&&l.addIcon(`@${d.value}:${t.prefix}:${t.name}`,{body:n,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return i&&t.src&&!l.iconExists(`@${d.value}:${t.prefix}:${t.name}`)&&(a.value=!1,i.fetchIcon(t.src).then((e=>{e&&(p(e),a.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),t.svg&&p(t.svg),(o,t)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:o.inline,width:o.width,height:o.height,horizontalFlip:o.horizontalFlip,verticalFlip:o.verticalFlip,flip:o.flip,rotate:e.unref(n),color:o.color,onLoad:o.onLoad,icon:e.unref(v)}),null,16,["class"])):e.createCommentVNode("",!0)}});function p(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const f={valid:Boolean,validLabel:[String,Array]},m={invalid:Boolean,invalidLabel:[String,Array]},g={loading:Boolean,loadingLabel:{type:String,default:"Loading..."}},b={disabled:Boolean},h=(Boolean,Boolean,Boolean,{label:[String,Number]}),y={readonly:Boolean},S={modifiers:[String,Array]},B={hintLabel:{type:String,default:""}},k={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},L={icon:{type:[String,Object]},iconPosition:{type:String,default:r.before,validation:e=>Object.values(r).includes(e)}},$={tabindex:{type:[String,Number],default:0}},V={floating:Boolean},O={unselectable:{type:Boolean,default:!0}},w={id:[String,Number]};i.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const E={...w,name:{type:String,required:!0}},P={autofocus:Boolean},x={autocomplete:{type:String,default:"off"}};u.button;const N={...E,...P,...x,...$,...f,...m,...B,...g,...b,...y,...S,...k,...L,...V,...O,...h,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},placeholder:String};const I=["for"],A={class:"vv-select__wrapper"},_={key:0,class:"vv-select__input-before"},j={class:"vv-select__inner"},C=["id"],F=["disabled","hidden"],z=["disabled","value"],q=["disabled","label"],D=["disabled","value"],R={key:1,class:"vv-select__input-after"};return e.defineComponent({name:"VvSelect",props:N,emits:["update:modelValue","focus","blur"],setup(l,{emit:a}){const u=l,d=e.useSlots(),f=function(l,o,t){const n=s(),a=e.computed((()=>{var e;if(n&&(null==(e=n.defaults.value)?void 0:e[l]))return n.defaults.value[l]}));return e.computed((()=>{if(void 0===a.value)return t;const e=a.value,l=o,n=t;return Object.keys(l).reduce(((o,t)=>{const a=n[t];if(o[t]=a,t in e){if(Array.isArray(l[t])){const n=l[t];n.length&&n[0]===a&&(o[t]=e[t])}if("function"==typeof l[t]&&(0,l[t])()===a&&(o[t]=e[t]),"object"==typeof l[t]){let n=l[t].default;"function"==typeof n&&(n=n()),"object"==typeof n?JSON.stringify(n)===JSON.stringify(a)&&(o[t]=e[t]):n===a&&(o[t]=e[t])}}return o}),{})}))}("VvSelect",N,u),m=e.ref(),{HintSlot:g,hasHintLabelOrSlot:b,hasInvalidLabelOrSlot:h,hintSlotScope:y}=function(l,o){const t=e.computed((()=>e.isRef(l)?l.value:l)),n=e.computed((()=>p(t.value.invalidLabel))),a=e.computed((()=>p(t.value.validLabel))),i=e.computed((()=>t.value.loadingLabel)),r=e.computed((()=>t.value.hintLabel)),u=e.computed((()=>Boolean(t.value.loading&&(o.loading||i.value)))),d=e.computed((()=>!u.value&&Boolean(t.value.invalid&&(o.invalid||n.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(t.value.valid&&(o.valid||a.value)))),c=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(o.hint||r.value))),v=e.computed((()=>d.value||s.value||u.value||c.value)),f=e.computed((()=>({modelValue:t.value.modelValue,valid:t.value.valid,invalid:t.value.invalid,loading:t.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:n,validLabel:a,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){var l,o,t,n,a,i,r,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(o=(l=this.$slots).loading)?void 0:o.call(l))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(n=(t=this.$slots).invalid)?void 0:n.call(t))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(i=(a=this.$slots).valid)?void 0:i.call(a))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:c,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:m}}(f,d),{id:S,modifiers:B,disabled:k,readonly:L,loading:$,icon:V,iconPosition:O,invalid:w,valid:E,floating:P,multiple:x}=e.toRefs(u),H=(l=>e.computed((()=>String((null==l?void 0:l.value)||o.uid()))))(S),K=e.computed((()=>`${H.value}-hint`)),{focused:M}=function(l,o){const{focused:n}=t.useFocus(l);return e.watch(n,(t=>{o(t?"focus":"blur",e.unref(l))})),{focused:n}}(m,a),T=t.useElementVisibility(m);e.watch(T,(e=>{e&&u.autofocus&&(M.value=!0)}));const{hasIcon:J,hasIconBefore:G,hasIconAfter:U}=function(l,o){const t=e.computed((()=>Boolean((null==l?void 0:l.value)&&o.value===r.before))),n=e.computed((()=>Boolean((null==l?void 0:l.value)&&o.value===r.after))),a=e.computed((()=>Boolean((null==l?void 0:l.value)&&o.value===i.left))),u=e.computed((()=>Boolean((null==l?void 0:l.value)&&o.value===i.right))),d=e.computed((()=>Boolean((null==l?void 0:l.value)&&o.value===i.top))),s=e.computed((()=>Boolean((null==l?void 0:l.value)&&o.value===i.bottom)));return{hasIcon:e.computed((()=>"string"==typeof(null==l?void 0:l.value)?{name:null==l?void 0:l.value}:null==l?void 0:l.value)),hasIconLeft:a,hasIconRight:u,hasIconTop:d,hasIconBottom:s,hasIconBefore:t,hasIconAfter:n}}(V,O),Q=e.computed((()=>{return l=u.modelValue,!(null==(o=e.unref(l))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length);var l,o})),W=e.computed((()=>u.disabled||u.readonly)),X=e.computed((()=>W.value?-1:u.tabindex)),Y=e.computed((()=>!0===u.invalid||!0!==u.valid&&void 0)),Z=c("vv-select",B,e.computed((()=>({valid:E.value,invalid:w.value,loading:$.value,disabled:k.value,readonly:L.value,"icon-before":G.value,"icon-after":U.value,dirty:Q.value,focus:M.value,floating:P.value,multiple:x.value})))),ee=e.computed((()=>({name:u.name,tabindex:X.value,disabled:W.value,required:u.required,size:u.size,autocomplete:u.autocomplete,multiple:u.multiple,"aria-invalid":Y.value,"aria-describedby":b.value?K.value:void 0,"aria-errormessage":h.value?K.value:void 0}))),le=e.computed((()=>({valid:u.valid,invalid:u.invalid,modelValue:u.modelValue}))),{getOptionLabel:oe,getOptionValue:te,isOptionDisabled:ne,getOptionGrouped:ae}=function(l){const{options:o,labelKey:t,valueKey:a,disabledKey:i}=e.toRefs(l);return{options:o,getOptionLabel:e=>"object"!=typeof e&&null!==e?e:String("function"==typeof t.value?t.value(e):n.get(e,t.value)),getOptionValue:e=>"object"!=typeof e&&null!==e?e:"function"==typeof a.value?a.value(e):n.get(e,a.value),isOptionDisabled:e=>("object"==typeof e||null===e)&&("function"==typeof i.value?i.value(e):n.get(e,i.value)),getOptionGrouped:e=>"object"!=typeof e&&null!==e?[]:e.options||[]}}(u),ie=e.computed({get:()=>u.modelValue,set:e=>{Array.isArray(e)&&(e=e.filter((e=>void 0!==e))),a("update:modelValue",e)}}),re=e=>"string"!=typeof e&&(e&&e.options&&e.options.length>0);return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Z))},[l.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(H)},e.toDisplayString(l.label),9,I)):e.createCommentVNode("",!0),e.createElementVNode("div",A,[l.$slots.before?(e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(l.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(le))))])):e.createCommentVNode("",!0),e.createElementVNode("div",j,[e.unref(G)?(e.openBlock(),e.createBlock(v,e.mergeProps({key:0,class:"vv-select__icon"},e.unref(J)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(H),ref_key:"select",ref:m,"onUpdate:modelValue":o[0]||(o[0]=l=>e.isRef(ie)?ie.value=l:null)},e.unref(ee)),[l.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!l.unselectable,hidden:!l.unselectable},e.toDisplayString(l.placeholder),9,F)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,((l,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[re(l)?(e.openBlock(),e.createElementBlock("optgroup",{key:`group-${o}`,disabled:e.unref(ne)(l),label:e.unref(oe)(l)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ae)(l),((l,t)=>(e.openBlock(),e.createElementBlock("option",{key:`group-${o}-item-${t}`,disabled:e.unref(ne)(l),value:e.unref(te)(l)},e.toDisplayString(e.unref(oe)(l)),9,D)))),128))],8,q)):(e.openBlock(),e.createElementBlock("option",{key:o,disabled:e.unref(ne)(l),value:e.unref(te)(l)},e.toDisplayString(e.unref(oe)(l)),9,z))],64)))),256))],16,C),[[e.vModelSelect,e.unref(ie)]]),e.unref(U)?(e.openBlock(),e.createBlock(v,e.mergeProps({key:1,class:"vv-select__icon vv-select__icon-after"},e.unref(J)),null,16)):e.createCommentVNode("",!0)]),l.$slots.after?(e.openBlock(),e.createElementBlock("div",R,[e.renderSlot(l.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(le))))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(g),{id:e.unref(K),class:"vv-select__hint"},e.createSlots({_:2},[l.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(y))))])),key:"0"}:void 0,l.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(y))))])),key:"1"}:void 0,l.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(y))))])),key:"2"}:void 0,l.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(y))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
1
+ !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@iconify/vue"),require("@vueuse/core"),require("ts-dot-prop")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","@vueuse/core","ts-dot-prop"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvSelect=l(e.vue,e.vue$1,e.core,e.tsDotProp)}(this,(function(e,l,t,o){"use strict";var a=(e=>(e.local="local",e.session="session",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),i=(e=>(e.before="before",e.after="after",e))(i||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{});const d=Symbol.for("volver"),s={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},v={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},c={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},p={disabled:{type:Boolean,default:!1}},f=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),m={readonly:{type:Boolean,default:!1}},g={modifiers:{type:[String,Array],default:void 0}},b={hintLabel:{type:String,default:""}},h={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},y={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:i.before,validation:e=>Object.values(i).includes(e)}},S={tabindex:{type:[String,Number],default:0}},B={floating:{type:Boolean,default:!1}},k={unselectable:{type:Boolean,default:!0}},L={id:[String,Number]};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const $={...L,name:{type:String,required:!0}},V={autofocus:{type:Boolean,default:!1}},O={autocomplete:{type:String,default:"off"}};r.button,u.button,a.local;const w={...$,...V,...O,...S,...s,...v,...b,...c,...p,...m,...g,...h,...y,...B,...k,...f,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},autoselectFirst:{type:Boolean,default:!1},placeholder:String};function x(){return{...w,options:{...w.options,type:Array,default:()=>[]}}}function E(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const P={prefix:"normal"};function I(){return e.inject(d)}function N(l,t,o){return e.computed((()=>{const a={[l]:!0},n="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${l}--${e}`]=!0)})),o&&Object.keys(o.value).forEach((t=>{a[`${l}--${t}`]=e.unref(o.value[t])})),a}))}const A=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},P),setup(t){const o=t,a=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),n=e.ref(!0),i=I(),{modifiers:r}=e.toRefs(o),u=N("vv-icon",r),d=e.computed((()=>o.provider||(null==i?void 0:i.iconsProvider))),s=e.computed((()=>{const e=o.name??"",t=`@${d.value}:${o.prefix}:${e}`;if(l.iconExists(t))return t;const a=null==i?void 0:i.iconsCollections.find((t=>{const o=`@${d.value}:${t.prefix}:${e}`;return l.iconExists(o)}));return a?`@${d.value}:${a.prefix}:${e}`:e}));function v(e){const t=function(e){let l;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");l=(new e).window}return(l?new l.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=(null==t?void 0:t.innerHTML.trim())||"";t&&a&&l.addIcon(`@${d.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&o.src&&!l.iconExists(`@${d.value}:${o.prefix}:${o.name}`)&&(n.value=!1,i.fetchIcon(o.src).then((e=>{e&&(v(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&v(o.svg),(t,o)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,onLoad:t.onLoad,icon:e.unref(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});const F=["for"],_={class:"vv-select__wrapper"},C={key:0,class:"vv-select__input-before"},z={class:"vv-select__inner"},j=["id"],D=["disabled","hidden"],R=["disabled","value"],q=["disabled","label"],H=["disabled","value"],K={key:1,class:"vv-select__input-after"};return e.defineComponent({name:"VvSelect",props:x(),emits:["update:modelValue","focus","blur"],setup(l,{emit:a}){const r=l,u=a,d=e.useSlots(),s=function(l,t,o){const a=I(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[l]))return a.defaults.value[l]}));return e.computed((()=>{if(void 0===n.value)return o;const e=n.value,l=t,a=o;return Object.keys(l).reduce(((t,o)=>{const n=a[o];if(t[o]=n,o in e){if(Array.isArray(l[o])){const a=l[o];a.length&&a[0]===n&&(t[o]=e[o])}if("function"==typeof l[o]&&(0,l[o])()===n&&(t[o]=e[o]),"object"==typeof l[o]){let a=l[o].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(t[o]=e[o]):a===n&&(t[o]=e[o])}}return t}),{})}))}("VvSelect",x(),r),v=e.ref(),{HintSlot:c,hasHintLabelOrSlot:p,hasInvalidLabelOrSlot:f,hintSlotScope:m}=function(l,t){const o=e.computed((()=>e.isRef(l)?l.value:l)),a=e.computed((()=>E(o.value.invalidLabel))),n=e.computed((()=>E(o.value.validLabel))),i=e.computed((()=>o.value.loadingLabel)),r=e.computed((()=>o.value.hintLabel)),u=e.computed((()=>Boolean(o.value.loading&&(t.loading||i.value)))),d=e.computed((()=>!u.value&&Boolean(o.value.invalid&&(t.invalid||a.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(o.value.valid&&(t.valid||n.value)))),v=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(t.hint||r.value))),c=e.computed((()=>d.value||s.value||u.value||v.value)),p=e.computed((()=>({modelValue:o.value.modelValue,valid:o.value.valid,invalid:o.value.invalid,loading:o.value.loading}))),f=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:c,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:v}),render(){var l,t,o,a,n,i,r,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(t=(l=this.$slots).loading)?void 0:t.call(l))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(o=this.$slots).invalid)?void 0:a.call(o))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:p,HintSlot:f}}(s,d),{focused:g}=function(l,o){const{focused:a}=t.useFocus(l);return e.watch(a,(t=>{o(t?"focus":"blur",e.unref(l))})),{focused:a}}(v,u);function b(e){var l;return"string"!=typeof e&&(null==(l=e.options)?void 0:l.length)}const{id:h,modifiers:y,disabled:S,readonly:B,loading:k,icon:L,iconPosition:$,invalid:V,valid:O,floating:w,multiple:P}=e.toRefs(r),M=function(l){return e.computed((()=>String((null==l?void 0:l.value)||e.useId())))}(h),T=e.computed((()=>`${M.value}-hint`)),J=e.computed((()=>r.disabled||r.readonly)),G=e.computed((()=>J.value?-1:r.tabindex)),U=e.computed({get:()=>r.modelValue,set:e=>{Array.isArray(e)&&0===(e=e.filter((e=>void 0!==e))).length&&!r.unselectable&&v.value?v.value.value=String(r.modelValue):u("update:modelValue",e)}}),Q=e.computed((()=>Array.isArray(U.value)?U.value.length>0:void 0!==U.value&&null!==U.value)),W=t.useElementVisibility(v);e.watch(W,(e=>{e&&r.autofocus&&(g.value=!0)}));const{hasIconBefore:X,hasIconAfter:Y}=function(l,t){const o=e.computed((()=>"string"==typeof(null==l?void 0:l.value)?{name:null==l?void 0:l.value}:null==l?void 0:l.value)),a=e.computed((()=>(null==t?void 0:t.value)===i.before?o.value:void 0)),r=e.computed((()=>(null==t?void 0:t.value)===i.after?o.value:void 0)),u=e.computed((()=>(null==t?void 0:t.value)===n.left?o.value:void 0)),d=e.computed((()=>(null==t?void 0:t.value)===n.right?o.value:void 0)),s=e.computed((()=>(null==t?void 0:t.value)===n.top?o.value:void 0)),v=e.computed((()=>(null==t?void 0:t.value)===n.bottom?o.value:void 0));return{hasIcon:o,hasIconLeft:u,hasIconRight:d,hasIconTop:s,hasIconBottom:v,hasIconBefore:a,hasIconAfter:r}}(L,$),Z=e.computed((()=>!0===r.invalid||!0!==r.valid&&void 0)),ee=N("vv-select",y,e.computed((()=>({valid:O.value,invalid:V.value,loading:k.value,disabled:S.value,readonly:B.value,"icon-before":void 0!==X.value,"icon-after":void 0!==Y.value,dirty:Q.value,focus:g.value,floating:w.value,multiple:P.value})))),{getOptionLabel:le,getOptionValue:te,isOptionDisabled:oe,getOptionGrouped:ae}=function(l){const{options:t,labelKey:a,valueKey:n,disabledKey:i}=e.toRefs(l);return{options:t,getOptionLabel:e=>"string"==typeof e?e:"function"==typeof a.value?a.value(e):String(a.value?o.get(e,a.value):e),getOptionValue:e=>"string"==typeof e?e:"function"==typeof n.value?n.value(e):n.value?o.get(e,n.value):e,isOptionDisabled:e=>"string"!=typeof e&&("function"==typeof i.value?i.value(e):!!i.value&&o.get(e,i.value)),getOptionGrouped:e=>"string"==typeof e?[]:"object"==typeof e&&e&&"options"in e?e.options:[]}}(r);e.watch((()=>r.options),(e=>{if((null==e?void 0:e.length)&&r.autoselectFirst&&!Q.value){const l=te(e[0]);U.value=r.multiple?[l]:l}}),{immediate:!0});const ne=e.computed((()=>({name:r.name,tabindex:G.value,disabled:J.value,required:r.required,size:r.size,autocomplete:r.autocomplete,multiple:r.multiple,"aria-invalid":Z.value,"aria-describedby":p.value?T.value:void 0,"aria-errormessage":f.value?T.value:void 0}))),ie=e.computed((()=>({valid:r.valid,invalid:r.invalid,modelValue:r.modelValue})));return(l,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ee))},[l.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(M)},e.toDisplayString(l.label),9,F)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",_,[l.$slots.before?(e.openBlock(),e.createElementBlock("div",C,[e.renderSlot(l.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ie))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",z,[e.unref(X)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:0},e.unref(X),{class:"vv-select__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(M),ref_key:"selectEl",ref:v},e.unref(ne),{"onUpdate:modelValue":t[0]||(t[0]=l=>e.isRef(U)?U.value=l:null)}),[l.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!l.unselectable,hidden:!l.unselectable},e.toDisplayString(l.placeholder),9,D)):e.createCommentVNode("v-if",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,((l,t)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[b(l)?(e.openBlock(),e.createElementBlock("optgroup",{key:`group-${t}`,disabled:e.unref(oe)(l),label:e.unref(le)(l)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ae)(l),((l,o)=>(e.openBlock(),e.createElementBlock("option",{key:`group-${t}-item-${o}`,disabled:e.unref(oe)(l),value:e.unref(te)(l)},e.toDisplayString(e.unref(le)(l)),9,H)))),128))],8,q)):(e.openBlock(),e.createElementBlock("option",{key:t,disabled:e.unref(oe)(l),value:e.unref(te)(l)},e.toDisplayString(e.unref(le)(l)),9,R))],64)))),256))],16,j),[[e.vModelSelect,e.unref(U)]]),e.unref(Y)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:1},e.unref(Y),{class:"vv-select__icon vv-select__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),l.$slots.after?(e.openBlock(),e.createElementBlock("div",K,[e.renderSlot(l.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(ie))))])):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(c),{id:e.unref(T),class:"vv-select__hint"},e.createSlots({_:2},[l.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(m))))])),key:"0"}:void 0,l.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(m))))])),key:"1"}:void 0,l.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(m))))])),key:"2"}:void 0,l.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(m))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
@@ -1,204 +1,112 @@
1
- import type { Option } from '@/types/generic';
2
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
- multiple: BooleanConstructor;
4
- required: BooleanConstructor;
5
- size: (StringConstructor | NumberConstructor)[];
6
- modelValue: {
7
- type: (ObjectConstructor | ArrayConstructor | StringConstructor | BooleanConstructor | NumberConstructor)[];
8
- default: undefined;
9
- };
10
- placeholder: StringConstructor;
11
- label: (StringConstructor | NumberConstructor)[];
12
- unselectable: {
13
- type: BooleanConstructor;
14
- default: boolean;
15
- };
16
- floating: BooleanConstructor;
17
- icon: {
18
- type: (ObjectConstructor | StringConstructor)[];
19
- };
20
- iconPosition: {
21
- type: globalThis.PropType<"before" | "after">;
22
- default: import("../../constants").Position;
23
- validation: (value: import("../../constants").Position) => boolean;
24
- };
25
- options: {
26
- type: globalThis.PropType<(string | Option)[]>;
27
- default: () => never[];
28
- };
29
- labelKey: {
30
- type: (StringConstructor | FunctionConstructor)[];
31
- default: string;
32
- };
33
- valueKey: {
34
- type: (StringConstructor | FunctionConstructor)[];
35
- default: string;
36
- };
37
- disabledKey: {
38
- type: (StringConstructor | FunctionConstructor)[];
39
- default: string;
40
- };
41
- modifiers: globalThis.PropType<string | string[]>;
42
- readonly: BooleanConstructor;
43
- disabled: BooleanConstructor;
44
- loading: BooleanConstructor;
45
- loadingLabel: {
46
- type: StringConstructor;
47
- default: string;
48
- };
49
- hintLabel: {
50
- type: StringConstructor;
51
- default: string;
52
- };
53
- invalid: BooleanConstructor;
54
- invalidLabel: (ArrayConstructor | StringConstructor)[];
55
- valid: BooleanConstructor;
56
- validLabel: (ArrayConstructor | StringConstructor)[];
57
- tabindex: {
58
- type: (StringConstructor | NumberConstructor)[];
59
- default: number;
60
- };
61
- autocomplete: {
62
- type: StringConstructor;
63
- default: string;
64
- };
65
- autofocus: BooleanConstructor;
66
- name: {
67
- type: StringConstructor;
1
+ import type { Option } from '../../types/generic';
2
+ declare const _default: <T extends string | Option>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: __VLS_PrettifyLocal<Pick<Partial<{
4
+ floating: boolean;
5
+ label: string | number;
6
+ disabled: boolean;
7
+ modelValue: string | number | boolean | unknown[] | Record<string, any>;
8
+ modifiers: string | string[];
9
+ icon: string | import("../VvIcon").VvIconProps;
10
+ iconPosition: "before" | "after";
68
11
  required: boolean;
69
- };
70
- id: (StringConstructor | NumberConstructor)[];
71
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
72
- multiple: BooleanConstructor;
73
- required: BooleanConstructor;
74
- size: (StringConstructor | NumberConstructor)[];
75
- modelValue: {
76
- type: (ObjectConstructor | ArrayConstructor | StringConstructor | BooleanConstructor | NumberConstructor)[];
77
- default: undefined;
78
- };
79
- placeholder: StringConstructor;
80
- label: (StringConstructor | NumberConstructor)[];
81
- unselectable: {
82
- type: BooleanConstructor;
83
- default: boolean;
84
- };
85
- floating: BooleanConstructor;
86
- icon: {
87
- type: (ObjectConstructor | StringConstructor)[];
88
- };
89
- iconPosition: {
90
- type: globalThis.PropType<"before" | "after">;
91
- default: import("../../constants").Position;
92
- validation: (value: import("../../constants").Position) => boolean;
93
- };
94
- options: {
95
- type: globalThis.PropType<(string | Option)[]>;
96
- default: () => never[];
97
- };
98
- labelKey: {
99
- type: (StringConstructor | FunctionConstructor)[];
100
- default: string;
101
- };
102
- valueKey: {
103
- type: (StringConstructor | FunctionConstructor)[];
104
- default: string;
105
- };
106
- disabledKey: {
107
- type: (StringConstructor | FunctionConstructor)[];
108
- default: string;
109
- };
110
- modifiers: globalThis.PropType<string | string[]>;
111
- readonly: BooleanConstructor;
112
- disabled: BooleanConstructor;
113
- loading: BooleanConstructor;
114
- loadingLabel: {
115
- type: StringConstructor;
116
- default: string;
117
- };
118
- hintLabel: {
119
- type: StringConstructor;
120
- default: string;
121
- };
122
- invalid: BooleanConstructor;
123
- invalidLabel: (ArrayConstructor | StringConstructor)[];
124
- valid: BooleanConstructor;
125
- validLabel: (ArrayConstructor | StringConstructor)[];
126
- tabindex: {
127
- type: (StringConstructor | NumberConstructor)[];
128
- default: number;
129
- };
130
- autocomplete: {
131
- type: StringConstructor;
132
- default: string;
133
- };
134
- autofocus: BooleanConstructor;
135
- name: {
136
- type: StringConstructor;
137
- required: boolean;
138
- };
139
- id: (StringConstructor | NumberConstructor)[];
140
- }>> & {
141
- [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
142
- }, {
143
- readonly: boolean;
144
- disabled: boolean;
145
- valid: boolean;
146
- invalid: boolean;
147
- modelValue: string | number | boolean | unknown[] | Record<string, any>;
148
- multiple: boolean;
149
- unselectable: boolean;
150
- options: (string | Option)[];
151
- floating: boolean;
152
- tabindex: string | number;
153
- required: boolean;
154
- iconPosition: "before" | "after";
155
- autofocus: boolean;
156
- loading: boolean;
157
- loadingLabel: string;
158
- hintLabel: string;
159
- autocomplete: string;
160
- labelKey: string | Function;
161
- valueKey: string | Function;
162
- disabledKey: string | Function;
163
- }, {}>, {
164
- before?(_: {
165
- valid: boolean;
166
- invalid: boolean;
167
- modelValue: string | number | boolean | unknown[] | Record<string, any> | undefined;
168
- }): any;
169
- after?(_: {
170
- valid: boolean;
171
- invalid: boolean;
172
- modelValue: string | number | boolean | unknown[] | Record<string, any> | undefined;
173
- }): any;
174
- hint?(_: {
175
- modelValue: unknown;
176
- valid: boolean;
177
- invalid: boolean;
178
12
  loading: boolean;
179
- }): any;
180
- loading?(_: {
181
- modelValue: unknown;
182
- valid: boolean;
13
+ loadingLabel: string;
14
+ unselectable: boolean;
15
+ multiple: boolean;
16
+ readonly: boolean;
17
+ hintLabel: string;
183
18
  invalid: boolean;
184
- loading: boolean;
185
- }): any;
186
- valid?(_: {
187
- modelValue: unknown;
188
- valid: boolean;
189
- invalid: boolean;
190
- loading: boolean;
191
- }): any;
192
- invalid?(_: {
193
- modelValue: unknown;
19
+ invalidLabel: string | unknown[];
194
20
  valid: boolean;
195
- invalid: boolean;
196
- loading: boolean;
197
- }): any;
198
- }>;
199
- export default _default;
200
- type __VLS_WithTemplateSlots<T, S> = T & {
201
- new (): {
202
- $slots: S;
203
- };
21
+ validLabel: string | unknown[];
22
+ tabindex: string | number;
23
+ options: T[];
24
+ labelKey: string | Function;
25
+ valueKey: string | Function;
26
+ disabledKey: string | Function;
27
+ autoselectFirst: boolean;
28
+ autocomplete: string;
29
+ autofocus: boolean;
30
+ }> & Omit<{
31
+ readonly floating: boolean;
32
+ readonly disabled: boolean;
33
+ readonly iconPosition: "before" | "after";
34
+ readonly required: boolean;
35
+ readonly loading: boolean;
36
+ readonly loadingLabel: string;
37
+ readonly unselectable: boolean;
38
+ readonly multiple: boolean;
39
+ readonly readonly: boolean;
40
+ readonly hintLabel: string;
41
+ readonly invalid: boolean;
42
+ readonly valid: boolean;
43
+ readonly tabindex: string | number;
44
+ readonly options: T[];
45
+ readonly labelKey: string | Function;
46
+ readonly valueKey: string | Function;
47
+ readonly disabledKey: string | Function;
48
+ readonly autoselectFirst: boolean;
49
+ readonly autocomplete: string;
50
+ readonly autofocus: boolean;
51
+ readonly size?: string | number | undefined;
52
+ readonly name?: string | undefined;
53
+ readonly label?: string | number | undefined;
54
+ readonly modelValue?: string | number | boolean | unknown[] | Record<string, any> | undefined;
55
+ readonly modifiers?: string | string[] | undefined;
56
+ readonly id?: string | number | undefined;
57
+ readonly icon?: string | import("../VvIcon").VvIconProps | undefined;
58
+ readonly invalidLabel?: string | unknown[] | undefined;
59
+ readonly validLabel?: string | unknown[] | undefined;
60
+ readonly placeholder?: string | undefined;
61
+ readonly "onUpdate:modelValue"?: ((args_0: any) => any) | undefined;
62
+ readonly onBlur?: ((args_0: import("@vueuse/core").MaybeElement) => any) | undefined;
63
+ readonly onFocus?: ((args_0: import("@vueuse/core").MaybeElement) => any) | undefined;
64
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "floating" | "label" | "disabled" | "modelValue" | "modifiers" | "icon" | "iconPosition" | "required" | "loading" | "loadingLabel" | "unselectable" | "multiple" | "readonly" | "hintLabel" | "invalid" | "invalidLabel" | "valid" | "validLabel" | "tabindex" | "options" | "labelKey" | "valueKey" | "disabledKey" | "autoselectFirst" | "autocomplete" | "autofocus">, "size" | "name" | "id" | "onFocus" | "onBlur" | "onUpdate:modelValue" | "placeholder" | ("floating" | "label" | "disabled" | "modelValue" | "modifiers" | "icon" | "iconPosition" | "required" | "loading" | "loadingLabel" | "unselectable" | "multiple" | "readonly" | "hintLabel" | "invalid" | "invalidLabel" | "valid" | "validLabel" | "tabindex" | "options" | "labelKey" | "valueKey" | "disabledKey" | "autoselectFirst" | "autocomplete" | "autofocus")> & Partial<{}> & {}> & import("vue").PublicProps;
65
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
66
+ attrs: any;
67
+ slots: {
68
+ before?(_: {
69
+ valid: boolean;
70
+ invalid: boolean;
71
+ modelValue: string | number | boolean | unknown[] | Record<string, any> | undefined;
72
+ }): any;
73
+ after?(_: {
74
+ valid: boolean;
75
+ invalid: boolean;
76
+ modelValue: string | number | boolean | unknown[] | Record<string, any> | undefined;
77
+ }): any;
78
+ hint?(_: {
79
+ modelValue: unknown;
80
+ valid: boolean;
81
+ invalid: boolean;
82
+ loading: boolean;
83
+ }): any;
84
+ loading?(_: {
85
+ modelValue: unknown;
86
+ valid: boolean;
87
+ invalid: boolean;
88
+ loading: boolean;
89
+ }): any;
90
+ valid?(_: {
91
+ modelValue: unknown;
92
+ valid: boolean;
93
+ invalid: boolean;
94
+ loading: boolean;
95
+ }): any;
96
+ invalid?(_: {
97
+ modelValue: unknown;
98
+ valid: boolean;
99
+ invalid: boolean;
100
+ loading: boolean;
101
+ }): any;
102
+ };
103
+ emit: ((evt: "update:modelValue", args_0: any) => void) & ((evt: "blur", args_0: import("@vueuse/core").MaybeElement) => void) & ((evt: "focus", args_0: import("@vueuse/core").MaybeElement) => void);
104
+ }>) => globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
105
+ [key: string]: any;
106
+ }> & {
107
+ __ctx?: Awaited<typeof __VLS_setup>;
204
108
  };
109
+ export default _default;
110
+ type __VLS_PrettifyLocal<T> = {
111
+ [K in keyof T]: T[K];
112
+ } & {};
@@ -1,3 +1,10 @@
1
+ import type { MaybeElement } from '@vueuse/core';
2
+ import type { Option } from '../../types/generic';
3
+ export type VvSelectEmits = {
4
+ 'update:modelValue': [any];
5
+ 'focus': [MaybeElement];
6
+ 'blur': [MaybeElement];
7
+ };
1
8
  export declare const VvSelectProps: {
2
9
  /**
3
10
  * This Boolean attribute indicates that multiple options can be selected in the list.
@@ -22,29 +29,43 @@ export declare const VvSelectProps: {
22
29
  * modelValue can be a string, number, boolean, object or array of string, number, boolean, object
23
30
  */
24
31
  modelValue: {
25
- type: (ObjectConstructor | ArrayConstructor | StringConstructor | BooleanConstructor | NumberConstructor)[];
32
+ type: (ObjectConstructor | ArrayConstructor | BooleanConstructor | StringConstructor | NumberConstructor)[];
26
33
  default: undefined;
27
34
  };
35
+ /**
36
+ * Select first option automatically
37
+ */
38
+ autoselectFirst: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
28
42
  /**
29
43
  * Select placeholder
30
44
  */
31
45
  placeholder: StringConstructor;
32
- label: (StringConstructor | NumberConstructor)[];
46
+ label: {
47
+ type: (StringConstructor | NumberConstructor)[];
48
+ default: undefined;
49
+ };
33
50
  unselectable: {
34
51
  type: BooleanConstructor;
35
52
  default: boolean;
36
53
  };
37
- floating: BooleanConstructor;
54
+ floating: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
38
58
  icon: {
39
- type: (ObjectConstructor | StringConstructor)[];
59
+ type: PropType<string | import("../VvIcon").VvIconProps>;
60
+ default: undefined;
40
61
  };
41
62
  iconPosition: {
42
- type: globalThis.PropType<"before" | "after">;
63
+ type: PropType<`${import("../../constants").Position}`>;
43
64
  default: import("../../constants").Position;
44
65
  validation: (value: import("../../constants").Position) => boolean;
45
66
  };
46
67
  options: {
47
- type: globalThis.PropType<(string | import("../../types/generic").Option)[]>;
68
+ type: PropType<(Option | string)[]>;
48
69
  default: () => never[];
49
70
  };
50
71
  labelKey: {
@@ -59,10 +80,22 @@ export declare const VvSelectProps: {
59
80
  type: (StringConstructor | FunctionConstructor)[];
60
81
  default: string;
61
82
  };
62
- modifiers: globalThis.PropType<string | string[]>;
63
- readonly: BooleanConstructor;
64
- disabled: BooleanConstructor;
65
- loading: BooleanConstructor;
83
+ modifiers: {
84
+ type: PropType<string | string[]>;
85
+ default: undefined;
86
+ };
87
+ readonly: {
88
+ type: BooleanConstructor;
89
+ default: boolean;
90
+ };
91
+ disabled: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
95
+ loading: {
96
+ type: BooleanConstructor;
97
+ default: boolean;
98
+ };
66
99
  loadingLabel: {
67
100
  type: StringConstructor;
68
101
  default: string;
@@ -71,10 +104,22 @@ export declare const VvSelectProps: {
71
104
  type: StringConstructor;
72
105
  default: string;
73
106
  };
74
- invalid: BooleanConstructor;
75
- invalidLabel: (ArrayConstructor | StringConstructor)[];
76
- valid: BooleanConstructor;
77
- validLabel: (ArrayConstructor | StringConstructor)[];
107
+ invalid: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
111
+ invalidLabel: {
112
+ type: (ArrayConstructor | StringConstructor)[];
113
+ default: undefined;
114
+ };
115
+ valid: {
116
+ type: BooleanConstructor;
117
+ default: boolean;
118
+ };
119
+ validLabel: {
120
+ type: (ArrayConstructor | StringConstructor)[];
121
+ default: undefined;
122
+ };
78
123
  tabindex: {
79
124
  type: (StringConstructor | NumberConstructor)[];
80
125
  default: number;
@@ -83,11 +128,146 @@ export declare const VvSelectProps: {
83
128
  type: StringConstructor;
84
129
  default: string;
85
130
  };
86
- autofocus: BooleanConstructor;
131
+ autofocus: {
132
+ type: BooleanConstructor;
133
+ default: boolean;
134
+ };
135
+ name: {
136
+ type: StringConstructor;
137
+ required: boolean;
138
+ };
139
+ id: (StringConstructor | NumberConstructor)[];
140
+ };
141
+ export declare function useVvSelectProps<T extends Option | string>(): {
142
+ options: {
143
+ type: PropType<T[]>;
144
+ default: () => never[];
145
+ };
146
+ /**
147
+ * This Boolean attribute indicates that multiple options can be selected in the list.
148
+ * If it is not specified, then only one option can be selected at a time.
149
+ * When multiple is specified, most browsers will show a scrolling list box instead of a single line dropdown.
150
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple
151
+ */
152
+ multiple: BooleanConstructor;
153
+ /**
154
+ * A Boolean attribute indicating that an option with a non-empty string value must be selected.
155
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-required
156
+ */
157
+ required: BooleanConstructor;
158
+ /**
159
+ * If the control is presented as a scrolling list box (e.g. when multiple is specified),
160
+ * this attribute represents the number of rows in the list that should be visible at one time.
161
+ * Browsers are not required to present a select element as a scrolled list box. The default value is 0.
162
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-size
163
+ */
164
+ size: (StringConstructor | NumberConstructor)[];
165
+ /**
166
+ * modelValue can be a string, number, boolean, object or array of string, number, boolean, object
167
+ */
168
+ modelValue: {
169
+ type: (ObjectConstructor | ArrayConstructor | BooleanConstructor | StringConstructor | NumberConstructor)[];
170
+ default: undefined;
171
+ };
172
+ /**
173
+ * Select first option automatically
174
+ */
175
+ autoselectFirst: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
179
+ /**
180
+ * Select placeholder
181
+ */
182
+ placeholder: StringConstructor;
183
+ label: {
184
+ type: (StringConstructor | NumberConstructor)[];
185
+ default: undefined;
186
+ };
187
+ unselectable: {
188
+ type: BooleanConstructor;
189
+ default: boolean;
190
+ };
191
+ floating: {
192
+ type: BooleanConstructor;
193
+ default: boolean;
194
+ };
195
+ icon: {
196
+ type: PropType<string | import("../VvIcon").VvIconProps>;
197
+ default: undefined;
198
+ };
199
+ iconPosition: {
200
+ type: PropType<`${import("../../constants").Position}`>;
201
+ default: import("../../constants").Position;
202
+ validation: (value: import("../../constants").Position) => boolean;
203
+ };
204
+ labelKey: {
205
+ type: (StringConstructor | FunctionConstructor)[];
206
+ default: string;
207
+ };
208
+ valueKey: {
209
+ type: (StringConstructor | FunctionConstructor)[];
210
+ default: string;
211
+ };
212
+ disabledKey: {
213
+ type: (StringConstructor | FunctionConstructor)[];
214
+ default: string;
215
+ };
216
+ modifiers: {
217
+ type: PropType<string | string[]>;
218
+ default: undefined;
219
+ };
220
+ readonly: {
221
+ type: BooleanConstructor;
222
+ default: boolean;
223
+ };
224
+ disabled: {
225
+ type: BooleanConstructor;
226
+ default: boolean;
227
+ };
228
+ loading: {
229
+ type: BooleanConstructor;
230
+ default: boolean;
231
+ };
232
+ loadingLabel: {
233
+ type: StringConstructor;
234
+ default: string;
235
+ };
236
+ hintLabel: {
237
+ type: StringConstructor;
238
+ default: string;
239
+ };
240
+ invalid: {
241
+ type: BooleanConstructor;
242
+ default: boolean;
243
+ };
244
+ invalidLabel: {
245
+ type: (ArrayConstructor | StringConstructor)[];
246
+ default: undefined;
247
+ };
248
+ valid: {
249
+ type: BooleanConstructor;
250
+ default: boolean;
251
+ };
252
+ validLabel: {
253
+ type: (ArrayConstructor | StringConstructor)[];
254
+ default: undefined;
255
+ };
256
+ tabindex: {
257
+ type: (StringConstructor | NumberConstructor)[];
258
+ default: number;
259
+ };
260
+ autocomplete: {
261
+ type: StringConstructor;
262
+ default: string;
263
+ };
264
+ autofocus: {
265
+ type: BooleanConstructor;
266
+ default: boolean;
267
+ };
87
268
  name: {
88
269
  type: StringConstructor;
89
270
  required: boolean;
90
271
  };
91
272
  id: (StringConstructor | NumberConstructor)[];
92
273
  };
93
- export declare const VvSelectEmits: string[];