@volverjs/ui-vue 0.0.3-beta.4 → 0.0.4

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 (853) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +56 -16
  3. package/auto-imports.d.ts +10 -6
  4. package/bin/icons.cjs +8 -8
  5. package/bin/icons.js +8 -8
  6. package/dist/Volver.d.ts +43 -13
  7. package/dist/components/VvAccordion/VvAccordion.es.js +133 -59
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/index.d.ts +2 -2
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +207 -100
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +1 -1
  13. package/dist/components/VvAction/VvAction.es.js +170 -0
  14. package/dist/components/VvAction/VvAction.umd.js +1 -0
  15. package/dist/components/VvAction/VvAction.vue.d.ts +63 -0
  16. package/dist/components/VvAction/index.d.ts +24 -0
  17. package/dist/components/VvBadge/VvBadge.es.js +92 -17
  18. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  19. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +104 -57
  20. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  21. package/dist/components/VvButton/VvButton.es.js +526 -202
  22. package/dist/components/VvButton/VvButton.umd.js +1 -1
  23. package/dist/components/VvButton/VvButton.vue.d.ts +59 -62
  24. package/dist/components/VvButton/index.d.ts +32 -83
  25. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +133 -43
  26. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  27. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +1 -1
  28. package/dist/components/VvCard/VvCard.es.js +38 -27
  29. package/dist/components/VvCard/VvCard.umd.js +1 -1
  30. package/dist/components/VvCheckbox/VvCheckbox.es.js +386 -147
  31. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  32. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +7 -5
  33. package/dist/components/VvCheckbox/index.d.ts +6 -10
  34. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +475 -189
  35. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  36. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +14 -3
  37. package/dist/components/VvCheckboxGroup/index.d.ts +6 -1
  38. package/dist/components/VvCombobox/VvCombobox.es.js +1488 -457
  39. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  40. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +282 -25
  41. package/dist/components/VvCombobox/index.d.ts +141 -15
  42. package/dist/components/VvDialog/VvDialog.es.js +248 -82
  43. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  44. package/dist/components/VvDialog/VvDialog.vue.d.ts +3 -9
  45. package/dist/components/VvDialog/index.d.ts +16 -4
  46. package/dist/components/VvDropdown/VvDropdown.es.js +448 -89
  47. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  48. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +184 -51
  49. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +61 -0
  50. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +9 -0
  51. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +52 -0
  52. package/dist/components/VvDropdown/index.d.ts +70 -31
  53. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +251 -0
  54. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -0
  55. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +38 -0
  56. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -0
  57. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +176 -0
  58. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -0
  59. package/dist/components/VvIcon/VvIcon.es.js +113 -34
  60. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  61. package/dist/components/VvInputText/VvInputText.es.js +721 -342
  62. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  63. package/dist/components/VvInputText/VvInputText.vue.d.ts +21 -14
  64. package/dist/components/VvInputText/index.d.ts +17 -6
  65. package/dist/components/VvProgress/VvProgress.es.js +113 -19
  66. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  67. package/dist/components/VvRadio/VvRadio.es.js +345 -120
  68. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  69. package/dist/components/VvRadio/VvRadio.vue.d.ts +6 -4
  70. package/dist/components/VvRadio/index.d.ts +6 -4
  71. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +434 -162
  72. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  73. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +14 -3
  74. package/dist/components/VvRadioGroup/index.d.ts +6 -1
  75. package/dist/components/VvSelect/VvSelect.es.js +542 -222
  76. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  77. package/dist/components/VvSelect/VvSelect.vue.d.ts +44 -21
  78. package/dist/components/VvSelect/index.d.ts +13 -9
  79. package/dist/components/VvTextarea/VvTextarea.es.js +579 -236
  80. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  81. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +20 -13
  82. package/dist/components/VvTextarea/index.d.ts +9 -6
  83. package/dist/components/VvTooltip/VvTooltip.es.js +104 -14
  84. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  85. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +11 -5
  86. package/dist/components/VvTooltip/index.d.ts +7 -9
  87. package/dist/components/index.es.js +2800 -1423
  88. package/dist/components/index.umd.js +1 -1
  89. package/dist/composables/dropdown/useInjectDropdown.d.ts +31 -0
  90. package/dist/composables/dropdown/useProvideDropdown.d.ts +36 -0
  91. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  92. package/dist/composables/group/useProvideGroupState.d.ts +2 -2
  93. package/dist/composables/useComponentIcon.d.ts +10 -0
  94. package/dist/composables/useModifiers.d.ts +1 -9
  95. package/dist/composables/useOptions.d.ts +2 -1
  96. package/dist/composables/useUniqueId.d.ts +2 -0
  97. package/dist/composables/useVolver.d.ts +2 -0
  98. package/dist/constants.d.ts +59 -4
  99. package/dist/directives/index.d.ts +4 -0
  100. package/dist/directives/index.es.js +128 -0
  101. package/dist/directives/index.umd.js +1 -0
  102. package/dist/directives/v-tooltip.d.ts +3 -0
  103. package/dist/directives/v-tooltip.es.js +126 -0
  104. package/dist/directives/v-tooltip.umd.js +1 -0
  105. package/dist/icons.d.ts +9 -0
  106. package/dist/icons.es.js +30 -21
  107. package/dist/icons.umd.js +1 -1
  108. package/dist/index.d.ts +1 -1
  109. package/dist/index.es.js +2866 -1455
  110. package/dist/index.umd.js +1 -1
  111. package/dist/props/index.d.ts +327 -33
  112. package/dist/resolvers/unplugin.d.ts +8 -8
  113. package/dist/resolvers/unplugin.es.js +54 -33
  114. package/dist/resolvers/unplugin.umd.js +1 -1
  115. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +14 -0
  116. package/dist/stories/Combobox/Combobox.settings.d.ts +270 -3
  117. package/dist/stories/Dropdown/Dropdown.settings.d.ts +139 -28
  118. package/dist/stories/Dropdown/Dropdown.test.d.ts +1 -1
  119. package/dist/stories/InputText/InputText.settings.d.ts +24 -24
  120. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +14 -0
  121. package/dist/stories/Select/Select.settings.d.ts +15 -1
  122. package/dist/stories/Textarea/Textarea.settings.d.ts +24 -24
  123. package/dist/stories/Tooltip/Tooltip.settings.d.ts +1 -1
  124. package/dist/stories/argTypes.d.ts +164 -3
  125. package/package.json +83 -48
  126. package/src/Volver.ts +152 -33
  127. package/src/assets/icons/detailed/add-circle.svg +12 -1
  128. package/src/assets/icons/detailed/add.svg +8 -1
  129. package/src/assets/icons/detailed/align-center.svg +12 -1
  130. package/src/assets/icons/detailed/align-justify.svg +12 -1
  131. package/src/assets/icons/detailed/align-left.svg +12 -1
  132. package/src/assets/icons/detailed/align-right.svg +12 -1
  133. package/src/assets/icons/detailed/analysis-2.svg +20 -1
  134. package/src/assets/icons/detailed/analysis-3.svg +8 -1
  135. package/src/assets/icons/detailed/analysis.svg +16 -1
  136. package/src/assets/icons/detailed/apple.svg +16 -1
  137. package/src/assets/icons/detailed/arrow-down.svg +8 -1
  138. package/src/assets/icons/detailed/arrow-left.svg +8 -1
  139. package/src/assets/icons/detailed/arrow-right.svg +8 -1
  140. package/src/assets/icons/detailed/arrow-up.svg +8 -1
  141. package/src/assets/icons/detailed/attachment.svg +8 -1
  142. package/src/assets/icons/detailed/back-to-front.svg +17 -1
  143. package/src/assets/icons/detailed/bell-active.svg +14 -1
  144. package/src/assets/icons/detailed/bell.svg +14 -1
  145. package/src/assets/icons/detailed/bold.svg +8 -1
  146. package/src/assets/icons/detailed/bookmark-active.svg +12 -1
  147. package/src/assets/icons/detailed/bookmark.svg +12 -1
  148. package/src/assets/icons/detailed/building.svg +26 -1
  149. package/src/assets/icons/detailed/bullet-list.svg +22 -1
  150. package/src/assets/icons/detailed/calendar.svg +26 -1
  151. package/src/assets/icons/detailed/camera-off.svg +12 -1
  152. package/src/assets/icons/detailed/camera-on.svg +17 -1
  153. package/src/assets/icons/detailed/catalog.svg +15 -1
  154. package/src/assets/icons/detailed/certificate.svg +10 -1
  155. package/src/assets/icons/detailed/chat.svg +6 -1
  156. package/src/assets/icons/detailed/check-badge.svg +9 -1
  157. package/src/assets/icons/detailed/check-circle.svg +10 -1
  158. package/src/assets/icons/detailed/check.svg +6 -1
  159. package/src/assets/icons/detailed/checkbox.svg +8 -1
  160. package/src/assets/icons/detailed/chevron-down-circle.svg +10 -1
  161. package/src/assets/icons/detailed/chevron-down.svg +6 -1
  162. package/src/assets/icons/detailed/chevron-left-circle.svg +10 -1
  163. package/src/assets/icons/detailed/chevron-left.svg +6 -1
  164. package/src/assets/icons/detailed/chevron-right-circle.svg +7 -1
  165. package/src/assets/icons/detailed/chevron-up-circle.svg +10 -1
  166. package/src/assets/icons/detailed/chevron-up.svg +6 -1
  167. package/src/assets/icons/detailed/circle.svg +8 -0
  168. package/src/assets/icons/detailed/classroom.svg +38 -1
  169. package/src/assets/icons/detailed/clear-field.svg +14 -1
  170. package/src/assets/icons/detailed/clear-style.svg +9 -1
  171. package/src/assets/icons/detailed/close-circle.svg +14 -1
  172. package/src/assets/icons/detailed/close-loader.svg +6 -1
  173. package/src/assets/icons/detailed/close.svg +8 -1
  174. package/src/assets/icons/detailed/coffee.svg +21 -1
  175. package/src/assets/icons/detailed/color.svg +20 -1
  176. package/src/assets/icons/detailed/contact-us.svg +27 -1
  177. package/src/assets/icons/detailed/copy.svg +10 -1
  178. package/src/assets/icons/detailed/courses.svg +22 -1
  179. package/src/assets/icons/detailed/dashboard.svg +20 -1
  180. package/src/assets/icons/detailed/download.svg +10 -1
  181. package/src/assets/icons/detailed/drag.svg +10 -1
  182. package/src/assets/icons/detailed/duplicate.svg +23 -1
  183. package/src/assets/icons/detailed/edit.svg +16 -1
  184. package/src/assets/icons/detailed/elearning.svg +13 -1
  185. package/src/assets/icons/detailed/email.svg +11 -1
  186. package/src/assets/icons/detailed/error-2.svg +8 -1
  187. package/src/assets/icons/detailed/error.svg +12 -1
  188. package/src/assets/icons/detailed/exercise.svg +26 -1
  189. package/src/assets/icons/detailed/external-link.svg +11 -1
  190. package/src/assets/icons/detailed/extract.svg +20 -1
  191. package/src/assets/icons/detailed/eye-off.svg +15 -1
  192. package/src/assets/icons/detailed/eye-on.svg +8 -1
  193. package/src/assets/icons/detailed/fail.svg +11 -1
  194. package/src/assets/icons/detailed/fast-back.svg +20 -1
  195. package/src/assets/icons/detailed/fast-forward.svg +20 -1
  196. package/src/assets/icons/detailed/file-add.svg +19 -1
  197. package/src/assets/icons/detailed/file-duplicate.svg +16 -1
  198. package/src/assets/icons/detailed/file-remove.svg +17 -1
  199. package/src/assets/icons/detailed/file-required.svg +23 -1
  200. package/src/assets/icons/detailed/file.svg +13 -1
  201. package/src/assets/icons/detailed/filter-2.svg +22 -1
  202. package/src/assets/icons/detailed/filter-active.svg +12 -1
  203. package/src/assets/icons/detailed/filter.svg +12 -1
  204. package/src/assets/icons/detailed/flag.svg +11 -1
  205. package/src/assets/icons/detailed/folder.svg +14 -1
  206. package/src/assets/icons/detailed/full-width.svg +11 -1
  207. package/src/assets/icons/detailed/go-to-back.svg +19 -1
  208. package/src/assets/icons/detailed/grid.svg +20 -1
  209. package/src/assets/icons/detailed/group-add.svg +24 -1
  210. package/src/assets/icons/detailed/group.svg +16 -1
  211. package/src/assets/icons/detailed/heart-active.svg +12 -1
  212. package/src/assets/icons/detailed/heart.svg +12 -1
  213. package/src/assets/icons/detailed/highlighter.svg +10 -1
  214. package/src/assets/icons/detailed/home.svg +12 -1
  215. package/src/assets/icons/detailed/hourglass.svg +12 -1
  216. package/src/assets/icons/detailed/image.svg +15 -1
  217. package/src/assets/icons/detailed/info-badge.svg +9 -1
  218. package/src/assets/icons/detailed/information.svg +12 -1
  219. package/src/assets/icons/detailed/italic.svg +10 -1
  220. package/src/assets/icons/detailed/key.svg +5 -1
  221. package/src/assets/icons/detailed/language.svg +14 -1
  222. package/src/assets/icons/detailed/learning-path.svg +7 -1
  223. package/src/assets/icons/detailed/light-off.svg +10 -1
  224. package/src/assets/icons/detailed/light-on.svg +18 -1
  225. package/src/assets/icons/detailed/link.svg +12 -1
  226. package/src/assets/icons/detailed/lock.svg +13 -1
  227. package/src/assets/icons/detailed/login.svg +11 -1
  228. package/src/assets/icons/detailed/logout.svg +11 -1
  229. package/src/assets/icons/detailed/maximaze.svg +12 -1
  230. package/src/assets/icons/detailed/menu.svg +9 -1
  231. package/src/assets/icons/detailed/merge.svg +20 -1
  232. package/src/assets/icons/detailed/minimize.svg +14 -1
  233. package/src/assets/icons/detailed/mixed-class.svg +40 -1
  234. package/src/assets/icons/detailed/more-horizontal.svg +7 -1
  235. package/src/assets/icons/detailed/more-vertical.svg +7 -1
  236. package/src/assets/icons/detailed/news.svg +12 -1
  237. package/src/assets/icons/detailed/no-prerequisites.svg +13 -1
  238. package/src/assets/icons/detailed/notes.svg +14 -1
  239. package/src/assets/icons/detailed/number-code.svg +34 -1
  240. package/src/assets/icons/detailed/numbered-list.svg +18 -1
  241. package/src/assets/icons/detailed/on-site.svg +22 -1
  242. package/src/assets/icons/detailed/order-down.svg +12 -1
  243. package/src/assets/icons/detailed/order-up.svg +12 -1
  244. package/src/assets/icons/detailed/paste.svg +14 -1
  245. package/src/assets/icons/detailed/pausa.svg +8 -1
  246. package/src/assets/icons/detailed/pdf.svg +12 -1
  247. package/src/assets/icons/detailed/phone.svg +10 -1
  248. package/src/assets/icons/detailed/pin-map.svg +12 -1
  249. package/src/assets/icons/detailed/pin.svg +15 -1
  250. package/src/assets/icons/detailed/pizza.svg +17 -1
  251. package/src/assets/icons/detailed/play.svg +11 -1
  252. package/src/assets/icons/detailed/plug-in.svg +10 -1
  253. package/src/assets/icons/detailed/pointer.svg +12 -1
  254. package/src/assets/icons/detailed/printer.svg +26 -1
  255. package/src/assets/icons/detailed/profile-add.svg +20 -1
  256. package/src/assets/icons/detailed/profile.svg +10 -1
  257. package/src/assets/icons/detailed/push-pin-off.svg +11 -1
  258. package/src/assets/icons/detailed/push-pin-on.svg +9 -1
  259. package/src/assets/icons/detailed/qrcode.svg +28 -1
  260. package/src/assets/icons/detailed/question-badge.svg +10 -1
  261. package/src/assets/icons/detailed/radio.svg +8 -1
  262. package/src/assets/icons/detailed/redo.svg +9 -1
  263. package/src/assets/icons/detailed/relations.svg +32 -1
  264. package/src/assets/icons/detailed/reload.svg +13 -1
  265. package/src/assets/icons/detailed/remove-circle.svg +10 -1
  266. package/src/assets/icons/detailed/remove.svg +5 -1
  267. package/src/assets/icons/detailed/reorder.svg +12 -1
  268. package/src/assets/icons/detailed/repeat.svg +12 -1
  269. package/src/assets/icons/detailed/repository.svg +18 -1
  270. package/src/assets/icons/detailed/request-form.svg +18 -1
  271. package/src/assets/icons/detailed/resize-100%.svg +15 -1
  272. package/src/assets/icons/detailed/resize-height.svg +12 -1
  273. package/src/assets/icons/detailed/resize-width.svg +12 -1
  274. package/src/assets/icons/detailed/search.svg +12 -1
  275. package/src/assets/icons/detailed/sequential-prerequisites.svg +20 -1
  276. package/src/assets/icons/detailed/settings.svg +14 -1
  277. package/src/assets/icons/detailed/share.svg +20 -1
  278. package/src/assets/icons/detailed/sketch.svg +12 -1
  279. package/src/assets/icons/detailed/skills.svg +20 -1
  280. package/src/assets/icons/detailed/skip-back.svg +12 -1
  281. package/src/assets/icons/detailed/skip-forward.svg +13 -1
  282. package/src/assets/icons/detailed/sms.svg +18 -1
  283. package/src/assets/icons/detailed/sso-access.svg +18 -1
  284. package/src/assets/icons/detailed/star-active.svg +6 -1
  285. package/src/assets/icons/detailed/star.svg +6 -1
  286. package/src/assets/icons/detailed/success.svg +10 -1
  287. package/src/assets/icons/detailed/sun.svg +24 -1
  288. package/src/assets/icons/detailed/sunrise.svg +18 -1
  289. package/src/assets/icons/detailed/support.svg +18 -1
  290. package/src/assets/icons/detailed/survey.svg +24 -1
  291. package/src/assets/icons/detailed/table.svg +11 -1
  292. package/src/assets/icons/detailed/tematic-channels.svg +12 -1
  293. package/src/assets/icons/detailed/test.svg +14 -1
  294. package/src/assets/icons/detailed/text-body.svg +8 -1
  295. package/src/assets/icons/detailed/text-edit.svg +11 -1
  296. package/src/assets/icons/detailed/text-style.svg +10 -1
  297. package/src/assets/icons/detailed/time.svg +10 -1
  298. package/src/assets/icons/detailed/toilet-piper.svg +15 -1
  299. package/src/assets/icons/detailed/training-points.svg +16 -1
  300. package/src/assets/icons/detailed/trash.svg +19 -1
  301. package/src/assets/icons/detailed/underline.svg +8 -1
  302. package/src/assets/icons/detailed/undo.svg +9 -1
  303. package/src/assets/icons/detailed/unlock.svg +13 -1
  304. package/src/assets/icons/detailed/upload.svg +10 -1
  305. package/src/assets/icons/detailed/user-add.svg +16 -1
  306. package/src/assets/icons/detailed/user-badge.svg +11 -1
  307. package/src/assets/icons/detailed/user.svg +8 -1
  308. package/src/assets/icons/detailed/video-off.svg +17 -1
  309. package/src/assets/icons/detailed/video-on.svg +16 -1
  310. package/src/assets/icons/detailed/video-rec.svg +19 -1
  311. package/src/assets/icons/detailed/view-card.svg +12 -1
  312. package/src/assets/icons/detailed/view-list.svg +20 -1
  313. package/src/assets/icons/detailed/view.svg +7 -1
  314. package/src/assets/icons/detailed/voice-off.svg +14 -1
  315. package/src/assets/icons/detailed/voice-on.svg +16 -1
  316. package/src/assets/icons/detailed/volume-down.svg +14 -1
  317. package/src/assets/icons/detailed/volume-off.svg +19 -1
  318. package/src/assets/icons/detailed/volume-up.svg +16 -1
  319. package/src/assets/icons/detailed/warning.svg +16 -1
  320. package/src/assets/icons/detailed/webinar.svg +57 -1
  321. package/src/assets/icons/detailed/whiteboard.svg +16 -1
  322. package/src/assets/icons/detailed/wine.svg +22 -1
  323. package/src/assets/icons/detailed/zip.svg +17 -1
  324. package/src/assets/icons/detailed/zoom-in.svg +18 -1
  325. package/src/assets/icons/detailed/zoom-out.svg +16 -1
  326. package/src/assets/icons/detailed.json +1 -1
  327. package/src/assets/icons/normal/add-circle.svg +12 -1
  328. package/src/assets/icons/normal/add.svg +4 -1
  329. package/src/assets/icons/normal/align-center.svg +11 -1
  330. package/src/assets/icons/normal/align-justify.svg +11 -1
  331. package/src/assets/icons/normal/align-left.svg +11 -1
  332. package/src/assets/icons/normal/align-right.svg +11 -1
  333. package/src/assets/icons/normal/analysis-2.svg +18 -1
  334. package/src/assets/icons/normal/analysis-3.svg +8 -1
  335. package/src/assets/icons/normal/analysis.svg +14 -1
  336. package/src/assets/icons/normal/apple.svg +16 -1
  337. package/src/assets/icons/normal/arrow-down.svg +8 -1
  338. package/src/assets/icons/normal/arrow-left.svg +8 -1
  339. package/src/assets/icons/normal/arrow-right.svg +8 -1
  340. package/src/assets/icons/normal/arrow-up.svg +8 -1
  341. package/src/assets/icons/normal/attachment.svg +6 -1
  342. package/src/assets/icons/normal/back-to-front.svg +15 -1
  343. package/src/assets/icons/normal/bell-active.svg +14 -1
  344. package/src/assets/icons/normal/bell.svg +14 -1
  345. package/src/assets/icons/normal/bold.svg +8 -1
  346. package/src/assets/icons/normal/bookmark active.svg +12 -1
  347. package/src/assets/icons/normal/bookmark.svg +10 -1
  348. package/src/assets/icons/normal/building.svg +21 -1
  349. package/src/assets/icons/normal/bulleted-list.svg +23 -1
  350. package/src/assets/icons/normal/calendar.svg +20 -1
  351. package/src/assets/icons/normal/camera-off.svg +17 -1
  352. package/src/assets/icons/normal/camera-on.svg +16 -1
  353. package/src/assets/icons/normal/catalog.svg +13 -1
  354. package/src/assets/icons/normal/certificate.svg +12 -1
  355. package/src/assets/icons/normal/chat.svg +6 -1
  356. package/src/assets/icons/normal/check-badge.svg +9 -1
  357. package/src/assets/icons/normal/check-circle.svg +10 -1
  358. package/src/assets/icons/normal/check.svg +4 -1
  359. package/src/assets/icons/normal/checkbox.svg +8 -1
  360. package/src/assets/icons/normal/chevron-down-circle.svg +10 -1
  361. package/src/assets/icons/normal/chevron-down.svg +6 -1
  362. package/src/assets/icons/normal/chevron-left-circle.svg +10 -1
  363. package/src/assets/icons/normal/chevron-left.svg +6 -1
  364. package/src/assets/icons/normal/chevron-right-circle.svg +10 -1
  365. package/src/assets/icons/normal/chevron-right.svg +7 -1
  366. package/src/assets/icons/normal/chevron-up-circle.svg +10 -1
  367. package/src/assets/icons/normal/chevron-up.svg +6 -1
  368. package/src/assets/icons/normal/circle.svg +8 -0
  369. package/src/assets/icons/normal/classroom.svg +36 -1
  370. package/src/assets/icons/normal/clear-field.svg +14 -1
  371. package/src/assets/icons/normal/clear-style.svg +18 -1
  372. package/src/assets/icons/normal/close-circle.svg +14 -1
  373. package/src/assets/icons/normal/close-loader.svg +6 -1
  374. package/src/assets/icons/normal/close.svg +8 -1
  375. package/src/assets/icons/normal/coffee.svg +26 -1
  376. package/src/assets/icons/normal/color.svg +18 -1
  377. package/src/assets/icons/normal/contact-us.svg +29 -1
  378. package/src/assets/icons/normal/copy.svg +10 -1
  379. package/src/assets/icons/normal/courses.svg +22 -1
  380. package/src/assets/icons/normal/dashboard.svg +18 -1
  381. package/src/assets/icons/normal/download.svg +10 -1
  382. package/src/assets/icons/normal/drag.svg +5 -1
  383. package/src/assets/icons/normal/dulicate.svg +22 -1
  384. package/src/assets/icons/normal/edit.svg +16 -1
  385. package/src/assets/icons/normal/elearning.svg +16 -1
  386. package/src/assets/icons/normal/email.svg +11 -1
  387. package/src/assets/icons/normal/error-2.svg +8 -1
  388. package/src/assets/icons/normal/error.svg +12 -1
  389. package/src/assets/icons/normal/exercise.svg +26 -1
  390. package/src/assets/icons/normal/external-link.svg +11 -1
  391. package/src/assets/icons/normal/extract.svg +14 -1
  392. package/src/assets/icons/normal/eye-off.svg +14 -1
  393. package/src/assets/icons/normal/eye-on.svg +16 -1
  394. package/src/assets/icons/normal/fail.svg +11 -1
  395. package/src/assets/icons/normal/fast-back.svg +19 -1
  396. package/src/assets/icons/normal/fast-forward.svg +17 -1
  397. package/src/assets/icons/normal/file-add.svg +16 -1
  398. package/src/assets/icons/normal/file-duplicate.svg +22 -1
  399. package/src/assets/icons/normal/file-remove.svg +14 -1
  400. package/src/assets/icons/normal/file-required.svg +24 -1
  401. package/src/assets/icons/normal/file.svg +13 -1
  402. package/src/assets/icons/normal/filter-2.svg +20 -1
  403. package/src/assets/icons/normal/filter-active.svg +12 -1
  404. package/src/assets/icons/normal/filter.svg +12 -1
  405. package/src/assets/icons/normal/flag.svg +10 -1
  406. package/src/assets/icons/normal/folder.svg +12 -1
  407. package/src/assets/icons/normal/full-width.svg +9 -1
  408. package/src/assets/icons/normal/go-to-back.svg +19 -1
  409. package/src/assets/icons/normal/grid.svg +20 -1
  410. package/src/assets/icons/normal/group-add.svg +18 -1
  411. package/src/assets/icons/normal/group.svg +14 -1
  412. package/src/assets/icons/normal/heart-active.svg +10 -1
  413. package/src/assets/icons/normal/heart.svg +10 -1
  414. package/src/assets/icons/normal/highlighter.svg +11 -1
  415. package/src/assets/icons/normal/home.svg +12 -1
  416. package/src/assets/icons/normal/hourglass.svg +8 -1
  417. package/src/assets/icons/normal/image.svg +15 -1
  418. package/src/assets/icons/normal/info-badge.svg +9 -1
  419. package/src/assets/icons/normal/information.svg +12 -1
  420. package/src/assets/icons/normal/italic.svg +10 -1
  421. package/src/assets/icons/normal/key.svg +8 -1
  422. package/src/assets/icons/normal/language.svg +14 -1
  423. package/src/assets/icons/normal/learning-path.svg +7 -1
  424. package/src/assets/icons/normal/light-off.svg +10 -1
  425. package/src/assets/icons/normal/light-on.svg +17 -1
  426. package/src/assets/icons/normal/link.svg +12 -1
  427. package/src/assets/icons/normal/lock.svg +12 -1
  428. package/src/assets/icons/normal/login.svg +10 -1
  429. package/src/assets/icons/normal/logout.svg +10 -1
  430. package/src/assets/icons/normal/maximize.svg +10 -1
  431. package/src/assets/icons/normal/menu.svg +8 -1
  432. package/src/assets/icons/normal/merge.svg +20 -1
  433. package/src/assets/icons/normal/minimize.svg +12 -1
  434. package/src/assets/icons/normal/mixed-class.svg +36 -1
  435. package/src/assets/icons/normal/more-horizontal.svg +7 -1
  436. package/src/assets/icons/normal/more-vertical.svg +7 -1
  437. package/src/assets/icons/normal/news.svg +9 -1
  438. package/src/assets/icons/normal/no-prerequisites.svg +12 -1
  439. package/src/assets/icons/normal/notes.svg +15 -1
  440. package/src/assets/icons/normal/number-code.svg +34 -1
  441. package/src/assets/icons/normal/numbered-list.svg +19 -1
  442. package/src/assets/icons/normal/on-site.svg +18 -1
  443. package/src/assets/icons/normal/order-down.svg +12 -1
  444. package/src/assets/icons/normal/order-up.svg +11 -1
  445. package/src/assets/icons/normal/paste.svg +14 -1
  446. package/src/assets/icons/normal/pausa.svg +7 -1
  447. package/src/assets/icons/normal/pdf.svg +12 -1
  448. package/src/assets/icons/normal/phone.svg +10 -1
  449. package/src/assets/icons/normal/pin-map.svg +10 -1
  450. package/src/assets/icons/normal/pin.svg +12 -1
  451. package/src/assets/icons/normal/pizza.svg +17 -1
  452. package/src/assets/icons/normal/play.svg +9 -1
  453. package/src/assets/icons/normal/plug-in.svg +10 -1
  454. package/src/assets/icons/normal/pointer.svg +12 -1
  455. package/src/assets/icons/normal/printer.svg +28 -1
  456. package/src/assets/icons/normal/profile-add.svg +28 -1
  457. package/src/assets/icons/normal/profile.svg +15 -1
  458. package/src/assets/icons/normal/push pin on.svg +9 -1
  459. package/src/assets/icons/normal/push-pin-off.svg +23 -1
  460. package/src/assets/icons/normal/qrcode.svg +26 -1
  461. package/src/assets/icons/normal/question-badge.svg +10 -1
  462. package/src/assets/icons/normal/radio.svg +8 -1
  463. package/src/assets/icons/normal/redo.svg +9 -1
  464. package/src/assets/icons/normal/relations.svg +28 -1
  465. package/src/assets/icons/normal/reload.svg +12 -1
  466. package/src/assets/icons/normal/remove-circle.svg +10 -1
  467. package/src/assets/icons/normal/remove.svg +4 -1
  468. package/src/assets/icons/normal/reorder.svg +12 -1
  469. package/src/assets/icons/normal/repeat.svg +12 -1
  470. package/src/assets/icons/normal/repository.svg +18 -1
  471. package/src/assets/icons/normal/request-form.svg +18 -1
  472. package/src/assets/icons/normal/resize-100%.svg +17 -1
  473. package/src/assets/icons/normal/resize-height.svg +12 -1
  474. package/src/assets/icons/normal/resize-width.svg +12 -1
  475. package/src/assets/icons/normal/search.svg +10 -1
  476. package/src/assets/icons/normal/sequential-prerequisites.svg +20 -1
  477. package/src/assets/icons/normal/settings.svg +14 -1
  478. package/src/assets/icons/normal/share.svg +20 -1
  479. package/src/assets/icons/normal/sketch.svg +11 -1
  480. package/src/assets/icons/normal/skills.svg +16 -1
  481. package/src/assets/icons/normal/skip-back.svg +12 -1
  482. package/src/assets/icons/normal/skip-forward.svg +13 -1
  483. package/src/assets/icons/normal/sms.svg +20 -1
  484. package/src/assets/icons/normal/sso-access.svg +20 -1
  485. package/src/assets/icons/normal/star-active.svg +4 -1
  486. package/src/assets/icons/normal/star.svg +4 -1
  487. package/src/assets/icons/normal/success.svg +10 -1
  488. package/src/assets/icons/normal/sun.svg +24 -1
  489. package/src/assets/icons/normal/sunrise.svg +18 -1
  490. package/src/assets/icons/normal/support.svg +18 -1
  491. package/src/assets/icons/normal/survey.svg +24 -1
  492. package/src/assets/icons/normal/table.svg +11 -1
  493. package/src/assets/icons/normal/tematic-channels.svg +10 -1
  494. package/src/assets/icons/normal/test.svg +15 -1
  495. package/src/assets/icons/normal/text-body.svg +8 -1
  496. package/src/assets/icons/normal/text-edit.svg +11 -1
  497. package/src/assets/icons/normal/text-style.svg +10 -1
  498. package/src/assets/icons/normal/time.svg +10 -1
  499. package/src/assets/icons/normal/toilet-paper.svg +15 -1
  500. package/src/assets/icons/normal/training-points.svg +16 -1
  501. package/src/assets/icons/normal/trash.svg +19 -1
  502. package/src/assets/icons/normal/underline.svg +8 -1
  503. package/src/assets/icons/normal/undo.svg +9 -1
  504. package/src/assets/icons/normal/unlock.svg +13 -1
  505. package/src/assets/icons/normal/upload.svg +10 -1
  506. package/src/assets/icons/normal/user-add.svg +14 -1
  507. package/src/assets/icons/normal/user-badge.svg +11 -1
  508. package/src/assets/icons/normal/user.svg +5 -1
  509. package/src/assets/icons/normal/video-off.svg +11 -1
  510. package/src/assets/icons/normal/video-on.svg +20 -1
  511. package/src/assets/icons/normal/video-rec.svg +23 -1
  512. package/src/assets/icons/normal/view-card.svg +10 -1
  513. package/src/assets/icons/normal/view-list.svg +18 -1
  514. package/src/assets/icons/normal/view.svg +8 -1
  515. package/src/assets/icons/normal/voice-off.svg +18 -1
  516. package/src/assets/icons/normal/voice-on.svg +15 -1
  517. package/src/assets/icons/normal/volume-down.svg +14 -1
  518. package/src/assets/icons/normal/volume-off.svg +18 -1
  519. package/src/assets/icons/normal/volume-up.svg +16 -1
  520. package/src/assets/icons/normal/warning.svg +16 -1
  521. package/src/assets/icons/normal/webinar.svg +36 -1
  522. package/src/assets/icons/normal/whiteboard.svg +17 -1
  523. package/src/assets/icons/normal/wine.svg +22 -1
  524. package/src/assets/icons/normal/zip.svg +19 -1
  525. package/src/assets/icons/normal/zoom-in.svg +16 -1
  526. package/src/assets/icons/normal/zoom-out.svg +14 -1
  527. package/src/assets/icons/normal.json +1 -1
  528. package/src/assets/icons/simple/add-circle.svg +12 -1
  529. package/src/assets/icons/simple/add.svg +8 -1
  530. package/src/assets/icons/simple/align-center.svg +12 -1
  531. package/src/assets/icons/simple/align-justify.svg +12 -1
  532. package/src/assets/icons/simple/align-left.svg +12 -1
  533. package/src/assets/icons/simple/align-right.svg +12 -1
  534. package/src/assets/icons/simple/analysis-2.svg +21 -1
  535. package/src/assets/icons/simple/analysis-3.svg +8 -1
  536. package/src/assets/icons/simple/analysis.svg +16 -1
  537. package/src/assets/icons/simple/apple.svg +18 -1
  538. package/src/assets/icons/simple/arrow-down.svg +8 -1
  539. package/src/assets/icons/simple/arrow-left.svg +8 -1
  540. package/src/assets/icons/simple/arrow-right.svg +8 -1
  541. package/src/assets/icons/simple/arrow-up.svg +8 -1
  542. package/src/assets/icons/simple/attachment.svg +10 -1
  543. package/src/assets/icons/simple/bck-to-front.svg +19 -1
  544. package/src/assets/icons/simple/bell-active.svg +14 -1
  545. package/src/assets/icons/simple/bell.svg +14 -1
  546. package/src/assets/icons/simple/bold.svg +8 -1
  547. package/src/assets/icons/simple/bookmark-active.svg +12 -1
  548. package/src/assets/icons/simple/bookmark.svg +12 -1
  549. package/src/assets/icons/simple/building.svg +25 -1
  550. package/src/assets/icons/simple/bulleted-list.svg +22 -1
  551. package/src/assets/icons/simple/calendar.svg +22 -1
  552. package/src/assets/icons/simple/camera-off.svg +12 -1
  553. package/src/assets/icons/simple/camera-on.svg +16 -1
  554. package/src/assets/icons/simple/catalog.svg +14 -1
  555. package/src/assets/icons/simple/certificate.svg +15 -1
  556. package/src/assets/icons/simple/chat.svg +9 -1
  557. package/src/assets/icons/simple/check-badge.svg +9 -1
  558. package/src/assets/icons/simple/check-circle.svg +10 -1
  559. package/src/assets/icons/simple/check.svg +6 -1
  560. package/src/assets/icons/simple/checkbox.svg +6 -1
  561. package/src/assets/icons/simple/chevron-down-circle.svg +10 -1
  562. package/src/assets/icons/simple/chevron-down.svg +6 -1
  563. package/src/assets/icons/simple/chevron-left-circle.svg +10 -1
  564. package/src/assets/icons/simple/chevron-left.svg +6 -1
  565. package/src/assets/icons/simple/chevron-right-circle.svg +10 -1
  566. package/src/assets/icons/simple/chevron-right.svg +7 -1
  567. package/src/assets/icons/simple/chevron-up-circle.svg +10 -1
  568. package/src/assets/icons/simple/chevron-up.svg +6 -1
  569. package/src/assets/icons/simple/circle.svg +8 -0
  570. package/src/assets/icons/simple/classroom.svg +38 -1
  571. package/src/assets/icons/simple/clear-field.svg +11 -1
  572. package/src/assets/icons/simple/clear-style.svg +15 -1
  573. package/src/assets/icons/simple/close-circle.svg +14 -1
  574. package/src/assets/icons/simple/close-loader.svg +6 -1
  575. package/src/assets/icons/simple/close.svg +10 -1
  576. package/src/assets/icons/simple/coffee.svg +28 -1
  577. package/src/assets/icons/simple/color.svg +20 -1
  578. package/src/assets/icons/simple/contact-us.svg +26 -1
  579. package/src/assets/icons/simple/copy.svg +10 -1
  580. package/src/assets/icons/simple/courses.svg +21 -1
  581. package/src/assets/icons/simple/dashboard.svg +20 -1
  582. package/src/assets/icons/simple/download.svg +10 -1
  583. package/src/assets/icons/simple/drag.svg +10 -1
  584. package/src/assets/icons/simple/duplicate.svg +24 -1
  585. package/src/assets/icons/simple/edit.svg +17 -1
  586. package/src/assets/icons/simple/elearning.svg +17 -1
  587. package/src/assets/icons/simple/email.svg +11 -1
  588. package/src/assets/icons/simple/error-2.svg +8 -1
  589. package/src/assets/icons/simple/error.svg +12 -1
  590. package/src/assets/icons/simple/exercise.svg +30 -1
  591. package/src/assets/icons/simple/external-link.svg +13 -1
  592. package/src/assets/icons/simple/extract.svg +17 -1
  593. package/src/assets/icons/simple/eye-off.svg +13 -1
  594. package/src/assets/icons/simple/eye-on.svg +11 -1
  595. package/src/assets/icons/simple/fail.svg +11 -1
  596. package/src/assets/icons/simple/fast-back.svg +20 -1
  597. package/src/assets/icons/simple/fast-forward.svg +19 -1
  598. package/src/assets/icons/simple/file-add.svg +20 -1
  599. package/src/assets/icons/simple/file-duplicate.svg +22 -1
  600. package/src/assets/icons/simple/file-remove.svg +18 -1
  601. package/src/assets/icons/simple/file-required.svg +24 -1
  602. package/src/assets/icons/simple/file.svg +14 -1
  603. package/src/assets/icons/simple/filter-2.svg +24 -1
  604. package/src/assets/icons/simple/filter-active.svg +13 -1
  605. package/src/assets/icons/simple/filter.svg +12 -1
  606. package/src/assets/icons/simple/flag.svg +12 -1
  607. package/src/assets/icons/simple/folder.svg +14 -1
  608. package/src/assets/icons/simple/full-width.svg +11 -1
  609. package/src/assets/icons/simple/go-to-back.svg +18 -1
  610. package/src/assets/icons/simple/grid.svg +20 -1
  611. package/src/assets/icons/simple/group-add.svg +24 -1
  612. package/src/assets/icons/simple/group.svg +18 -1
  613. package/src/assets/icons/simple/heart-active.svg +12 -1
  614. package/src/assets/icons/simple/heart.svg +12 -1
  615. package/src/assets/icons/simple/highlighter.svg +12 -1
  616. package/src/assets/icons/simple/home.svg +13 -1
  617. package/src/assets/icons/simple/hourglass.svg +11 -1
  618. package/src/assets/icons/simple/image.svg +15 -1
  619. package/src/assets/icons/simple/info-badge.svg +9 -1
  620. package/src/assets/icons/simple/information.svg +12 -1
  621. package/src/assets/icons/simple/italic.svg +12 -1
  622. package/src/assets/icons/simple/key.svg +11 -1
  623. package/src/assets/icons/simple/language.svg +12 -1
  624. package/src/assets/icons/simple/learning-path.svg +9 -1
  625. package/src/assets/icons/simple/light-off.svg +7 -1
  626. package/src/assets/icons/simple/light-on.svg +18 -1
  627. package/src/assets/icons/simple/link.svg +14 -1
  628. package/src/assets/icons/simple/lock.svg +13 -1
  629. package/src/assets/icons/simple/login.svg +11 -1
  630. package/src/assets/icons/simple/logout.svg +11 -1
  631. package/src/assets/icons/simple/maximaze.svg +12 -1
  632. package/src/assets/icons/simple/menu.svg +10 -1
  633. package/src/assets/icons/simple/merge.svg +20 -1
  634. package/src/assets/icons/simple/minimaze.svg +12 -1
  635. package/src/assets/icons/simple/mixed-class.svg +40 -1
  636. package/src/assets/icons/simple/more-horizontal.svg +8 -1
  637. package/src/assets/icons/simple/more-vertical.svg +8 -1
  638. package/src/assets/icons/simple/news.svg +12 -1
  639. package/src/assets/icons/simple/no-prerequisites.svg +17 -1
  640. package/src/assets/icons/simple/notes.svg +14 -1
  641. package/src/assets/icons/simple/number-code.svg +29 -1
  642. package/src/assets/icons/simple/numbered-list.svg +18 -1
  643. package/src/assets/icons/simple/on-site.svg +18 -1
  644. package/src/assets/icons/simple/order-down.svg +12 -1
  645. package/src/assets/icons/simple/order-up.svg +12 -1
  646. package/src/assets/icons/simple/paste.svg +14 -1
  647. package/src/assets/icons/simple/pausa.svg +8 -1
  648. package/src/assets/icons/simple/pdf.svg +12 -1
  649. package/src/assets/icons/simple/phone.svg +10 -1
  650. package/src/assets/icons/simple/pin-map.svg +13 -1
  651. package/src/assets/icons/simple/pin.svg +14 -1
  652. package/src/assets/icons/simple/pizza.svg +17 -1
  653. package/src/assets/icons/simple/play.svg +10 -1
  654. package/src/assets/icons/simple/plug-in.svg +10 -1
  655. package/src/assets/icons/simple/pointer.svg +6 -1
  656. package/src/assets/icons/simple/printer.svg +28 -1
  657. package/src/assets/icons/simple/profile-add.svg +28 -1
  658. package/src/assets/icons/simple/profile.svg +13 -1
  659. package/src/assets/icons/simple/push-pin-off.svg +11 -1
  660. package/src/assets/icons/simple/push-pin-on.svg +12 -1
  661. package/src/assets/icons/simple/qrcode.svg +26 -1
  662. package/src/assets/icons/simple/question-badge.svg +10 -1
  663. package/src/assets/icons/simple/radio.svg +8 -1
  664. package/src/assets/icons/simple/redo.svg +9 -1
  665. package/src/assets/icons/simple/relations.svg +28 -1
  666. package/src/assets/icons/simple/reload.svg +12 -1
  667. package/src/assets/icons/simple/remove-circle.svg +10 -1
  668. package/src/assets/icons/simple/remove.svg +6 -1
  669. package/src/assets/icons/simple/repeart.svg +14 -1
  670. package/src/assets/icons/simple/repository.svg +18 -1
  671. package/src/assets/icons/simple/request-form.svg +20 -1
  672. package/src/assets/icons/simple/resize-100%.svg +15 -1
  673. package/src/assets/icons/simple/resize-height.svg +12 -1
  674. package/src/assets/icons/simple/resize-width.svg +14 -1
  675. package/src/assets/icons/simple/search.svg +10 -1
  676. package/src/assets/icons/simple/sequential-prerequisites.svg +22 -1
  677. package/src/assets/icons/simple/settings.svg +17 -1
  678. package/src/assets/icons/simple/share.svg +21 -1
  679. package/src/assets/icons/simple/sketch.svg +13 -1
  680. package/src/assets/icons/simple/skills.svg +17 -1
  681. package/src/assets/icons/simple/skip-back.svg +14 -1
  682. package/src/assets/icons/simple/skip-forward.svg +14 -1
  683. package/src/assets/icons/simple/sms.svg +22 -1
  684. package/src/assets/icons/simple/sso-access.svg +20 -1
  685. package/src/assets/icons/simple/star-active.svg +6 -1
  686. package/src/assets/icons/simple/star.svg +6 -1
  687. package/src/assets/icons/simple/success.svg +12 -1
  688. package/src/assets/icons/simple/sun.svg +22 -1
  689. package/src/assets/icons/simple/sunrise.svg +18 -1
  690. package/src/assets/icons/simple/support.svg +18 -1
  691. package/src/assets/icons/simple/survey.svg +32 -1
  692. package/src/assets/icons/simple/table.svg +11 -1
  693. package/src/assets/icons/simple/tematic-channels.svg +15 -1
  694. package/src/assets/icons/simple/test.svg +23 -1
  695. package/src/assets/icons/simple/text-body.svg +7 -1
  696. package/src/assets/icons/simple/text-edit.svg +11 -1
  697. package/src/assets/icons/simple/text-style.svg +10 -1
  698. package/src/assets/icons/simple/time.svg +10 -1
  699. package/src/assets/icons/simple/toilet-paper.svg +17 -1
  700. package/src/assets/icons/simple/training-points.svg +18 -1
  701. package/src/assets/icons/simple/trash.svg +20 -1
  702. package/src/assets/icons/simple/underline.svg +9 -1
  703. package/src/assets/icons/simple/undo.svg +9 -1
  704. package/src/assets/icons/simple/unlock.svg +15 -1
  705. package/src/assets/icons/simple/upload.svg +10 -1
  706. package/src/assets/icons/simple/user-add.svg +18 -1
  707. package/src/assets/icons/simple/user-badge.svg +12 -1
  708. package/src/assets/icons/simple/user.svg +8 -1
  709. package/src/assets/icons/simple/video-off.svg +17 -1
  710. package/src/assets/icons/simple/video-on.svg +17 -1
  711. package/src/assets/icons/simple/video-rec.svg +20 -1
  712. package/src/assets/icons/simple/view-card.svg +12 -1
  713. package/src/assets/icons/simple/view-list.svg +20 -1
  714. package/src/assets/icons/simple/view.svg +17 -1
  715. package/src/assets/icons/simple/voice-off.svg +16 -1
  716. package/src/assets/icons/simple/voice-on.svg +16 -1
  717. package/src/assets/icons/simple/volume-down.svg +15 -1
  718. package/src/assets/icons/simple/volume-off.svg +16 -1
  719. package/src/assets/icons/simple/volume-up.svg +16 -1
  720. package/src/assets/icons/simple/warning.svg +14 -1
  721. package/src/assets/icons/simple/webinar.svg +19 -1
  722. package/src/assets/icons/simple/whiteboard.svg +16 -1
  723. package/src/assets/icons/simple/wine.svg +24 -1
  724. package/src/assets/icons/simple/zip.svg +22 -1
  725. package/src/assets/icons/simple/zoom-in.svg +18 -1
  726. package/src/assets/icons/simple/zoom-out.svg +17 -1
  727. package/src/assets/icons/simple.json +1 -1
  728. package/src/components/VvAccordion/VvAccordion.vue +16 -9
  729. package/src/components/VvAccordion/index.ts +5 -3
  730. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +16 -11
  731. package/src/components/VvAction/VvAction.vue +144 -0
  732. package/src/components/VvAction/index.ts +5 -0
  733. package/src/components/VvBadge/VvBadge.vue +3 -3
  734. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +5 -5
  735. package/src/components/VvButton/VvButton.vue +53 -100
  736. package/src/components/VvButton/index.ts +21 -94
  737. package/src/components/VvButtonGroup/VvButtonGroup.vue +7 -10
  738. package/src/components/VvCard/VvCard.vue +6 -3
  739. package/src/components/VvCheckbox/VvCheckbox.vue +17 -12
  740. package/src/components/VvCheckbox/index.ts +7 -5
  741. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +21 -19
  742. package/src/components/VvCombobox/VvCombobox.vue +330 -101
  743. package/src/components/VvCombobox/index.ts +63 -7
  744. package/src/components/VvDialog/VvDialog.vue +14 -6
  745. package/src/components/VvDialog/index.ts +18 -1
  746. package/src/components/VvDropdown/VvDropdown.vue +344 -95
  747. package/src/components/VvDropdown/VvDropdownAction.vue +44 -0
  748. package/src/components/VvDropdown/VvDropdownItem.vue +32 -0
  749. package/src/components/VvDropdown/VvDropdownOption.vue +65 -0
  750. package/src/components/VvDropdown/index.ts +20 -23
  751. package/src/components/VvIcon/VvIcon.vue +16 -16
  752. package/src/components/VvInputText/VvInputText.vue +45 -34
  753. package/src/components/VvProgress/VvProgress.vue +7 -5
  754. package/src/components/VvRadio/VvRadio.vue +16 -14
  755. package/src/components/VvRadio/index.ts +6 -3
  756. package/src/components/VvRadioGroup/VvRadioGroup.vue +20 -16
  757. package/src/components/VvSelect/VvSelect.vue +69 -56
  758. package/src/components/VvSelect/index.ts +4 -6
  759. package/src/components/VvTextarea/VvTextarea.vue +46 -33
  760. package/src/components/VvTooltip/VvTooltip.vue +16 -10
  761. package/src/components/VvTooltip/index.ts +8 -11
  762. package/src/components/common/HintSlot.ts +5 -4
  763. package/src/composables/dropdown/useInjectDropdown.ts +51 -0
  764. package/src/composables/dropdown/useProvideDropdown.ts +95 -0
  765. package/src/composables/group/useInjectedGroupState.ts +7 -7
  766. package/src/composables/group/useProvideGroupState.ts +3 -3
  767. package/src/composables/useComponentIcon.ts +41 -0
  768. package/src/composables/useModifiers.ts +28 -91
  769. package/src/composables/useOptions.ts +11 -3
  770. package/src/composables/useUniqueId.ts +5 -0
  771. package/src/composables/useVolver.ts +6 -0
  772. package/src/constants.ts +74 -5
  773. package/src/directives/index.ts +5 -0
  774. package/src/directives/v-tooltip.ts +15 -0
  775. package/src/index.ts +1 -1
  776. package/src/props/index.ts +222 -26
  777. package/src/resolvers/unplugin.ts +83 -47
  778. package/src/shims.d.ts +1 -1
  779. package/src/stories/Accordion/Accordion.stories.mdx +9 -7
  780. package/src/stories/Accordion/Accordion.test.ts +1 -1
  781. package/src/stories/Accordion/AccordionSlots.stories.mdx +2 -2
  782. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +6 -4
  783. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +12 -9
  784. package/src/stories/Badge/Badge.stories.mdx +4 -3
  785. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +6 -4
  786. package/src/stories/Breadcrumb/Breadcrumb.test.ts +14 -12
  787. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +8 -8
  788. package/src/stories/Button/Button.stories.mdx +10 -8
  789. package/src/stories/Button/Button.test.ts +9 -7
  790. package/src/stories/Button/ButtonModifiers.stories.mdx +4 -4
  791. package/src/stories/Button/ButtonSlots.stories.mdx +20 -15
  792. package/src/stories/Button/ButtonState.stories.mdx +2 -11
  793. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +2 -2
  794. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.mdx +2 -2
  795. package/src/stories/Card/Card.stories.mdx +4 -3
  796. package/src/stories/Card/Card.test.ts +1 -1
  797. package/src/stories/Card/CardSlots.stories.mdx +2 -2
  798. package/src/stories/Checkbox/Checkbox.stories.mdx +9 -8
  799. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +9 -8
  800. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +11 -10
  801. package/src/stories/Combobox/Combobox.settings.ts +155 -4
  802. package/src/stories/Combobox/Combobox.stories.mdx +125 -5
  803. package/src/stories/Combobox/Combobox.test.ts +2 -2
  804. package/src/stories/Combobox/ComboboxIconPosition.stories.mdx +78 -0
  805. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +1 -2
  806. package/src/stories/Combobox/ComboboxSlots.stories.mdx +107 -2
  807. package/src/stories/Dialog/Dialog.stories.mdx +4 -3
  808. package/src/stories/Dialog/Dialog.test.ts +4 -4
  809. package/src/stories/Dropdown/Dropdown.settings.ts +55 -36
  810. package/src/stories/Dropdown/Dropdown.stories.mdx +60 -59
  811. package/src/stories/Dropdown/Dropdown.test.ts +10 -32
  812. package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +56 -0
  813. package/src/stories/Dropdown/DropdownSlots.stories.mdx +114 -0
  814. package/src/stories/Icon/Icon.stories.mdx +3 -2
  815. package/src/stories/Icon/IconsCollection.stories.mdx +4 -3
  816. package/src/stories/InputText/InputText.settings.ts +2 -1
  817. package/src/stories/InputText/InputText.stories.mdx +9 -5
  818. package/src/stories/InputText/InputTextIconPosition.stories.mdx +2 -2
  819. package/src/stories/InputText/InputTextSlots.stories.mdx +2 -2
  820. package/src/stories/Progress/Progress.stories.mdx +5 -2
  821. package/src/stories/Progress/Progress.test.ts +1 -1
  822. package/src/stories/Radio/Radio.stories.mdx +3 -2
  823. package/src/stories/RadioGroup/RadioGroup.stories.mdx +9 -8
  824. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +11 -10
  825. package/src/stories/Select/Select.settings.ts +2 -2
  826. package/src/stories/Select/Select.stories.mdx +5 -4
  827. package/src/stories/Select/SelectIconPosition.stories.mdx +78 -0
  828. package/src/stories/Select/SelectSlots.stories.mdx +2 -2
  829. package/src/stories/Textarea/Textarea.settings.ts +2 -1
  830. package/src/stories/Textarea/Textarea.stories.mdx +6 -5
  831. package/src/stories/Textarea/TextareaSlots.stories.mdx +2 -2
  832. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +2 -2
  833. package/src/stories/Tooltip/Tooltip.settings.ts +13 -13
  834. package/src/stories/Tooltip/Tooltip.stories.mdx +26 -22
  835. package/src/stories/Tooltip/Tooltip.test.ts +22 -13
  836. package/src/stories/Tooltip/TooltipDirective.stories.mdx +99 -0
  837. package/src/stories/argTypes.ts +153 -4
  838. package/src/types/floating-ui.d.ts +7 -0
  839. package/src/types/generic.d.ts +0 -1
  840. package/src/types/group.d.ts +37 -0
  841. package/src/utils/ObjectUtilities.ts +4 -1
  842. package/dist/composables/group/types/IAccordionGroupState.d.ts +0 -9
  843. package/dist/composables/group/types/IButtonGroupState.d.ts +0 -13
  844. package/dist/composables/group/types/IGroupState.d.ts +0 -8
  845. package/dist/composables/group/types/IInputGroup.d.ts +0 -8
  846. package/dist/composables/useComponentIcons.d.ts +0 -27
  847. package/src/composables/group/types/IAccordionGroupState.ts +0 -10
  848. package/src/composables/group/types/IButtonGroupState.ts +0 -14
  849. package/src/composables/group/types/IGroupState.ts +0 -10
  850. package/src/composables/group/types/IInputGroup.ts +0 -9
  851. package/src/composables/useComponentIcons.ts +0 -96
  852. package/src/directives/.gitkeep +0 -0
  853. package/src/stories/Dropdown/DropdownOptions.stories.mdx +0 -96
@@ -1,251 +1,1044 @@
1
- import { defineComponent as J, openBlock as f, createElementBlock as P, unref as t, normalizeClass as te, createElementVNode as O, toDisplayString as A, createCommentVNode as B, Fragment as oe, renderList as ce, withModifiers as _e, createTextVNode as pe, createBlock as L, mergeProps as N, renderSlot as U, normalizeProps as ie, withDirectives as me, isRef as fe, vModelSelect as Ie, createVNode as ee, withKeys as ue, vModelText as Be } from "vue";
2
- import { nanoid as le } from "nanoid";
3
- import { iconExists as z, Icon as Ce, addIcon as ke } from "@iconify/vue";
4
- const ve = {
1
+ import { inject as Ze, computed as i, unref as o, defineComponent as ne, ref as P, toRefs as Q, openBlock as p, createBlock as x, mergeProps as j, createCommentVNode as k, h as et, Fragment as K, provide as tt, useAttrs as Pt, watch as Y, nextTick as Ee, createElementBlock as g, createVNode as pe, withCtx as F, renderSlot as O, normalizeProps as T, guardReactiveProps as M, Transition as It, withDirectives as Te, createElementVNode as G, normalizeStyle as Je, normalizeClass as _e, vShow as lt, createTextVNode as J, toDisplayString as D, useSlots as ot, isRef as Ne, renderList as Le, vModelSelect as Bt, createSlots as At, withModifiers as Dt, vModelText as Ct } from "vue";
2
+ import { iconExists as $e, Icon as Nt, addIcon as Lt } from "@iconify/vue";
3
+ import { autoPlacement as Ye, flip as Ge, shift as Qe, size as Xe, offset as Ce, arrow as jt, useFloating as Ht, autoUpdate as Ft } from "@floating-ui/vue";
4
+ import { nanoid as xt } from "nanoid";
5
+ import { useVModel as Tt, onClickOutside as Mt, useFocusWithin as Me, onKeyStroke as ye, useElementHover as Rt, useFocus as nt, toReactive as Wt, useElementVisibility as Kt, refDebounced as zt } from "@vueuse/core";
6
+ import qt from "mitt";
7
+ var de = /* @__PURE__ */ ((t) => (t.left = "left", t.right = "right", t.top = "top", t.bottom = "bottom", t))(de || {}), at = /* @__PURE__ */ ((t) => (t.topStart = "top-start", t.topEnd = "top-end", t.bottomStart = "bottom-start", t.bottomEnd = "bottom-end", t.leftStart = "left-start", t.leftEnd = "left-end", t.rightStart = "right-start", t.rightEnd = "right-end", t))(at || {}), he = /* @__PURE__ */ ((t) => (t.before = "before", t.after = "after", t))(he || {}), je = /* @__PURE__ */ ((t) => (t.button = "button", t.submit = "submit", t.reset = "reset", t))(je || {}), st = /* @__PURE__ */ ((t) => (t.button = "button", t.link = "link", t.menuitem = "menuitem", t))(st || {}), Se = /* @__PURE__ */ ((t) => (t.listbox = "listbox", t.menu = "menu", t))(Se || {}), He = /* @__PURE__ */ ((t) => (t.option = "option", t.presentation = "presentation", t))(He || {}), rt = /* @__PURE__ */ ((t) => (t._blank = "_blank", t._self = "_self", t._parent = "_parent", t._top = "_top", t))(rt || {});
8
+ const Ut = Symbol.for("volver"), Jt = Symbol.for("dropdownTrigger"), it = Symbol.for("dropdownItem"), Yt = Symbol.for("dropdownAction"), Gt = {
9
+ /**
10
+ * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
11
+ * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
12
+ */
13
+ to: {
14
+ type: [String, Object]
15
+ },
16
+ /**
17
+ * Anchor href
18
+ */
19
+ href: String,
20
+ /**
21
+ * Anchor target
22
+ */
23
+ target: {
24
+ type: String,
25
+ validator: (t) => Object.values(rt).includes(t)
26
+ },
27
+ /**
28
+ * Anchor rel
29
+ */
30
+ rel: {
31
+ type: String,
32
+ default: "noopener noreferrer"
33
+ }
34
+ }, ut = {
35
+ /**
36
+ * Valid status
37
+ */
5
38
  valid: Boolean,
39
+ /**
40
+ * Valid label
41
+ */
6
42
  validLabel: [String, Array]
7
- }, be = {
43
+ }, dt = {
44
+ /**
45
+ * Invalid status
46
+ */
8
47
  invalid: Boolean,
48
+ /**
49
+ * Invalid label
50
+ */
9
51
  invalidLabel: [String, Array]
10
- }, he = {
52
+ }, ct = {
53
+ /**
54
+ * Loading status
55
+ */
11
56
  loading: Boolean,
12
- loadingLabel: String
13
- }, ne = {
57
+ /**
58
+ * Loading label
59
+ */
60
+ loadingLabel: {
61
+ type: String,
62
+ default: "Loading..."
63
+ }
64
+ }, Ae = {
65
+ /**
66
+ * Whether the form control is disabled
67
+ */
14
68
  disabled: Boolean
15
- }, ge = {
69
+ }, Qt = {
70
+ /**
71
+ * Whether the item is selected
72
+ */
73
+ selected: Boolean
74
+ }, Xt = {
75
+ /**
76
+ * Whether the item is active
77
+ */
78
+ active: Boolean
79
+ }, Zt = {
80
+ /**
81
+ * Whether the item is pressed
82
+ */
83
+ pressed: Boolean
84
+ }, Re = {
85
+ /**
86
+ * The item label
87
+ */
88
+ label: [String, Number]
89
+ }, ft = {
90
+ /**
91
+ * The value is not editable
92
+ */
16
93
  readonly: Boolean
17
- }, se = {
94
+ }, Ve = {
95
+ /**
96
+ * Component BEM modifiers
97
+ */
18
98
  modifiers: [String, Array]
19
- }, ye = {
99
+ }, vt = {
20
100
  hintLabel: { type: String, default: "" }
21
- }, ae = {
101
+ }, pt = {
102
+ /**
103
+ * List of options, can be string[] or object[]
104
+ */
22
105
  options: {
23
106
  type: Array,
24
107
  default: () => []
25
108
  },
109
+ /**
110
+ * Used when options are objects: key to use for option label
111
+ */
26
112
  labelKey: { type: [String, Function], default: "label" },
27
- valueKey: { type: [String, Function], default: "value" }
28
- }, de = {
29
- LEFT: "left",
30
- RIGHT: "right"
31
- }, Ve = {
113
+ /**
114
+ * Used when options are objects: key to use for option label
115
+ */
116
+ valueKey: { type: [String, Function], default: "value" },
117
+ /**
118
+ * Used when options are objects: key to use for option disabled
119
+ */
120
+ disabledKey: { type: [String, Function], default: "disabled" }
121
+ }, mt = {
122
+ /**
123
+ * VvIcon name or props
124
+ * @see VVIcon
125
+ */
32
126
  icon: { type: [String, Object] },
127
+ /**
128
+ * VvIcon position
129
+ */
33
130
  iconPosition: {
34
131
  type: String,
35
- validation: (y) => Object.values(de).includes(y),
36
- default: de.RIGHT
132
+ default: he.before,
133
+ validation: (t) => Object.values(he).includes(t)
37
134
  }
38
- }, Se = {
135
+ }, bt = {
136
+ /**
137
+ * Global attribute tabindex
138
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
139
+ */
39
140
  tabindex: { type: [String, Number], default: 0 }
40
- }, $e = {
141
+ }, yt = {
142
+ /**
143
+ * If true the label will be floating
144
+ */
41
145
  floating: Boolean
42
- }, Pe = {
146
+ }, We = {
147
+ /**
148
+ * If true the input will be unselectable
149
+ */
43
150
  unselectable: { type: Boolean, default: !0 }
44
- }, re = {
45
- id: [String, Number],
151
+ }, gt = {
152
+ /**
153
+ * Global attribute id
154
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
155
+ */
156
+ id: [String, Number]
157
+ }, Fe = {
158
+ /**
159
+ * Dropdown placement
160
+ */
161
+ placement: {
162
+ type: String,
163
+ default: de.bottom,
164
+ validator: (t) => Object.values(de).includes(t) || Object.values(at).includes(t)
165
+ },
166
+ /**
167
+ * Dropdown show / hide transition name
168
+ */
169
+ transitionName: {
170
+ type: String
171
+ },
172
+ /**
173
+ * Offset of the dropdown from the trigger
174
+ * @see https://floating-ui.com/docs/offset
175
+ */
176
+ offset: {
177
+ type: [Number, String, Object],
178
+ default: 0
179
+ },
180
+ /**
181
+ * Move dropdown to the side if there is no space in the default position
182
+ * @see https://floating-ui.com/docs/shift
183
+ */
184
+ shift: {
185
+ type: [Boolean, Object],
186
+ default: !1
187
+ },
188
+ /**
189
+ * Flip dropdown position if there is no space in the default position
190
+ * @see https://floating-ui.com/docs/flip
191
+ */
192
+ flip: {
193
+ type: [Boolean, Object],
194
+ default: !0
195
+ },
196
+ /**
197
+ * Size of the dropdown
198
+ * @see https://floating-ui.com/docs/size
199
+ */
200
+ size: {
201
+ type: [Boolean, Object],
202
+ default: () => ({ padding: 10 })
203
+ },
204
+ /**
205
+ * Automatically change the position of the dropdown
206
+ * @see https://floating-ui.com/docs/autoPlacement
207
+ */
208
+ autoPlacement: {
209
+ type: [Boolean, Object],
210
+ default: !1
211
+ },
212
+ /**
213
+ * Add arrow to the dropdown
214
+ * @see https://floating-ui.com/docs/arrow
215
+ */
216
+ arrow: {
217
+ type: Boolean,
218
+ default: !1
219
+ },
220
+ /**
221
+ * Close dropdown on click outside
222
+ */
223
+ autoClose: {
224
+ type: Boolean,
225
+ default: !0
226
+ },
227
+ /**
228
+ * Autofocus first item on dropdown open
229
+ */
230
+ autofocusFirst: {
231
+ type: Boolean,
232
+ default: !0
233
+ },
234
+ /**
235
+ * Set dropdown width to the same as the trigger
236
+ */
237
+ triggerWidth: {
238
+ type: Boolean
239
+ }
240
+ }, ht = {
241
+ ...gt,
242
+ /**
243
+ * Input / Textarea name
244
+ * Name of the form control. Submitted with the form as part of a name/value pair
245
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name
246
+ */
46
247
  name: { type: String, required: !0 }
47
- }, Ne = {
248
+ }, el = {
249
+ /**
250
+ * Global attribute autofocus
251
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
252
+ */
48
253
  autofocus: Boolean
49
- }, Oe = {
254
+ }, tl = {
255
+ /**
256
+ * Global attribute autocomplete
257
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
258
+ */
50
259
  autocomplete: { type: String, default: "off" }
51
- }, Ae = {
52
- ...re,
53
- ...ae,
54
- ...ne,
55
- ...se,
260
+ };
261
+ ({
262
+ ...Ae,
263
+ ...Re,
264
+ ...Zt,
265
+ ...Xt,
266
+ ...Gt,
267
+ /**
268
+ * Button type
269
+ */
270
+ type: je.button
271
+ });
272
+ const ll = [
273
+ "update:modelValue",
274
+ "change:search",
275
+ "focus",
276
+ "blur"
277
+ ], ol = {
278
+ ...ht,
279
+ ...bt,
280
+ ...ut,
281
+ ...dt,
282
+ ...vt,
283
+ ...ct,
284
+ ...Ae,
285
+ ...ft,
286
+ ...Ve,
287
+ ...pt,
288
+ ...mt,
289
+ ...yt,
290
+ ...We,
291
+ ...Fe,
292
+ ...Re,
293
+ /**
294
+ * modelValue can be a string, number, boolean, object or array of string, number, boolean, object
295
+ */
56
296
  modelValue: {
57
- type: [String, Number, Boolean, Object, Array]
297
+ type: [String, Number, Boolean, Object, Array],
298
+ default: void 0
299
+ },
300
+ /**
301
+ * Label for no search results
302
+ */
303
+ noResultsLabel: { type: String, default: "No results" },
304
+ /**
305
+ * Label for no options available
306
+ */
307
+ noOptionsLabel: { type: String, default: "No options available" },
308
+ /**
309
+ * Label for selected option hint
310
+ */
311
+ selectedHintLabel: { type: String, default: "Selected" },
312
+ /**
313
+ * Label for deselect action button
314
+ */
315
+ deselectActionLabel: { type: String, default: "Deselect" },
316
+ /**
317
+ * Label for select option hint
318
+ */
319
+ selectHintLabel: { type: String, default: "Press enter to select" },
320
+ /**
321
+ * Label for deselected option hint
322
+ */
323
+ deselectHintLabel: { type: String, default: "Press enter to remove" },
324
+ /**
325
+ * Select input placeholder
326
+ */
327
+ placeholder: String,
328
+ /**
329
+ * Use input text to search on options
330
+ */
331
+ searchable: Boolean,
332
+ /**
333
+ * On searchable select is the input search placeholder
334
+ */
335
+ searchPlaceholder: {
336
+ type: String,
337
+ default: "Search..."
338
+ },
339
+ /**
340
+ * The input search debounce time in ms
341
+ */
342
+ debounceSearch: {
343
+ type: [Number, String],
344
+ default: 0
58
345
  },
59
- labelNoResults: { type: String, default: "No results" },
346
+ /**
347
+ * Manage modelValue as string[] or object[]
348
+ */
60
349
  multiple: Boolean,
350
+ /**
351
+ * The max number of selected values
352
+ */
61
353
  maxValues: [Number, String],
62
- unselectable: { type: Boolean, default: !0 }
63
- }, De = ["id"], Re = {
64
- key: 0,
65
- role: "option"
66
- }, Fe = ["aria-selected"], Le = ["for", "onClick"], Ee = ["id", "type", "value", "checked", "disabled", "name"], Ke = {
67
- name: "VvDropdown"
68
- }, Me = /* @__PURE__ */ J({
69
- ...Ke,
70
- props: Ae,
71
- emits: ["update:modelValue"],
72
- setup(y, { emit: r }) {
73
- const e = y, V = computed(() => String(e.id || le())), { modifiers: d, disabled: p } = toRefs(e), { getOptionLabel: s, getOptionValue: S } = useOptions(e), { bemCssClasses: g } = useBemModifiers("vv-dropdown", {
74
- modifiers: d,
75
- disabled: p
76
- });
77
- function c(n) {
78
- return Array.isArray(e.modelValue) ? contains(n, e.modelValue) || contains(S(n), e.modelValue) : equals(n, e.modelValue) || equals(S(n), e.modelValue);
79
- }
80
- function o(n) {
81
- return typeof n == "string" || n.disabled === void 0 ? p.value : n.disabled;
82
- }
83
- function l(n) {
84
- var v;
85
- if (e.disabled)
86
- return;
87
- let i = n;
88
- if (e.multiple)
89
- if (Array.isArray(e.modelValue)) {
90
- if (e.maxValues !== void 0 && e.maxValues >= 0 && ((v = e.modelValue) == null ? void 0 : v.length) >= e.maxValues && !contains(n, e.modelValue))
91
- return;
92
- i = contains(n, e.modelValue) ? removeFromList(n, e.modelValue) : [...e.modelValue, n];
93
- } else
94
- i = [n];
95
- else
96
- e.unselectable && n === e.modelValue && (i = void 0);
97
- r("update:modelValue", i);
98
- }
99
- return (n, i) => {
100
- var v;
101
- return f(), P("ul", {
102
- id: t(V),
103
- class: te(t(g)),
104
- role: "listbox"
105
- }, [
106
- (v = n.options) != null && v.length ? B("", !0) : (f(), P("li", Re, [
107
- O("label", null, A(n.labelNoResults), 1)
108
- ])),
109
- (f(!0), P(oe, null, ce(n.options, (m, $) => (f(), P("li", {
110
- key: $,
111
- role: "option",
112
- "aria-selected": c(m)
113
- }, [
114
- O("label", {
115
- for: `dropdown-${$}-${t(V)}`,
116
- onClick: _e((_) => l(t(S)(m)), ["prevent"])
117
- }, [
118
- O("input", {
119
- id: `dropdown-${$}-${t(V)}`,
120
- type: n.multiple ? "checkbox" : "radio",
121
- value: t(S)(m),
122
- checked: c(m),
123
- disabled: o(m),
124
- name: n.name,
125
- tabindex: "-1",
126
- "aria-hidden": "true"
127
- }, null, 8, Ee),
128
- pe(" " + A(t(s)(m)), 1)
129
- ], 8, Le)
130
- ], 8, Fe))), 128))
131
- ], 10, De);
132
- };
133
- }
134
- }), Te = "ds", He = {
354
+ /**
355
+ * The select label separator visible to the user
356
+ */
357
+ separator: { type: String, default: ", " },
358
+ /**
359
+ * Show native select
360
+ */
361
+ native: Boolean,
362
+ /**
363
+ * Show badges
364
+ */
365
+ badges: Boolean,
366
+ /**
367
+ * Badge modifiers
368
+ */
369
+ badgeModifiers: {
370
+ type: [String, Array],
371
+ default: "action sm"
372
+ },
373
+ /**
374
+ * Set dropdown width to the same as the trigger
375
+ */
376
+ triggerWidth: {
377
+ ...Fe.triggerWidth,
378
+ default: !0
379
+ },
380
+ /**
381
+ * Dropdown modifiers
382
+ */
383
+ dropdownModifiers: {
384
+ type: [String, Array]
385
+ },
386
+ /**
387
+ * Open dropdown on focus
388
+ */
389
+ autoOpen: Boolean,
390
+ /**
391
+ * Close dropdown on select (not multiple)
392
+ */
393
+ autoClose: Boolean
394
+ }, nl = {
395
+ /**
396
+ * Color
397
+ */
135
398
  color: String,
399
+ /**
400
+ * Width
401
+ */
136
402
  width: {
137
403
  type: [String, Number]
138
404
  },
405
+ /**
406
+ * Height
407
+ */
139
408
  height: {
140
409
  type: [String, Number]
141
410
  },
411
+ /**
412
+ * Icon name
413
+ * Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
414
+ * https://docs.iconify.design/api/providers.html#provider-in-icon-name
415
+ */
142
416
  name: {
143
417
  type: String,
144
418
  required: !0
145
419
  },
420
+ /**
421
+ * By default 'vv'
422
+ * If custom collection is not added with "addCollection" DS class method, this prop could not be used
423
+ * Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
424
+ */
146
425
  provider: {
147
426
  type: String
148
427
  },
428
+ /**
429
+ * The name of icon set.
430
+ * Icon default options prefix: simple | normal | detailed
431
+ */
149
432
  prefix: {
150
433
  type: String,
151
434
  default: "normal"
152
435
  },
436
+ /**
437
+ * Url remote SVG icon
438
+ */
153
439
  src: String,
440
+ /**
441
+ * Horizontal flip
442
+ */
154
443
  horizontalFlip: Boolean,
444
+ /**
445
+ * Vertical flip
446
+ */
155
447
  verticalFlip: Boolean,
448
+ /**
449
+ * String alternative to "horizontalFlip" and "verticalFlip".
450
+ * Example: https://docs.iconify.design/icon-components/vue/transform.html
451
+ */
156
452
  flip: String,
453
+ /**
454
+ * Icon render mode
455
+ * 'style' = 'bg' or 'mask', depending on icon content
456
+ * 'bg' = span with style using `background`
457
+ * 'mask' = span with style using `mask`
458
+ * 'svg' = svg
459
+ * Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
460
+ */
157
461
  mode: String,
462
+ /**
463
+ * Toggles inline or block mode
464
+ * Example https://docs.iconify.design/icon-components/vue/inline.html
465
+ */
158
466
  inline: Boolean,
467
+ /**
468
+ * rotates icon
469
+ * Example https://docs.iconify.design/icon-components/vue/transform.html
470
+ */
159
471
  rotate: [Number, String],
472
+ /**
473
+ * A callback that is called when icon data has been loaded
474
+ */
160
475
  onLoad: Function,
476
+ /**
477
+ * SVG icon string
478
+ */
161
479
  svg: String,
480
+ /**
481
+ * Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
482
+ * @values string | Array<string>
483
+ */
162
484
  modifiers: {
163
485
  type: [String, Array]
164
486
  }
165
- }, je = {
487
+ };
488
+ function al() {
489
+ return Ze(Ut);
490
+ }
491
+ function me(t, l, e) {
492
+ return i(() => {
493
+ const s = {
494
+ [t]: !0
495
+ }, n = typeof (l == null ? void 0 : l.value) == "string" ? l.value.split(" ") : l == null ? void 0 : l.value;
496
+ return n && Array.isArray(n) && n.forEach((f) => {
497
+ s[`${t}--${f}`] = !0;
498
+ }), e && Object.keys(e.value).forEach((f) => {
499
+ s[`${t}--${f}`] = o(e.value[f]);
500
+ }), s;
501
+ });
502
+ }
503
+ const sl = {
166
504
  name: "VvIcon"
167
- }, G = /* @__PURE__ */ J({
168
- ...je,
169
- props: He,
170
- setup(y) {
171
- const r = y, e = ref(!0), { modifiers: V } = toRefs(r), d = inject(Te), { bemCssClasses: p } = useBemModifiers("vv-icon", {
172
- modifiers: V
173
- }), s = computed(() => r.provider || (d == null ? void 0 : d.provider)), S = computed(() => {
174
- const o = r.name ?? "", l = `@${s.value}:${r.prefix}:${r.name}`;
175
- return z(o) ? o : z(l) ? l : (d == null ? void 0 : d.iconsCollections.find((n) => {
176
- const i = `@${s.value}:${n.prefix}:${o}`;
177
- if (z(i))
178
- return i;
179
- })) || o;
505
+ }, ge = /* @__PURE__ */ ne({
506
+ ...sl,
507
+ props: nl,
508
+ setup(t) {
509
+ const l = t, e = P(!0), s = al(), { modifiers: n } = Q(l), f = me("vv-icon", n), d = i(() => l.provider || (s == null ? void 0 : s.provider)), b = i(() => {
510
+ const u = l.name ?? "", c = `@${d.value}:${l.prefix}:${l.name}`;
511
+ return $e(u) ? u : $e(c) ? c : (s == null ? void 0 : s.iconsCollections.find(
512
+ (m) => {
513
+ const V = `@${d.value}:${m.prefix}:${u}`;
514
+ if ($e(V))
515
+ return V;
516
+ }
517
+ )) || u;
180
518
  });
181
- function g(o) {
182
- let l = null;
519
+ function v(u) {
520
+ let c = null;
183
521
  if (typeof window > "u") {
184
- const { JSDOM: m } = require("jsdom");
185
- l = new m().window;
522
+ const { JSDOM: B } = require("jsdom");
523
+ c = new B().window;
186
524
  }
187
- return (l ? new l.DOMParser() : new window.DOMParser()).parseFromString(o, "text/html").querySelector("svg");
525
+ return (c ? new c.DOMParser() : new window.DOMParser()).parseFromString(u, "text/html").querySelector("svg");
188
526
  }
189
- function c(o) {
190
- const l = g(o), n = (l == null ? void 0 : l.innerHTML.trim()) || "";
191
- l && n && ke(`@${s.value}:${r.prefix}:${r.name}`, {
192
- body: n,
193
- height: l.viewBox.baseVal.height,
194
- width: l.viewBox.baseVal.width
527
+ function y(u) {
528
+ const c = v(u), m = (c == null ? void 0 : c.innerHTML.trim()) || "";
529
+ c && m && Lt(`@${d.value}:${l.prefix}:${l.name}`, {
530
+ body: m,
531
+ // Set height and width from svg content
532
+ height: c.viewBox.baseVal.height,
533
+ width: c.viewBox.baseVal.width
195
534
  });
196
535
  }
197
- return d && (r.src && !z(`@${s.value}:${r.prefix}:${r.name}`) ? (e.value = !1, d.fetchIcon(r.src).then((o) => {
198
- o && (c(o), e.value = !0);
199
- }).catch((o) => {
200
- throw new Error(`During fetch icon: ${o == null ? void 0 : o.message}`);
201
- })) : r.svg && c(r.svg)), (o, l) => t(e) ? (f(), L(t(Ce), N({
536
+ return s && (l.src && !$e(`@${d.value}:${l.prefix}:${l.name}`) ? (e.value = !1, s.fetchIcon(l.src).then((u) => {
537
+ u && (y(u), e.value = !0);
538
+ }).catch((u) => {
539
+ throw new Error(`During fetch icon: ${u == null ? void 0 : u.message}`);
540
+ })) : l.svg && y(l.svg)), (u, c) => o(e) ? (p(), x(o(Nt), j({
202
541
  key: 0,
203
- class: t(p)
542
+ class: o(f)
204
543
  }, {
205
- inline: o.inline,
206
- width: o.width,
207
- height: o.height,
208
- horizontalFlip: o.horizontalFlip,
209
- verticalFlip: o.verticalFlip,
210
- flip: o.flip,
211
- rotate: o.rotate,
212
- color: o.color,
213
- onLoad: o.onLoad,
214
- icon: t(S)
215
- }), null, 16, ["class"])) : B("", !0);
544
+ inline: u.inline,
545
+ width: u.width,
546
+ height: u.height,
547
+ horizontalFlip: u.horizontalFlip,
548
+ verticalFlip: u.verticalFlip,
549
+ flip: u.flip,
550
+ rotate: u.rotate,
551
+ color: u.color,
552
+ onLoad: u.onLoad,
553
+ icon: o(b)
554
+ }), null, 16, ["class"])) : k("", !0);
555
+ }
556
+ }), rl = {
557
+ ...gt,
558
+ ...Ve,
559
+ ...Fe,
560
+ /**
561
+ * Show / hide dropdown programmatically
562
+ */
563
+ modelValue: {
564
+ type: Boolean,
565
+ default: void 0
566
+ },
567
+ /**
568
+ * Dropdown trigger element
569
+ */
570
+ reference: {
571
+ type: Object,
572
+ default: null
573
+ },
574
+ /**
575
+ * Dropdown role
576
+ */
577
+ role: {
578
+ type: String,
579
+ default: Se.menu,
580
+ validator: (t) => Object.values(Se).includes(t)
581
+ }
582
+ }, Ke = (t) => i(() => String((t == null ? void 0 : t.value) || xt()));
583
+ function il({
584
+ reference: t,
585
+ id: l,
586
+ expanded: e,
587
+ aria: s
588
+ }) {
589
+ const n = qt(), f = ne({
590
+ name: "VvDropdownTriggerProvider",
591
+ provide() {
592
+ return {
593
+ [Jt]: {
594
+ reference: t,
595
+ id: l,
596
+ expanded: e,
597
+ aria: s,
598
+ bus: n
599
+ }
600
+ };
601
+ },
602
+ setup() {
603
+ return {};
604
+ },
605
+ render() {
606
+ var d, b;
607
+ return et(K, {}, (b = (d = this.$slots).default) == null ? void 0 : b.call(d));
608
+ }
609
+ });
610
+ return {
611
+ bus: n,
612
+ component: f
613
+ };
614
+ }
615
+ function ul({
616
+ role: t,
617
+ expanded: l
618
+ }) {
619
+ const e = i(
620
+ () => t.value === Se.listbox ? He.option : He.presentation
621
+ );
622
+ return tt(it, {
623
+ role: e,
624
+ expanded: l
625
+ }), { itemRole: e };
626
+ }
627
+ function dl({
628
+ expanded: t
629
+ }) {
630
+ tt(Yt, {
631
+ role: st.menuitem,
632
+ expanded: t
633
+ });
634
+ }
635
+ const cl = ["id", "tabindex", "role", "aria-labelledby"], fl = {
636
+ name: "VvDropdown",
637
+ inheritAttrs: !1
638
+ }, St = /* @__PURE__ */ ne({
639
+ ...fl,
640
+ props: rl,
641
+ emits: ["update:modelValue"],
642
+ setup(t, { emit: l }) {
643
+ const e = t, { id: s } = Q(e), n = Ke(s), f = Pt(), d = P("auto"), b = P("auto"), v = P(null), y = P(null), u = P(null), c = P(null), m = i({
644
+ get: () => e.reference ?? v.value,
645
+ set: (a) => {
646
+ v.value = a;
647
+ }
648
+ }), V = i(() => {
649
+ const a = [];
650
+ if (e.autoPlacement ? typeof e.autoPlacement == "boolean" ? a.push(Ye()) : a.push(
651
+ Ye(e.autoPlacement)
652
+ ) : e.flip && (typeof e.flip == "boolean" ? a.push(Ge()) : a.push(Ge(e.flip))), e.shift && (typeof e.shift == "boolean" ? a.push(Qe()) : a.push(Qe(e.shift))), e.size) {
653
+ const _ = ({
654
+ availableWidth: W,
655
+ availableHeight: ie
656
+ }) => {
657
+ d.value = `${W}px`, b.value = `${ie}px`;
658
+ };
659
+ typeof e.size == "boolean" ? a.push(
660
+ Xe({
661
+ apply: _
662
+ })
663
+ ) : a.push(
664
+ Xe({
665
+ ...e.size,
666
+ apply: _
667
+ })
668
+ );
669
+ }
670
+ return e.offset && (a.push(Ce(Number(e.offset))), ["string", "number"].includes(typeof e.offset) ? a.push(Ce(Number(e.offset))) : a.push(Ce(e.offset))), e.arrow && a.push(
671
+ jt({
672
+ element: u
673
+ })
674
+ ), a;
675
+ }), { x: E, y: B, strategy: X, middlewareData: R, placement: Z } = Ht(
676
+ m,
677
+ y,
678
+ {
679
+ whileElementsMounted: Ft,
680
+ placement: e.placement,
681
+ middleware: V
682
+ }
683
+ ), z = i(() => ({
684
+ position: X.value,
685
+ top: `${B.value ?? 0}px`,
686
+ left: `${E.value ?? 0}px`,
687
+ maxWidth: d.value,
688
+ maxHeight: b.value,
689
+ width: e.triggerWidth && m.value ? `${m.value.offsetWidth}px` : void 0
690
+ })), C = i(() => Z.value.split("-")[0]), A = i(
691
+ () => ({
692
+ top: "bottom",
693
+ right: "left",
694
+ bottom: "top",
695
+ left: "right"
696
+ })[C.value] ?? "bottom"
697
+ ), H = i(() => {
698
+ var a, _, W, ie;
699
+ return ["bottom", "top"].includes(A.value) ? {
700
+ right: `${((a = R.value.arrow) == null ? void 0 : a.x) ?? 0}px`,
701
+ [A.value]: `${-(((_ = u.value) == null ? void 0 : _.offsetWidth) ?? 0) / 2}px`
702
+ } : {
703
+ top: `${((W = R.value.arrow) == null ? void 0 : W.y) ?? 0}px`,
704
+ [A.value]: `${-(((ie = u.value) == null ? void 0 : ie.offsetWidth) ?? 0) / 2}px`
705
+ };
706
+ }), q = Tt(e, "modelValue", l), ee = P(!1), h = i({
707
+ get: () => q.value ?? ee.value,
708
+ set: (a) => {
709
+ if (q.value === void 0) {
710
+ ee.value = a;
711
+ return;
712
+ }
713
+ q.value = a;
714
+ }
715
+ }), U = () => {
716
+ h.value = !0;
717
+ }, N = () => {
718
+ h.value = !1;
719
+ }, ae = () => {
720
+ h.value = !h.value;
721
+ }, ce = (a) => {
722
+ m.value = a;
723
+ };
724
+ Y(h, (a) => {
725
+ a && e.autofocusFirst && Ee(() => {
726
+ const _ = I(
727
+ y.value
728
+ );
729
+ _.length > 0 && _[0].focus();
730
+ });
731
+ }), Mt(
732
+ y,
733
+ () => {
734
+ e.autoClose && (h.value = !1);
735
+ },
736
+ { ignore: [m] }
737
+ );
738
+ const fe = i(() => {
739
+ var a;
740
+ return ((a = m.value) == null ? void 0 : a.getAttribute("id")) ?? void 0;
741
+ }), te = i(() => ({
742
+ "aria-controls": n.value,
743
+ "aria-haspopup": !0,
744
+ "aria-expanded": h.value
745
+ })), { component: se, bus: ve } = il({
746
+ reference: m,
747
+ id: n,
748
+ expanded: h,
749
+ aria: te
750
+ });
751
+ ve.on("click", ae);
752
+ const { role: re, modifiers: be } = Q(e), { itemRole: le } = ul({ role: re, expanded: h }), S = me(
753
+ "vv-dropdown",
754
+ be,
755
+ i(() => ({
756
+ arrow: e.arrow
757
+ }))
758
+ ), { focused: L } = Me(y);
759
+ function I(a) {
760
+ return a ? [
761
+ ...a.querySelectorAll(
762
+ 'a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])'
763
+ )
764
+ ].filter(
765
+ (_) => !_.hasAttribute("disabled") && !_.getAttribute("aria-hidden")
766
+ ) : [];
767
+ }
768
+ const oe = () => {
769
+ Ee(() => {
770
+ if (L.value) {
771
+ const a = I(
772
+ y.value
773
+ );
774
+ if (a.length === 0 || !document.activeElement)
775
+ return;
776
+ const _ = a.indexOf(
777
+ document.activeElement
778
+ );
779
+ _ < a.length - 1 ? a[_ + 1].focus() : a[0].focus();
780
+ }
781
+ });
782
+ }, we = () => {
783
+ Ee(() => {
784
+ if (L.value) {
785
+ const a = I(
786
+ y.value
787
+ );
788
+ if (a.length === 0 || !document.activeElement)
789
+ return;
790
+ const _ = a.indexOf(
791
+ document.activeElement
792
+ );
793
+ _ > 0 ? a[_ - 1].focus() : a[a.length - 1].focus();
794
+ }
795
+ });
796
+ };
797
+ return ye("Escape", (a) => {
798
+ h.value && (a.preventDefault(), N());
799
+ }), ye("ArrowDown", (a) => {
800
+ h.value && L.value && (a.preventDefault(), oe());
801
+ }), ye("ArrowUp", (a) => {
802
+ h.value && L.value && (a.preventDefault(), we());
803
+ }), ye([" ", "Enter"], (a) => {
804
+ h.value && L.value && (a.preventDefault(), document.activeElement.click());
805
+ }), (a, _) => (p(), g(K, null, [
806
+ pe(o(se), null, {
807
+ default: F(() => [
808
+ O(a.$slots, "default", T(M({ init: ce, show: U, hide: N, toggle: ae, expanded: o(h), aria: o(te) })))
809
+ ]),
810
+ _: 3
811
+ }),
812
+ pe(It, { name: a.transitionName }, {
813
+ default: F(() => [
814
+ Te(G("div", {
815
+ ref_key: "floatingEl",
816
+ ref: y,
817
+ style: Je(o(z)),
818
+ class: _e(o(S))
819
+ }, [
820
+ e.arrow ? (p(), g("div", {
821
+ key: 0,
822
+ ref_key: "arrowEl",
823
+ ref: u,
824
+ style: Je(o(H)),
825
+ class: "vv-dropdown__arrow"
826
+ }, null, 4)) : k("", !0),
827
+ O(a.$slots, "before", T(M({ expanded: o(h) }))),
828
+ G("ul", j(o(f), {
829
+ id: o(n),
830
+ ref_key: "listEl",
831
+ ref: c,
832
+ tabindex: o(h) ? void 0 : -1,
833
+ role: o(re),
834
+ "aria-labelledby": o(fe),
835
+ class: "vv-dropdown__list"
836
+ }), [
837
+ O(a.$slots, "items", T(M({
838
+ role: o(le)
839
+ })))
840
+ ], 16, cl),
841
+ O(a.$slots, "after", T(M({ expanded: o(h) })))
842
+ ], 6), [
843
+ [lt, o(h)]
844
+ ])
845
+ ]),
846
+ _: 3
847
+ }, 8, ["name"])
848
+ ], 64));
216
849
  }
217
850
  });
218
- function x(y) {
219
- return Array.isArray(y) ? y.filter((r) => isString(r)).join(" ") : y;
851
+ function vl() {
852
+ return Ze(it, {});
853
+ }
854
+ const pl = {
855
+ name: "VvDropdownItem"
856
+ }, ml = /* @__PURE__ */ ne({
857
+ ...pl,
858
+ setup(t) {
859
+ const { role: l, expanded: e } = vl(), s = P(null);
860
+ dl({ expanded: e });
861
+ const n = Rt(s), { focused: f } = nt(s), { focused: d } = Me(s);
862
+ return Y(n, (b) => {
863
+ b && (f.value = !0);
864
+ }), (b, v) => (p(), g("li", j({ role: o(l) }, {
865
+ ref_key: "element",
866
+ ref: s,
867
+ class: ["vv-dropdown__item", { "focus-visible": o(f) || o(d) }]
868
+ }), [
869
+ O(b.$slots, "default")
870
+ ], 16));
871
+ }
872
+ }), bl = { class: "vv-dropdown-option__hint" }, yl = {
873
+ name: "VvDropdownOption"
874
+ }, Pe = /* @__PURE__ */ ne({
875
+ ...yl,
876
+ props: {
877
+ ...Ae,
878
+ ...Qt,
879
+ ...We,
880
+ ...Ve,
881
+ deselectHintLabel: {
882
+ type: String
883
+ },
884
+ selectHintLabel: {
885
+ type: String
886
+ },
887
+ selectedHintLabel: {
888
+ type: String
889
+ }
890
+ },
891
+ setup(t) {
892
+ const l = t, { modifiers: e } = Q(l), s = me(
893
+ "vv-dropdown-option",
894
+ e,
895
+ i(() => ({
896
+ disabled: l.disabled,
897
+ selected: l.selected,
898
+ unselectable: l.unselectable && l.selected
899
+ }))
900
+ );
901
+ return (n, f) => (p(), x(ml, {
902
+ class: _e(o(s)),
903
+ tabindex: n.disabled ? -1 : 0,
904
+ "aria-selected": n.selected,
905
+ "aria-disabled": n.disabled
906
+ }, {
907
+ default: F(() => [
908
+ O(n.$slots, "default"),
909
+ G("span", bl, [
910
+ O(n.$slots, "hint", T(M({ disabled: n.disabled, selected: n.selected, unselectable: n.unselectable })), () => [
911
+ n.selected ? (p(), g(K, { key: 0 }, [
912
+ J(D(n.unselectable ? t.deselectHintLabel : t.selectedHintLabel), 1)
913
+ ], 64)) : n.disabled ? k("", !0) : (p(), g(K, { key: 1 }, [
914
+ J(D(t.selectHintLabel), 1)
915
+ ], 64))
916
+ ])
917
+ ])
918
+ ]),
919
+ _: 3
920
+ }, 8, ["class", "tabindex", "aria-selected", "aria-disabled"]));
921
+ }
922
+ });
923
+ function Ie(t, l, e) {
924
+ return e ? Be(t, e) === Be(l, e) : xe(t, l);
925
+ }
926
+ function xe(t, l) {
927
+ if (t === l)
928
+ return !0;
929
+ if (t && l && typeof t == "object" && typeof l == "object") {
930
+ const e = Array.isArray(t), s = Array.isArray(l);
931
+ let n, f, d;
932
+ if (e && s) {
933
+ if (f = t.length, f != l.length)
934
+ return !1;
935
+ for (n = f; n-- !== 0; )
936
+ if (!xe(t[n], l[n]))
937
+ return !1;
938
+ return !0;
939
+ }
940
+ if (e != s)
941
+ return !1;
942
+ const b = t instanceof Date, v = l instanceof Date;
943
+ if (b != v)
944
+ return !1;
945
+ if (b && v)
946
+ return t.getTime() == l.getTime();
947
+ const y = t instanceof RegExp, u = l instanceof RegExp;
948
+ if (y != u)
949
+ return !1;
950
+ if (y && u)
951
+ return t.toString() == l.toString();
952
+ const c = Object.keys(t);
953
+ if (f = c.length, f !== Object.keys(l).length)
954
+ return !1;
955
+ for (n = f; n-- !== 0; )
956
+ if (!Object.prototype.hasOwnProperty.call(l, c[n]))
957
+ return !1;
958
+ for (n = f; n-- !== 0; )
959
+ if (d = c[n], !xe(t[d], l[d]))
960
+ return !1;
961
+ return !0;
962
+ }
963
+ return t !== t && l !== l;
964
+ }
965
+ function Be(t, l) {
966
+ if (t && Object.keys(t).length && l) {
967
+ if (l.indexOf(".") === -1)
968
+ return t[l];
969
+ {
970
+ const e = l.split(".");
971
+ let s = t;
972
+ for (let n = 0, f = e.length; n < f; ++n) {
973
+ if (t == null)
974
+ return null;
975
+ s = s[e[n]];
976
+ }
977
+ return s;
978
+ }
979
+ } else
980
+ return null;
981
+ }
982
+ function gl(t, l) {
983
+ let e = -1;
984
+ if (l) {
985
+ for (let s = 0; s < l.length; s++)
986
+ if (Ie(l[s], t)) {
987
+ e = s;
988
+ break;
989
+ }
990
+ }
991
+ return e;
992
+ }
993
+ function Oe(t, l) {
994
+ if (t != null && l && l.length) {
995
+ for (const e of l)
996
+ if (Ie(t, e))
997
+ return !0;
998
+ }
999
+ return !1;
1000
+ }
1001
+ function ze(t) {
1002
+ return ((l) => l == null || l === "" || Array.isArray(l) && l.length === 0 || !(l instanceof Date) && typeof l == "object" && Object.keys(l).length === 0)(o(t));
1003
+ }
1004
+ function hl(t, l) {
1005
+ const e = gl(t, l);
1006
+ return e > -1 ? l.filter((s, n) => n !== e) : l;
220
1007
  }
221
- function we(y, r) {
1008
+ function Sl(t) {
1009
+ return typeof t == "string" || t instanceof String;
1010
+ }
1011
+ function ke(t) {
1012
+ return Array.isArray(t) ? t.filter((l) => Sl(l)).join(" ") : t;
1013
+ }
1014
+ function _t(t, l) {
222
1015
  const {
223
1016
  invalid: e,
224
- valid: V,
225
- hint: d,
226
- loading: p
227
- } = r, {
228
- hintLabel: s,
229
- modelValue: S,
230
- valid: g,
231
- validLabel: c,
232
- invalid: o,
233
- invalidLabel: l,
234
- ...n
235
- } = toRefs(y), i = resolveFieldData(n, "loading"), v = resolveFieldData(n, "loadingLabel"), m = computed(() => o.value ? !!(o.value && e || l != null && l.value && Array.isArray(l.value) && l.value.length > 0 || l != null && l.value && !isEmpty(l)) : !1), $ = computed(
236
- () => !!(s && s.value || d)
237
- ), _ = computed(
238
- () => !!(c && c.value || V)
239
- ), I = computed(
240
- () => !!(i != null && i.value && p || i != null && i.value && (v != null && v.value))
241
- ), C = computed(
242
- () => $.value || _.value || m.value || I.value
1017
+ valid: s,
1018
+ hint: n,
1019
+ loading: f
1020
+ } = l, {
1021
+ hintLabel: d,
1022
+ modelValue: b,
1023
+ valid: v,
1024
+ validLabel: y,
1025
+ invalid: u,
1026
+ invalidLabel: c,
1027
+ ...m
1028
+ } = Q(t), V = Be(m, "loading"), E = Be(m, "loadingLabel"), B = i(() => u.value ? !!(u.value && e || c != null && c.value && Array.isArray(c.value) && c.value.length > 0 || c != null && c.value && !ze(c)) : !1), X = i(
1029
+ () => !!(d && d.value || n)
1030
+ ), R = i(
1031
+ () => !!(y && y.value || s)
1032
+ ), Z = i(
1033
+ () => !!(V != null && V.value && f || V != null && V.value && (E != null && E.value))
1034
+ ), z = i(
1035
+ () => X.value || R.value || B.value || Z.value
243
1036
  );
244
1037
  return {
245
- hasInvalid: m,
246
- hasHint: $,
247
- hasValid: _,
248
- hasLoading: I,
1038
+ hasInvalid: B,
1039
+ hasHint: X,
1040
+ hasValid: R,
1041
+ hasLoading: Z,
249
1042
  HintSlot: {
250
1043
  name: "HintSlot",
251
1044
  props: {
@@ -254,34 +1047,34 @@ function we(y, r) {
254
1047
  default: () => ({})
255
1048
  }
256
1049
  },
257
- setup(D) {
258
- const R = computed(() => {
259
- const w = toReactive({
260
- hintLabel: s,
261
- modelValue: S,
262
- valid: g,
263
- validLabel: c,
264
- invalid: o,
265
- invalidLabel: l,
266
- loading: i,
267
- loadingLabel: v,
268
- ...D.params
1050
+ setup(C) {
1051
+ const A = i(() => {
1052
+ const H = Wt({
1053
+ hintLabel: d,
1054
+ modelValue: b,
1055
+ valid: v,
1056
+ validLabel: y,
1057
+ invalid: u,
1058
+ invalidLabel: c,
1059
+ loading: V,
1060
+ loadingLabel: E,
1061
+ ...C.params
269
1062
  });
270
- return o != null && o.value ? (e == null ? void 0 : e(w)) || x(l == null ? void 0 : l.value) || (s == null ? void 0 : s.value) : g != null && g.value ? (V == null ? void 0 : V(w)) || x(c == null ? void 0 : c.value) || (s == null ? void 0 : s.value) : i != null && i.value ? (p == null ? void 0 : p(w)) || x(v == null ? void 0 : v.value) || (s == null ? void 0 : s.value) : (d == null ? void 0 : d(w)) || x(s == null ? void 0 : s.value) || (s == null ? void 0 : s.value);
1063
+ return u != null && u.value ? (e == null ? void 0 : e(H)) || ke(c == null ? void 0 : c.value) || (d == null ? void 0 : d.value) : v != null && v.value ? (s == null ? void 0 : s(H)) || ke(y == null ? void 0 : y.value) || (d == null ? void 0 : d.value) : V != null && V.value ? (f == null ? void 0 : f(H)) || ke(E == null ? void 0 : E.value) || (d == null ? void 0 : d.value) : (n == null ? void 0 : n(H)) || ke(d == null ? void 0 : d.value) || (d == null ? void 0 : d.value);
271
1064
  });
272
1065
  return {
273
- isVisible: C,
274
- hasInvalid: m,
275
- hasValid: _,
276
- hintContent: R
1066
+ isVisible: z,
1067
+ hasInvalid: B,
1068
+ hasValid: R,
1069
+ hintContent: A
277
1070
  };
278
1071
  },
279
1072
  render() {
280
1073
  if (this.isVisible)
281
- return h(
1074
+ return et(
282
1075
  "small",
283
1076
  {
284
- role: this.hasInvalid || this.hasValid ? "alert" : void 0
1077
+ role: this.hasInvalid ? "alert" : this.hasValid ? "status" : void 0
285
1078
  },
286
1079
  this.hintContent
287
1080
  );
@@ -289,259 +1082,370 @@ function we(y, r) {
289
1082
  }
290
1083
  };
291
1084
  }
292
- const qe = {
293
- ...re,
294
- ...Ne,
295
- ...Oe,
296
- ...Se,
297
- ...ve,
298
- ...be,
299
- ...ye,
300
- ...he,
301
- ...ne,
302
- ...ge,
303
- ...se,
304
- ...ae,
1085
+ const _l = {
1086
+ ...ht,
1087
+ ...el,
1088
+ ...tl,
1089
+ ...bt,
1090
+ ...ut,
1091
+ ...dt,
1092
+ ...vt,
1093
+ ...ct,
1094
+ ...Ae,
1095
+ ...ft,
305
1096
  ...Ve,
306
- ...$e,
307
- ...Pe,
1097
+ ...pt,
1098
+ ...mt,
1099
+ ...yt,
1100
+ ...We,
1101
+ ...Re,
1102
+ /**
1103
+ * This Boolean attribute indicates that multiple options can be selected in the list.
1104
+ * If it is not specified, then only one option can be selected at a time.
1105
+ * When multiple is specified, most browsers will show a scrolling list box instead of a single line dropdown.
1106
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple
1107
+ */
308
1108
  multiple: Boolean,
1109
+ /**
1110
+ * A Boolean attribute indicating that an option with a non-empty string value must be selected.
1111
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-required
1112
+ */
309
1113
  required: Boolean,
1114
+ /**
1115
+ * If the control is presented as a scrolling list box (e.g. when multiple is specified),
1116
+ * this attribute represents the number of rows in the list that should be visible at one time.
1117
+ * Browsers are not required to present a select element as a scrolled list box. The default value is 0.
1118
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-size
1119
+ */
310
1120
  size: [String, Number],
1121
+ /**
1122
+ * modelValue can be a string, number, boolean, object or array of string, number, boolean, object
1123
+ */
311
1124
  modelValue: {
312
1125
  type: [String, Number, Boolean, Object, Array],
313
1126
  default: void 0
314
1127
  },
315
- label: String,
1128
+ /**
1129
+ * Select placeholder
1130
+ */
316
1131
  placeholder: String
317
- }, ze = ["update:modelValue", "focus", "blur"], xe = ["for"], Ue = { class: "vv-select__wrapper" }, Ge = ["id"], Je = ["disabled", "hidden"], Xe = ["disabled", "value"], Qe = {
1132
+ }, Vl = ["update:modelValue", "focus", "blur"];
1133
+ function Vt(t, l) {
1134
+ const { focused: e } = nt(t);
1135
+ return Y(e, (s) => {
1136
+ l(s ? "focus" : "blur", o(t));
1137
+ }), {
1138
+ focused: e
1139
+ };
1140
+ }
1141
+ function wt(t, l) {
1142
+ const e = i(
1143
+ () => Boolean((t == null ? void 0 : t.value) && l.value === he.before)
1144
+ ), s = i(
1145
+ () => Boolean((t == null ? void 0 : t.value) && l.value === he.after)
1146
+ ), n = i(
1147
+ () => Boolean((t == null ? void 0 : t.value) && l.value === de.left)
1148
+ ), f = i(
1149
+ () => Boolean((t == null ? void 0 : t.value) && l.value === de.right)
1150
+ ), d = i(
1151
+ () => Boolean((t == null ? void 0 : t.value) && l.value === de.top)
1152
+ ), b = i(
1153
+ () => Boolean((t == null ? void 0 : t.value) && l.value === de.bottom)
1154
+ );
1155
+ return {
1156
+ hasIcon: i(() => typeof (t == null ? void 0 : t.value) == "string" ? { name: t == null ? void 0 : t.value } : t == null ? void 0 : t.value),
1157
+ hasIconLeft: n,
1158
+ hasIconRight: f,
1159
+ hasIconTop: d,
1160
+ hasIconBottom: b,
1161
+ hasIconBefore: e,
1162
+ hasIconAfter: s
1163
+ };
1164
+ }
1165
+ function $t(t) {
1166
+ const { options: l, labelKey: e, valueKey: s, disabledKey: n } = Q(t);
1167
+ return {
1168
+ options: l,
1169
+ getOptionLabel: (v) => typeof v != "object" && v !== null ? v : typeof e.value == "function" ? e.value(v) : v[e.value],
1170
+ getOptionValue: (v) => typeof v != "object" && v !== null ? v : typeof s.value == "function" ? s.value(v) : v[s.value],
1171
+ getOptionDisabled: (v) => typeof v != "object" && v !== null ? !1 : typeof n.value == "function" ? n.value(v) : v[n.value]
1172
+ };
1173
+ }
1174
+ const wl = ["for"], $l = { class: "vv-select__wrapper" }, Ol = {
1175
+ key: 0,
1176
+ class: "vv-select__input-before"
1177
+ }, kl = { class: "vv-select__inner" }, El = ["id"], Pl = ["disabled", "hidden"], Il = ["disabled", "value"], Bl = {
1178
+ key: 1,
1179
+ class: "vv-select__input-after"
1180
+ }, Al = {
318
1181
  name: "VvSelect"
319
- }, We = /* @__PURE__ */ J({
320
- ...Qe,
321
- props: qe,
322
- emits: ze,
323
- setup(y, { emit: r }) {
324
- const e = y, V = useSlots(), d = ref(), { HintSlot: p, hasHint: s, hasInvalid: S } = we(e, V), {
325
- modifiers: g,
326
- disabled: c,
327
- readonly: o,
328
- loading: l,
329
- icon: n,
330
- iconPosition: i,
331
- invalid: v,
332
- valid: m,
333
- floating: $,
334
- multiple: _
335
- } = toRefs(e), I = computed(() => String(e.id || le())), C = computed(() => `${I.value}-hint`), { focused: D } = useComponentFocus(d, r), R = useElementVisibility(d);
336
- watch(R, (u) => {
337
- u && e.autofocus && (D.value = !0);
1182
+ }, Dl = /* @__PURE__ */ ne({
1183
+ ...Al,
1184
+ props: _l,
1185
+ emits: Vl,
1186
+ setup(t, { emit: l }) {
1187
+ const e = t, s = ot(), n = P(), { HintSlot: f, hasHint: d, hasInvalid: b } = _t(e, s), {
1188
+ id: v,
1189
+ modifiers: y,
1190
+ disabled: u,
1191
+ readonly: c,
1192
+ loading: m,
1193
+ icon: V,
1194
+ iconPosition: E,
1195
+ invalid: B,
1196
+ valid: X,
1197
+ floating: R,
1198
+ multiple: Z
1199
+ } = Q(e), z = Ke(v), C = i(() => `${z.value}-hint`), { focused: A } = Vt(n, l), H = Kt(n);
1200
+ Y(H, (S) => {
1201
+ S && e.autofocus && (A.value = !0);
338
1202
  });
339
- const { hasIcon: w, hasIconLeft: E, hasIconRight: M } = useComponentIcon(
340
- n,
341
- i
342
- ), T = computed(() => !isEmpty(e.modelValue)), H = computed(() => e.disabled || e.readonly), j = computed(() => H.value ? -1 : e.tabindex), q = computed(() => {
1203
+ const { hasIcon: q, hasIconBefore: ee, hasIconAfter: h } = wt(
1204
+ V,
1205
+ E
1206
+ ), U = i(() => !ze(e.modelValue)), N = i(() => e.disabled || e.readonly), ae = i(() => N.value ? -1 : e.tabindex), ce = i(() => {
343
1207
  if (e.invalid === !0)
344
1208
  return !0;
345
1209
  if (e.valid === !0)
346
1210
  return !1;
347
- }), { bemCssClasses: X } = useBemModifiers("vv-select", {
348
- modifiers: g,
349
- valid: m,
350
- invalid: v,
351
- loading: l,
352
- disabled: c,
353
- readonly: o,
354
- iconLeft: E,
355
- iconRight: M,
356
- dirty: T,
357
- focus: D,
358
- floating: $,
359
- multiple: _
360
- }), Q = computed(() => ({
1211
+ }), fe = me(
1212
+ "vv-select",
1213
+ y,
1214
+ i(() => ({
1215
+ valid: X.value,
1216
+ invalid: B.value,
1217
+ loading: m.value,
1218
+ disabled: u.value,
1219
+ readonly: c.value,
1220
+ "icon-before": ee.value,
1221
+ "icon-after": h.value,
1222
+ dirty: U.value,
1223
+ focus: A.value,
1224
+ floating: R.value,
1225
+ multiple: Z.value
1226
+ }))
1227
+ ), te = i(() => ({
361
1228
  name: e.name,
362
- tabindex: j.value,
363
- disabled: H.value,
1229
+ tabindex: ae.value,
1230
+ disabled: N.value,
364
1231
  required: e.required,
365
1232
  size: e.size,
366
1233
  autocomplete: e.autocomplete,
367
1234
  multiple: e.multiple,
368
- "aria-invalid": q.value,
369
- "aria-describedby": !S.value && s.value ? C.value : void 0,
370
- "aria-errormessage": S.value ? C.value : void 0
371
- })), { getOptionLabel: W, getOptionValue: Y } = useOptions(e);
372
- function Z(u) {
373
- return typeof u == "string" || u.disabled === void 0 ? c.value : u.disabled;
374
- }
375
- const K = computed({
1235
+ "aria-invalid": ce.value,
1236
+ "aria-describedby": !b.value && d.value ? C.value : void 0,
1237
+ "aria-errormessage": b.value ? C.value : void 0
1238
+ })), se = i(() => ({
1239
+ valid: e.valid,
1240
+ invalid: e.invalid,
1241
+ modelValue: e.modelValue
1242
+ })), { getOptionLabel: ve, getOptionValue: re, getOptionDisabled: be } = $t(e), le = i({
376
1243
  get: () => e.modelValue,
377
- set: (u) => {
378
- Array.isArray(u) && (u = u.filter((F) => F !== void 0)), r("update:modelValue", u);
1244
+ set: (S) => {
1245
+ Array.isArray(S) && (S = S.filter((L) => L !== void 0)), l("update:modelValue", S);
379
1246
  }
380
1247
  });
381
- return (u, F) => (f(), P("div", {
382
- class: te(t(X))
1248
+ return (S, L) => (p(), g("div", {
1249
+ class: _e(o(fe))
383
1250
  }, [
384
- u.label ? (f(), P("label", {
1251
+ S.label ? (p(), g("label", {
385
1252
  key: 0,
386
- for: t(I)
387
- }, A(u.label), 9, xe)) : B("", !0),
388
- O("div", Ue, [
389
- U(u.$slots, "before", {}, () => [
390
- t(E) ? (f(), L(G, ie(N({ key: 0 }, t(w))), null, 16)) : B("", !0)
391
- ]),
392
- me(O("select", N({
393
- id: t(I),
394
- ref_key: "select",
395
- ref: d,
396
- "onUpdate:modelValue": F[0] || (F[0] = (a) => fe(K) ? K.value = a : null)
397
- }, t(Q)), [
398
- u.placeholder ? (f(), P("option", {
1253
+ for: o(z)
1254
+ }, D(S.label), 9, wl)) : k("", !0),
1255
+ G("div", $l, [
1256
+ S.$slots.before ? (p(), g("div", Ol, [
1257
+ O(S.$slots, "before", T(M(o(se))))
1258
+ ])) : k("", !0),
1259
+ G("div", kl, [
1260
+ o(ee) ? (p(), x(ge, j({
399
1261
  key: 0,
400
- value: void 0,
401
- disabled: !u.unselectable,
402
- hidden: !u.unselectable
403
- }, A(u.placeholder), 9, Je)) : B("", !0),
404
- (f(!0), P(oe, null, ce(u.options, (a, b) => (f(), P("option", {
405
- key: b,
406
- disabled: Z(a),
407
- value: t(Y)(a)
408
- }, A(t(W)(a)), 9, Xe))), 128))
409
- ], 16, Ge), [
410
- [Ie, t(K)]
1262
+ class: "vv-select__icon"
1263
+ }, o(q)), null, 16)) : k("", !0),
1264
+ Te(G("select", j({
1265
+ id: o(z),
1266
+ ref_key: "select",
1267
+ ref: n,
1268
+ "onUpdate:modelValue": L[0] || (L[0] = (I) => Ne(le) ? le.value = I : null)
1269
+ }, o(te)), [
1270
+ S.placeholder ? (p(), g("option", {
1271
+ key: 0,
1272
+ value: void 0,
1273
+ disabled: !S.unselectable,
1274
+ hidden: !S.unselectable
1275
+ }, D(S.placeholder), 9, Pl)) : k("", !0),
1276
+ (p(!0), g(K, null, Le(S.options, (I, oe) => (p(), g("option", {
1277
+ key: oe,
1278
+ disabled: o(be)(I),
1279
+ value: o(re)(I)
1280
+ }, D(o(ve)(I)), 9, Il))), 128))
1281
+ ], 16, El), [
1282
+ [Bt, o(le)]
1283
+ ]),
1284
+ o(h) ? (p(), x(ge, j({
1285
+ key: 1,
1286
+ class: "vv-select__icon vv-select__icon-after"
1287
+ }, o(q)), null, 16)) : k("", !0)
411
1288
  ]),
412
- U(u.$slots, "after", {}, () => [
413
- t(M) ? (f(), L(G, ie(N({ key: 0 }, t(w))), null, 16)) : B("", !0)
414
- ])
1289
+ S.$slots.after ? (p(), g("div", Bl, [
1290
+ O(S.$slots, "after", T(M(o(se))))
1291
+ ])) : k("", !0)
415
1292
  ]),
416
- ee(t(p), {
417
- id: t(C),
1293
+ pe(o(f), {
1294
+ id: o(C),
418
1295
  class: "vv-select__hint"
419
1296
  }, null, 8, ["id"])
420
1297
  ], 2));
421
1298
  }
422
- }), Ye = [
423
- "update:modelValue",
424
- "change:search",
425
- "focus",
426
- "blur"
427
- ], Ze = {
428
- ...re,
429
- ...Se,
430
- ...ve,
431
- ...be,
432
- ...ye,
433
- ...he,
434
- ...ne,
435
- ...ge,
436
- ...se,
437
- ...ae,
1299
+ }), Cl = {
438
1300
  ...Ve,
439
- ...$e,
440
- ...Pe,
441
- modelValue: {
442
- type: [String, Number, Boolean, Object, Array],
443
- default: void 0
444
- },
445
- label: String,
446
- labelNoResults: { type: String, default: "No results" },
447
- placeholder: String,
448
- searchable: Boolean,
449
- searchPlaceholder: String,
450
- debounceSearch: {
451
- type: [Number, String],
452
- default: 0
453
- },
454
- multiple: Boolean,
455
- maxValues: [Number, String],
456
- separator: { type: String, default: ", " },
457
- native: Boolean
458
- }, et = ["id"], tt = ["id", "for"], ot = ["tabindex"], lt = ["id", "placeholder"], nt = {
459
- name: "VvCombobox"
460
- }, it = /* @__PURE__ */ J({
461
- ...nt,
462
- props: Ze,
463
- emits: Ye,
464
- setup(y, { emit: r }) {
465
- const e = y, V = useSlots(), { HintSlot: d } = we(e, V), p = ref(), s = ref(), { focused: S } = useComponentFocus(p, r), g = computed(() => String(e.id || le())), c = ref(""), o = refDebounced(
466
- c,
1301
+ value: [String, Number]
1302
+ }, Nl = {
1303
+ name: "VvBadge"
1304
+ }, Ll = /* @__PURE__ */ ne({
1305
+ ...Nl,
1306
+ props: Cl,
1307
+ setup(t) {
1308
+ const l = t, { modifiers: e } = Q(l), s = me("vv-badge", e);
1309
+ return (n, f) => (p(), g("span", {
1310
+ class: _e(o(s)),
1311
+ role: "status"
1312
+ }, [
1313
+ O(n.$slots, "default", {}, () => [
1314
+ J(D(n.value), 1)
1315
+ ])
1316
+ ], 2));
1317
+ }
1318
+ }), jl = ["id"], Hl = ["id", "for"], Fl = ["id", "aria-controls", "aria-labelledby", "aria-describedby", "placeholder"], xl = {
1319
+ key: 0,
1320
+ class: "vv-select__input-before"
1321
+ }, Tl = { class: "vv-select__inner" }, Ml = ["aria-labelledby", "tabindex"], Rl = ["aria-label", "onClick"], Wl = {
1322
+ key: 1,
1323
+ class: "vv-select__input-after"
1324
+ }, Kl = {
1325
+ name: "VvCombobox",
1326
+ components: { VvDropdown: St, VvDropdownOption: Pe }
1327
+ }, Xl = /* @__PURE__ */ ne({
1328
+ ...Kl,
1329
+ props: ol,
1330
+ emits: ll,
1331
+ setup(t, { emit: l }) {
1332
+ const e = t, s = ot(), { HintSlot: n } = _t(e, s), f = P(null), d = P(null), b = P(null), { focused: v } = Vt(f, l), { focused: y } = Me(b);
1333
+ Y(v, (r) => {
1334
+ if (e.autoOpen) {
1335
+ if (r && !m.value) {
1336
+ E();
1337
+ return;
1338
+ }
1339
+ !r && m.value && !y.value && B();
1340
+ }
1341
+ }), Y(y, (r) => {
1342
+ !v.value && !r && m.value && B();
1343
+ });
1344
+ const u = P(""), c = zt(
1345
+ u,
467
1346
  Number(e.debounceSearch)
468
- ), l = ref(!1), {
469
- icon: n,
470
- iconPosition: i,
471
- modifiers: v,
472
- disabled: m,
473
- readonly: $,
474
- loading: _,
475
- valid: I,
476
- invalid: C,
477
- floating: D
478
- } = toRefs(e);
479
- watch(
480
- o,
481
- () => r("change:search", o.value)
482
1347
  );
483
- const { hasIcon: R, hasIconLeft: w, hasIconRight: E } = useComponentIcon(
484
- n,
485
- i
486
- ), M = computed(() => !isEmpty(e.modelValue)), T = computed(() => m.value || $.value ? -1 : e.tabindex), { bemCssClasses: H } = useBemModifiers("vv-select", {
487
- modifiers: v,
488
- disabled: m,
489
- loading: _,
490
- readonly: $,
491
- iconLeft: w,
492
- iconRight: E,
493
- valid: I,
494
- invalid: C,
495
- dirty: M,
496
- focus: S,
497
- floating: D
498
- }), j = computed(
499
- () => e.searchable ? Q.value : e.options
500
- ), { getOptionLabel: q, getOptionValue: X } = useOptions(e), Q = computed(() => {
501
- var a;
502
- return (a = e.options) == null ? void 0 : a.filter((b) => q(b).toLowerCase().includes(o.value.toLowerCase().trim()));
503
- }), W = computed(() => {
504
- let a = [];
505
- return Array.isArray(e.modelValue) ? a = e.modelValue : e.modelValue && (a = [e.modelValue]), e.options.filter(
506
- (b) => a.includes(X(b))
507
- );
508
- }), Y = computed(() => W.value.map((a) => q(a)).join(e.separator));
509
- onClickOutside(p, () => {
510
- p.value.open = !1;
1348
+ Y(
1349
+ c,
1350
+ () => l("change:search", c.value)
1351
+ );
1352
+ const m = P(!1), V = () => {
1353
+ e.disabled || e.readonly || (m.value = !m.value);
1354
+ }, E = () => {
1355
+ e.disabled || e.readonly || m.value || (m.value = !0);
1356
+ }, B = () => {
1357
+ e.disabled || e.readonly || !m.value || (m.value = !1);
1358
+ };
1359
+ Y(m, (r) => {
1360
+ U.value && Ee(() => {
1361
+ if (r) {
1362
+ d.value && d.value.focus();
1363
+ return;
1364
+ }
1365
+ u.value = "";
1366
+ });
511
1367
  });
512
- function Z(a) {
513
- const b = a.target;
514
- l.value = b.open;
515
- }
516
- function K(a) {
517
- p.value && !e.multiple && (p.value.open = !1), r("update:modelValue", a);
1368
+ const {
1369
+ id: X,
1370
+ icon: R,
1371
+ iconPosition: Z,
1372
+ modifiers: z,
1373
+ disabled: C,
1374
+ readonly: A,
1375
+ loading: H,
1376
+ valid: q,
1377
+ invalid: ee,
1378
+ floating: h,
1379
+ searchable: U
1380
+ } = Q(e), N = Ke(X), ae = i(() => `${N.value}-hint`), ce = i(() => `${N.value}-dropdown`), fe = i(() => `${N.value}-search`), te = i(() => `${N.value}-label`), { hasIcon: se, hasIconBefore: ve, hasIconAfter: re } = wt(
1381
+ R,
1382
+ Z
1383
+ ), be = i(() => !ze(e.modelValue)), le = i(() => C.value || A.value ? -1 : e.tabindex), S = me(
1384
+ "vv-select",
1385
+ z,
1386
+ i(() => ({
1387
+ disabled: C.value,
1388
+ loading: H.value,
1389
+ readonly: A.value,
1390
+ "icon-before": Boolean(ve.value),
1391
+ "icon-after": Boolean(re.value),
1392
+ valid: q.value,
1393
+ invalid: ee.value,
1394
+ dirty: be.value,
1395
+ focus: v.value,
1396
+ floating: h.value
1397
+ }))
1398
+ ), L = i(
1399
+ () => e.searchable ? a.value : e.options
1400
+ ), { getOptionLabel: I, getOptionValue: oe, getOptionDisabled: we } = $t(e), a = i(() => {
1401
+ var r;
1402
+ return (r = e.options) == null ? void 0 : r.filter(($) => I($).toLowerCase().includes(c.value.toLowerCase().trim()));
1403
+ });
1404
+ function _(r) {
1405
+ return Array.isArray(e.modelValue) ? Oe(r, e.modelValue) || Oe(oe(r), e.modelValue) : Ie(r, e.modelValue) || Ie(oe(r), e.modelValue);
518
1406
  }
519
- const u = computed(() => ({
520
- name: e.name,
521
- options: j.value,
522
- labelKey: e.labelKey,
523
- valueKey: e.valueKey,
524
- disabled: e.disabled,
525
- labelNoResults: e.labelNoResults,
526
- multiple: e.multiple,
527
- maxValues: e.maxValues,
528
- modelValue: e.modelValue,
529
- unselectable: e.unselectable
530
- })), F = computed(() => ({
531
- id: g.value,
1407
+ const W = i(() => {
1408
+ let r = [];
1409
+ return Array.isArray(e.modelValue) ? r = e.modelValue : e.modelValue && (r = [e.modelValue]), e.options.filter(
1410
+ ($) => r.includes(oe($))
1411
+ );
1412
+ }), ie = i(() => W.value.map((r) => I(r)).join(e.separator));
1413
+ Y(W, () => {
1414
+ !e.multiple && e.autoClose && B();
1415
+ });
1416
+ const Ot = () => {
1417
+ e.autoOpen ? E() : V();
1418
+ }, De = (r) => {
1419
+ var ue;
1420
+ if (e.disabled || e.readonly)
1421
+ return;
1422
+ const $ = oe(r);
1423
+ let w = $;
1424
+ if (e.multiple)
1425
+ if (Array.isArray(e.modelValue)) {
1426
+ if (e.maxValues !== void 0 && e.maxValues >= 0 && ((ue = e.modelValue) == null ? void 0 : ue.length) >= e.maxValues && !Oe($, e.modelValue))
1427
+ return;
1428
+ w = Oe($, e.modelValue) ? hl($, e.modelValue) : [...e.modelValue, $];
1429
+ } else
1430
+ w = [$];
1431
+ else
1432
+ e.unselectable && $ === e.modelValue && (w = void 0);
1433
+ l("update:modelValue", w);
1434
+ }, kt = i(() => ({
1435
+ id: N.value,
532
1436
  name: e.name,
533
- tabindex: T.value,
534
- valid: I.value,
1437
+ tabindex: le.value,
1438
+ valid: q.value,
535
1439
  validLabel: e.validLabel,
536
- invalid: C.value,
1440
+ invalid: ee.value,
537
1441
  invalidLabel: e.invalidLabel,
538
1442
  hintLabel: e.hintLabel,
539
- loading: _.value,
1443
+ loading: H.value,
540
1444
  loadingLabel: e.loadingLabel,
541
- disabled: m.value,
542
- readonly: $.value,
1445
+ disabled: C.value,
1446
+ readonly: A.value,
543
1447
  modifiers: e.modifiers,
544
- options: j.value,
1448
+ options: L.value,
545
1449
  labelKey: e.labelKey,
546
1450
  valueKey: e.valueKey,
547
1451
  icon: e.icon,
@@ -552,67 +1456,194 @@ const qe = {
552
1456
  label: e.label,
553
1457
  placeholder: e.placeholder,
554
1458
  modelValue: e.modelValue
1459
+ })), Et = i(() => ({
1460
+ id: ce.value,
1461
+ reference: b.value,
1462
+ placement: e.placement,
1463
+ transitionName: e.transitionName,
1464
+ offset: e.offset,
1465
+ shift: e.shift,
1466
+ flip: e.flip,
1467
+ autoPlacement: e.autoPlacement,
1468
+ arrow: e.arrow,
1469
+ autoClose: e.autoClose,
1470
+ autofocusFirst: U.value ? !1 : e.autofocusFirst,
1471
+ triggerWidth: e.triggerWidth,
1472
+ modifiers: e.dropdownModifiers
1473
+ })), qe = i(() => ({
1474
+ valid: e.valid,
1475
+ invalid: e.invalid,
1476
+ modelValue: e.modelValue
555
1477
  }));
556
- return (a, b) => a.native ? (f(), L(We, N({ key: 1 }, t(F), {
557
- "onUpdate:modelValue": b[4] || (b[4] = (k) => r("update:modelValue", k))
558
- }), null, 16)) : (f(), P("div", {
1478
+ return ye([" ", "Enter"], (r) => {
1479
+ e.autoOpen || !m.value && v.value && (r.preventDefault(), r.stopImmediatePropagation(), V());
1480
+ }), (r, $) => r.native ? (p(), x(Dl, j({ key: 1 }, o(kt), {
1481
+ "onUpdate:modelValue": $[2] || ($[2] = (w) => l("update:modelValue", w))
1482
+ }), null, 16)) : (p(), g("div", {
559
1483
  key: 0,
560
- id: t(g),
561
- class: te(t(H))
1484
+ id: o(N),
1485
+ class: _e(o(S))
562
1486
  }, [
563
- a.label ? (f(), P("label", {
1487
+ r.label ? (p(), g("label", {
564
1488
  key: 0,
565
- id: `${t(g)}-label`,
566
- for: a.searchable && t(l) ? `${t(g)}-input` : void 0
567
- }, A(a.label), 9, tt)) : B("", !0),
568
- O("details", {
569
- ref_key: "dropdown",
570
- ref: p,
571
- class: "vv-select__wrapper",
572
- onClick: b[2] || (b[2] = (k) => t(m) || t($) ? k.preventDefault() : null),
573
- onKeyup: b[3] || (b[3] = ue((k) => t(p).open = !1, ["esc"])),
574
- onToggle: Z
1489
+ id: o(te),
1490
+ for: o(U) ? o(fe) : void 0
1491
+ }, D(r.label), 9, Hl)) : k("", !0),
1492
+ G("div", {
1493
+ ref_key: "wrapperEl",
1494
+ ref: b,
1495
+ class: "vv-select__wrapper"
575
1496
  }, [
576
- O("summary", {
577
- class: "vv-select__input",
578
- tabindex: t(T),
579
- onKeyup: b[1] || (b[1] = ue((k) => a.searchable ? k.preventDefault() : null, ["space"]))
580
- }, [
581
- U(a.$slots, "before", {}, () => [
582
- t(w) ? (f(), L(G, N({
583
- key: 0,
584
- class: "vv-select__icon-left"
585
- }, t(R)), null, 16)) : B("", !0)
1497
+ pe(St, j({
1498
+ modelValue: o(m),
1499
+ "onUpdate:modelValue": $[1] || ($[1] = (w) => Ne(m) ? m.value = w : null)
1500
+ }, o(Et), {
1501
+ role: o(Se).listbox
1502
+ }), At({
1503
+ default: F(({ aria: w }) => [
1504
+ r.$slots.before ? (p(), g("div", xl, [
1505
+ O(r.$slots, "before", T(M(o(qe))))
1506
+ ])) : k("", !0),
1507
+ G("div", Tl, [
1508
+ o(ve) ? (p(), x(ge, j({
1509
+ key: 0,
1510
+ class: "vv-select__icon"
1511
+ }, o(se)), null, 16)) : k("", !0),
1512
+ G("div", j({
1513
+ ref_key: "inputEl",
1514
+ ref: f
1515
+ }, w, {
1516
+ "aria-labelledby": o(te),
1517
+ class: "vv-select__input",
1518
+ role: "combobox",
1519
+ tabindex: o(le),
1520
+ onClickPassive: Ot
1521
+ }), [
1522
+ O(r.$slots, "value", T(M({ selectedOptions: o(W), onInput: De })), () => [
1523
+ o(ie) ? (p(), g(K, { key: 0 }, [
1524
+ r.badges ? (p(!0), g(K, { key: 1 }, Le(o(W), (ue, Ue) => (p(), x(Ll, {
1525
+ key: Ue,
1526
+ modifiers: r.badgeModifiers,
1527
+ class: "vv-select__badge"
1528
+ }, {
1529
+ default: F(() => [
1530
+ J(D(o(I)(ue)) + " ", 1),
1531
+ r.unselectable && !o(A) && !o(C) ? (p(), g("button", {
1532
+ key: 0,
1533
+ "aria-label": r.deselectActionLabel,
1534
+ onClick: Dt((zl) => De(ue), ["stop"])
1535
+ }, [
1536
+ pe(ge, { name: "close" })
1537
+ ], 8, Rl)) : k("", !0)
1538
+ ]),
1539
+ _: 2
1540
+ }, 1032, ["modifiers"]))), 128)) : (p(), g(K, { key: 0 }, [
1541
+ J(D(o(ie)), 1)
1542
+ ], 64))
1543
+ ], 64)) : (p(), g(K, { key: 1 }, [
1544
+ J(D(r.placeholder), 1)
1545
+ ], 64))
1546
+ ])
1547
+ ], 16, Ml),
1548
+ o(re) ? (p(), x(ge, j({
1549
+ key: 1,
1550
+ class: "vv-select__icon vv-select__icon-after"
1551
+ }, o(se)), null, 16)) : k("", !0)
1552
+ ]),
1553
+ r.$slots.after ? (p(), g("div", Wl, [
1554
+ O(r.$slots, "after", T(M(o(qe))))
1555
+ ])) : k("", !0)
586
1556
  ]),
587
- a.searchable && t(l) ? me((f(), P("input", {
588
- key: 0,
589
- id: `${t(g)}-input`,
590
- ref_key: "inputSearch",
591
- ref: s,
592
- "onUpdate:modelValue": b[0] || (b[0] = (k) => fe(c) ? c.value = k : null),
593
- role: "combobox",
594
- type: "search",
595
- placeholder: a.searchPlaceholder
596
- }, null, 8, lt)), [
597
- [Be, t(c)]
598
- ]) : (f(), P(oe, { key: 1 }, [
599
- pe(A(t(Y) || a.placeholder), 1)
600
- ], 64)),
601
- U(a.$slots, "after", {}, () => [
602
- t(E) ? (f(), L(G, N({
603
- key: 0,
604
- class: "vv-select__icon-right"
605
- }, t(R)), null, 16)) : B("", !0)
606
- ])
607
- ], 40, ot),
608
- ee(Me, N({
609
- id: `${t(g)}-dropdown`
610
- }, t(u), { "onUpdate:modelValue": K }), null, 16, ["id"])
611
- ], 544),
612
- ee(t(d), { class: "vv-select__hint" })
613
- ], 10, et));
1557
+ items: F(() => [
1558
+ o(a).length ? (p(!0), g(K, { key: 0 }, Le(o(a), (w, ue) => (p(), x(Pe, j({
1559
+ disabled: o(we)(w),
1560
+ selected: _(w),
1561
+ unselectable: r.unselectable,
1562
+ deselectHintLabel: r.deselectHintLabel,
1563
+ selectHintLabel: r.selectHintLabel,
1564
+ selectedHintLabel: r.selectedHintLabel
1565
+ }, {
1566
+ key: ue,
1567
+ class: "vv-dropdown-option",
1568
+ onClickPassive: (Ue) => De(w)
1569
+ }), {
1570
+ default: F(() => [
1571
+ O(r.$slots, "option", T(M({
1572
+ option: w,
1573
+ selectedOptions: o(W),
1574
+ selected: _(w),
1575
+ disabled: o(we)(w)
1576
+ })), () => [
1577
+ J(D(o(I)(w)), 1)
1578
+ ])
1579
+ ]),
1580
+ _: 2
1581
+ }, 1040, ["onClickPassive"]))), 128)) : r.options.length ? (p(), x(Pe, {
1582
+ key: 2,
1583
+ modifiers: "inert"
1584
+ }, {
1585
+ default: F(() => [
1586
+ O(r.$slots, "no-results", {}, () => [
1587
+ J(D(r.noResultsLabel), 1)
1588
+ ])
1589
+ ]),
1590
+ _: 3
1591
+ })) : (p(), x(Pe, {
1592
+ key: 1,
1593
+ modifiers: "inert"
1594
+ }, {
1595
+ default: F(() => [
1596
+ O(r.$slots, "no-options", {}, () => [
1597
+ J(D(r.noOptionsLabel), 1)
1598
+ ])
1599
+ ]),
1600
+ _: 3
1601
+ }))
1602
+ ]),
1603
+ _: 2
1604
+ }, [
1605
+ o(U) || r.$slots["dropdown::before"] ? {
1606
+ name: "before",
1607
+ fn: F(() => [
1608
+ O(r.$slots, "dropdown::before"),
1609
+ o(U) ? Te((p(), g("input", {
1610
+ key: 0,
1611
+ id: o(fe),
1612
+ ref_key: "inputSearchEl",
1613
+ ref: d,
1614
+ "onUpdate:modelValue": $[0] || ($[0] = (w) => Ne(u) ? u.value = w : null),
1615
+ "aria-autocomplete": "list",
1616
+ "aria-controls": o(ce),
1617
+ "aria-labelledby": o(te),
1618
+ "aria-describedby": o(ae),
1619
+ autocomplete: "off",
1620
+ spellcheck: "false",
1621
+ type: "search",
1622
+ class: "vv-dropdown__search",
1623
+ placeholder: r.searchPlaceholder
1624
+ }, null, 8, Fl)), [
1625
+ [lt, o(m)],
1626
+ [Ct, o(u)]
1627
+ ]) : k("", !0)
1628
+ ]),
1629
+ key: "0"
1630
+ } : void 0,
1631
+ r.$slots["dropdown::after"] ? {
1632
+ name: "after",
1633
+ fn: F(() => [
1634
+ O(r.$slots, "dropdown::after")
1635
+ ]),
1636
+ key: "1"
1637
+ } : void 0
1638
+ ]), 1040, ["modelValue", "role"])
1639
+ ], 512),
1640
+ pe(o(n), {
1641
+ id: o(ae),
1642
+ class: "vv-select__hint"
1643
+ }, null, 8, ["id"])
1644
+ ], 10, jl));
614
1645
  }
615
1646
  });
616
1647
  export {
617
- it as default
1648
+ Xl as default
618
1649
  };