@volverjs/ui-vue 0.0.10-beta.35 → 0.0.10-beta.37

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 (348) hide show
  1. package/README.md +78 -77
  2. package/bin/icons.cjs +1 -1
  3. package/bin/icons.js +5 -5
  4. package/dist/Volver.d.ts +10 -10
  5. package/dist/components/VvAccordion/VvAccordion.es.js +11 -11
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +17 -17
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  9. package/dist/components/VvAction/VvAction.es.js +6 -6
  10. package/dist/components/VvAction/VvAction.umd.js +1 -1
  11. package/dist/components/VvAlert/VvAlert.es.js +23 -21
  12. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  13. package/dist/components/VvAlert/index.d.ts +2 -2
  14. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +351 -349
  15. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  16. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +3 -3
  17. package/dist/components/VvAlertGroup/index.d.ts +1 -1
  18. package/dist/components/VvAvatar/VvAvatar.es.js +4 -1
  19. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  20. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +11 -3
  21. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +10 -10
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  24. package/dist/components/VvButton/VvButton.es.js +31 -25
  25. package/dist/components/VvButton/VvButton.umd.js +1 -1
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -1
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  28. package/dist/components/VvCheckbox/VvCheckbox.es.js +208 -202
  29. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  30. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +3 -3
  31. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +21 -15
  32. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  33. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
  34. package/dist/components/VvCombobox/VvCombobox.es.js +454 -446
  35. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  36. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +5 -5
  37. package/dist/components/VvCombobox/index.d.ts +5 -10
  38. package/dist/components/VvDialog/VvDialog.es.js +17 -17
  39. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  40. package/dist/components/VvDropdown/VvDropdown.es.js +29 -25
  41. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  42. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +16 -12
  43. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +11 -14
  44. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  45. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  46. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  47. package/dist/components/VvInputFile/VvInputFile.es.js +61 -55
  48. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  49. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +2 -2
  50. package/dist/components/VvInputFile/index.d.ts +6 -6
  51. package/dist/components/VvInputText/VvInputText.es.js +287 -286
  52. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  53. package/dist/components/VvInputText/VvInputText.vue.d.ts +2 -2
  54. package/dist/components/VvInputText/index.d.ts +7 -2
  55. package/dist/components/VvNav/VvNav.es.js +23 -20
  56. package/dist/components/VvNav/VvNav.umd.js +1 -1
  57. package/dist/components/VvNavItem/VvNavItem.es.js +6 -6
  58. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  59. package/dist/components/VvRadio/VvRadio.es.js +208 -202
  60. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  61. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  62. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +21 -15
  63. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  64. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
  65. package/dist/components/VvSelect/VvSelect.es.js +22 -20
  66. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  67. package/dist/components/VvSelect/VvSelect.vue.d.ts +2 -2
  68. package/dist/components/VvTab/VvTab.es.js +29 -23
  69. package/dist/components/VvTab/VvTab.umd.js +1 -1
  70. package/dist/components/VvTextarea/VvTextarea.es.js +29 -27
  71. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  72. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +2 -2
  73. package/dist/components/VvTooltip/VvTooltip.es.js +4 -1
  74. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  75. package/dist/components/common/HintSlot.d.ts +3 -4
  76. package/dist/components/index.es.js +905 -888
  77. package/dist/components/index.umd.js +1 -1
  78. package/dist/composables/alert/useAlert.d.ts +2 -2
  79. package/dist/composables/index.es.js +10 -10
  80. package/dist/composables/index.umd.js +1 -1
  81. package/dist/composables/useBlurhash.d.ts +1 -1
  82. package/dist/composables/usePersistence.d.ts +2 -1
  83. package/dist/composables/useUniqueId.d.ts +1 -1
  84. package/dist/directives/index.es.js +5 -2
  85. package/dist/directives/index.umd.js +1 -1
  86. package/dist/directives/v-contextmenu.es.js +1 -1
  87. package/dist/directives/v-contextmenu.umd.js +1 -1
  88. package/dist/directives/v-tooltip.es.js +4 -1
  89. package/dist/directives/v-tooltip.umd.js +1 -1
  90. package/dist/icons.es.js +3 -3
  91. package/dist/icons.umd.js +1 -1
  92. package/dist/index.es.js +2 -2
  93. package/dist/stories/Alert/AlertModifiers.stories.d.ts +1 -1
  94. package/dist/stories/Alert/AlertSlots.stories.d.ts +1 -1
  95. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +1 -1
  96. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +1 -1
  97. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  98. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  99. package/dist/stories/Combobox/Combobox.settings.d.ts +1 -1
  100. package/dist/test/options.d.ts +1 -1
  101. package/dist/test/sleep.d.ts +1 -1
  102. package/dist/types/alert.d.ts +1 -1
  103. package/dist/utils/ObjectUtilities.d.ts +7 -7
  104. package/package.json +232 -239
  105. package/src/Volver.ts +243 -243
  106. package/src/assets/icons/detailed.json +1 -1
  107. package/src/assets/icons/normal.json +1 -1
  108. package/src/assets/icons/simple.json +1 -1
  109. package/src/components/VvAccordion/VvAccordion.vue +155 -155
  110. package/src/components/VvAccordion/index.ts +62 -62
  111. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +220 -219
  112. package/src/components/VvAccordionGroup/index.ts +41 -41
  113. package/src/components/VvAction/VvAction.vue +144 -142
  114. package/src/components/VvAlert/VvAlert.vue +72 -70
  115. package/src/components/VvAlert/index.ts +147 -150
  116. package/src/components/VvAlertGroup/VvAlertGroup.vue +56 -55
  117. package/src/components/VvAlertGroup/index.ts +99 -103
  118. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  119. package/src/components/VvAvatar/index.ts +5 -5
  120. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  121. package/src/components/VvAvatarGroup/index.ts +21 -21
  122. package/src/components/VvBadge/VvBadge.vue +15 -14
  123. package/src/components/VvBadge/index.ts +2 -2
  124. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +49 -48
  125. package/src/components/VvBreadcrumb/index.ts +2 -2
  126. package/src/components/VvButton/VvButton.vue +163 -162
  127. package/src/components/VvButton/index.ts +102 -102
  128. package/src/components/VvButtonGroup/VvButtonGroup.vue +72 -72
  129. package/src/components/VvButtonGroup/index.ts +22 -22
  130. package/src/components/VvCard/VvCard.vue +30 -30
  131. package/src/components/VvCard/index.ts +2 -2
  132. package/src/components/VvCheckbox/VvCheckbox.vue +185 -180
  133. package/src/components/VvCheckbox/index.ts +44 -44
  134. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -86
  135. package/src/components/VvCombobox/VvCombobox.vue +633 -623
  136. package/src/components/VvCombobox/index.ts +166 -166
  137. package/src/components/VvDialog/VvDialog.vue +131 -129
  138. package/src/components/VvDialog/index.ts +35 -35
  139. package/src/components/VvDropdown/VvDropdown.vue +464 -452
  140. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  141. package/src/components/VvDropdown/VvDropdownItem.vue +29 -28
  142. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  143. package/src/components/VvDropdown/VvDropdownOption.vue +47 -47
  144. package/src/components/VvDropdown/index.ts +53 -53
  145. package/src/components/VvIcon/README.md +1 -1
  146. package/src/components/VvIcon/VvIcon.vue +133 -133
  147. package/src/components/VvIcon/index.ts +77 -77
  148. package/src/components/VvInputFile/VvInputFile.vue +367 -363
  149. package/src/components/VvInputFile/index.ts +125 -125
  150. package/src/components/VvInputText/VvInputClearAction.ts +50 -50
  151. package/src/components/VvInputText/VvInputPasswordAction.ts +65 -65
  152. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  153. package/src/components/VvInputText/VvInputText.vue +636 -637
  154. package/src/components/VvInputText/VvInputTextActions.ts +86 -86
  155. package/src/components/VvInputText/index.ts +198 -198
  156. package/src/components/VvNav/VvNav.vue +40 -33
  157. package/src/components/VvNav/VvNavItem.vue +12 -12
  158. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  159. package/src/components/VvNav/index.ts +2 -2
  160. package/src/components/VvProgress/VvProgress.vue +27 -26
  161. package/src/components/VvProgress/index.ts +28 -28
  162. package/src/components/VvRadio/VvRadio.vue +115 -112
  163. package/src/components/VvRadio/index.ts +27 -27
  164. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -89
  165. package/src/components/VvSelect/VvSelect.vue +241 -238
  166. package/src/components/VvSelect/index.ts +62 -62
  167. package/src/components/VvTab/VvTab.vue +79 -73
  168. package/src/components/VvTab/index.ts +12 -12
  169. package/src/components/VvTextarea/VvTextarea.vue +218 -216
  170. package/src/components/VvTextarea/index.ts +35 -35
  171. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  172. package/src/components/VvTooltip/index.ts +12 -12
  173. package/src/components/common/HintSlot.ts +149 -150
  174. package/src/composables/alert/useAlert.ts +74 -74
  175. package/src/composables/alert/useInjectAlert.ts +1 -1
  176. package/src/composables/alert/useProvideAlert.ts +10 -10
  177. package/src/composables/dropdown/useInjectDropdown.ts +6 -6
  178. package/src/composables/dropdown/useProvideDropdown.ts +62 -62
  179. package/src/composables/group/useInjectedGroupState.ts +41 -41
  180. package/src/composables/group/useProvideGroupState.ts +1 -2
  181. package/src/composables/useBlurhash.ts +52 -60
  182. package/src/composables/useComponentFocus.ts +9 -9
  183. package/src/composables/useComponentIcon.ts +35 -35
  184. package/src/composables/useDebouncedInput.ts +25 -25
  185. package/src/composables/useDefaults.ts +77 -76
  186. package/src/composables/useModifiers.ts +29 -29
  187. package/src/composables/useOptions.ts +45 -43
  188. package/src/composables/usePersistence.ts +70 -72
  189. package/src/composables/useTextCount.ts +44 -44
  190. package/src/composables/useUniqueId.ts +3 -2
  191. package/src/composables/useVolver.ts +1 -1
  192. package/src/constants.ts +70 -70
  193. package/src/directives/v-contextmenu.ts +34 -34
  194. package/src/directives/v-tooltip.ts +17 -17
  195. package/src/index.ts +3 -3
  196. package/src/props/index.ts +453 -453
  197. package/src/resolvers/unplugin.ts +138 -138
  198. package/src/shims.d.ts +4 -5
  199. package/src/stories/Accordion/Accordion.settings.ts +49 -49
  200. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  201. package/src/stories/Accordion/Accordion.test.ts +56 -54
  202. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  203. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +69 -67
  204. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +37 -37
  205. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -47
  206. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +34 -34
  207. package/src/stories/Alert/Alert.settings.ts +115 -115
  208. package/src/stories/Alert/Alert.stories.ts +30 -30
  209. package/src/stories/Alert/Alert.test.ts +78 -78
  210. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  211. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  212. package/src/stories/AlertGroup/AlertGroup.settings.ts +104 -104
  213. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  214. package/src/stories/AlertGroup/AlertGroup.test.ts +67 -67
  215. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  216. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  217. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +57 -57
  218. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  219. package/src/stories/Avatar/Avatar.stories.ts +23 -23
  220. package/src/stories/Avatar/Avatar.test.ts +22 -22
  221. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  222. package/src/stories/Avatar/AvatarModifiers.stories.ts +61 -61
  223. package/src/stories/Avatar/AvatarSlots.stories.ts +18 -18
  224. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +53 -53
  225. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  226. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -24
  227. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  228. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  229. package/src/stories/Badge/Badge.settings.ts +20 -20
  230. package/src/stories/Badge/Badge.stories.ts +23 -23
  231. package/src/stories/Badge/Badge.test.ts +8 -8
  232. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  233. package/src/stories/Blurhash/BlurhashComposable.stories.ts +77 -76
  234. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +34 -34
  235. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +22 -22
  236. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  237. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +17 -17
  238. package/src/stories/Button/Button.settings.ts +144 -144
  239. package/src/stories/Button/Button.stories.ts +18 -18
  240. package/src/stories/Button/Button.test.ts +41 -40
  241. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  242. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  243. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  244. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  245. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  246. package/src/stories/Button/ButtonState.stories.ts +23 -23
  247. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  248. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +32 -32
  249. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  250. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -22
  251. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  252. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +18 -18
  253. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  254. package/src/stories/Card/Card.settings.ts +48 -48
  255. package/src/stories/Card/Card.stories.ts +22 -22
  256. package/src/stories/Card/Card.test.ts +14 -14
  257. package/src/stories/Card/CardSlots.stories.ts +42 -42
  258. package/src/stories/Checkbox/Checkbox.settings.ts +35 -35
  259. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  260. package/src/stories/Checkbox/Checkbox.test.ts +63 -62
  261. package/src/stories/Checkbox/CheckboxBinary.stories.ts +17 -17
  262. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  263. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  264. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  265. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +63 -63
  266. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  267. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  268. package/src/stories/Combobox/Combobox.settings.ts +390 -390
  269. package/src/stories/Combobox/Combobox.stories.ts +107 -107
  270. package/src/stories/Combobox/Combobox.test.ts +89 -87
  271. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +24 -24
  272. package/src/stories/Combobox/ComboboxMultiple.stories.ts +22 -22
  273. package/src/stories/Combobox/ComboboxOptions.stories.ts +84 -84
  274. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -55
  275. package/src/stories/Dialog/Dialog.settings.ts +39 -39
  276. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  277. package/src/stories/Dialog/Dialog.test.ts +49 -49
  278. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  279. package/src/stories/Dropdown/Dropdown.settings.ts +62 -62
  280. package/src/stories/Dropdown/Dropdown.stories.ts +59 -59
  281. package/src/stories/Dropdown/Dropdown.test.ts +9 -9
  282. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +16 -16
  283. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +18 -18
  284. package/src/stories/Dropdown/DropdownSlots.stories.ts +49 -49
  285. package/src/stories/Icon/Icon.settings.ts +64 -64
  286. package/src/stories/Icon/Icon.stories.ts +28 -28
  287. package/src/stories/Icon/IconsCollection.stories.ts +22 -22
  288. package/src/stories/InputFile/InputFile.settings.ts +29 -29
  289. package/src/stories/InputFile/InputFile.stories.ts +54 -54
  290. package/src/stories/InputFile/InputFileDropArea.stories.ts +34 -34
  291. package/src/stories/InputFile/InputFileIconPosition.stories.ts +24 -24
  292. package/src/stories/InputFile/InputFileSlots.stories.ts +17 -17
  293. package/src/stories/InputText/InputText.settings.ts +245 -246
  294. package/src/stories/InputText/InputText.stories.ts +67 -67
  295. package/src/stories/InputText/InputText.test.ts +118 -117
  296. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  297. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  298. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  299. package/src/stories/InputText/InputTextMinMax.stories.ts +29 -29
  300. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  301. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  302. package/src/stories/Nav/Nav.settings.ts +25 -25
  303. package/src/stories/Nav/Nav.stories.ts +17 -17
  304. package/src/stories/Nav/Nav.test.ts +10 -10
  305. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  306. package/src/stories/Progress/Progress.settings.ts +23 -23
  307. package/src/stories/Progress/Progress.stories.ts +23 -23
  308. package/src/stories/Progress/Progress.test.ts +4 -4
  309. package/src/stories/Radio/Radio.settings.ts +9 -9
  310. package/src/stories/Radio/Radio.stories.ts +47 -47
  311. package/src/stories/Radio/Radio.test.ts +54 -53
  312. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  313. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  314. package/src/stories/RadioGroup/RadioGroup.stories.ts +50 -50
  315. package/src/stories/RadioGroup/RadioGroup.test.ts +63 -63
  316. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +34 -34
  317. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  318. package/src/stories/Select/Select.settings.ts +70 -70
  319. package/src/stories/Select/Select.stories.ts +66 -66
  320. package/src/stories/Select/Select.test.ts +65 -64
  321. package/src/stories/Select/SelectIconPosition.stories.ts +24 -24
  322. package/src/stories/Select/SelectOptions.stories.ts +54 -54
  323. package/src/stories/Select/SelectSlots.stories.ts +20 -20
  324. package/src/stories/Tab/Tab.settings.ts +32 -32
  325. package/src/stories/Tab/Tab.stories.ts +17 -17
  326. package/src/stories/Tab/Tab.test.ts +17 -17
  327. package/src/stories/Textarea/Textarea.settings.ts +78 -79
  328. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  329. package/src/stories/Textarea/Textarea.test.ts +70 -69
  330. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  331. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  332. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  333. package/src/stories/Tooltip/Tooltip.settings.ts +16 -16
  334. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  335. package/src/stories/Tooltip/Tooltip.test.ts +53 -52
  336. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  337. package/src/stories/argTypes.ts +484 -485
  338. package/src/test/expect.ts +71 -74
  339. package/src/test/options.ts +17 -16
  340. package/src/test/sleep.ts +3 -2
  341. package/src/test/types.d.ts +11 -11
  342. package/src/types/alert.ts +18 -18
  343. package/src/types/blurhash.ts +18 -18
  344. package/src/types/generic.ts +1 -2
  345. package/src/types/group.ts +21 -21
  346. package/src/types/input-file.ts +17 -17
  347. package/src/types/nav.ts +13 -13
  348. package/src/utils/ObjectUtilities.ts +192 -177
@@ -1,46 +1,44 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvDropdownAction',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import VvAction from '../VvAction/VvAction.vue'
9
- import VvDropdownItem from '../VvDropdown/VvDropdownItem.vue'
10
- import { ActionProps, ModifiersProps } from '../../props'
2
+ import VvAction from '../VvAction/VvAction.vue'
3
+ import VvDropdownItem from '../VvDropdown/VvDropdownItem.vue'
4
+ import { ActionProps, ModifiersProps } from '../../props'
11
5
 
12
- // props
13
- const props = defineProps({
14
- ...ActionProps,
15
- ...ModifiersProps,
16
- })
6
+ // props
7
+ const props = defineProps({
8
+ ...ActionProps,
9
+ ...ModifiersProps,
10
+ })
17
11
 
18
- /**
19
- * @description Define component classes with BEM style.
20
- * @returns {Array} The component classes.
21
- */
22
- const { modifiers } = toRefs(props)
23
- const bemCssClasses = useModifiers('vv-dropdown-action', modifiers)
12
+ /**
13
+ * @description Define component classes with BEM style.
14
+ * @returns {Array} The component classes.
15
+ */
16
+ const { modifiers } = toRefs(props)
17
+ const bemCssClasses = useModifiers('vv-dropdown-action', modifiers)
24
18
  </script>
25
19
 
20
+ export default {
21
+ name: 'VvDropdownAction',
22
+ }
23
+
26
24
  <template>
27
- <VvDropdownItem>
28
- <VvAction
29
- v-bind="{
30
- disabled,
31
- pressed,
32
- active,
33
- type,
34
- to,
35
- href,
36
- target,
37
- rel,
38
- }"
39
- :class="bemCssClasses"
40
- >
41
- <slot>
42
- {{ label }}
43
- </slot>
44
- </VvAction>
45
- </VvDropdownItem>
25
+ <VvDropdownItem>
26
+ <VvAction
27
+ v-bind="{
28
+ disabled,
29
+ pressed,
30
+ active,
31
+ type,
32
+ to,
33
+ href,
34
+ target,
35
+ rel,
36
+ }"
37
+ :class="bemCssClasses"
38
+ >
39
+ <slot>
40
+ {{ label }}
41
+ </slot>
42
+ </VvAction>
43
+ </VvDropdownItem>
46
44
  </template>
@@ -1,35 +1,36 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvDropdownItem',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import { VvDropdownItemProps } from '.'
2
+ import { VvDropdownItemProps } from '.'
3
+
4
+ const props = defineProps(VvDropdownItemProps)
9
5
 
10
- const props = defineProps(VvDropdownItemProps)
11
- const { role, expanded } = useInjectedDropdownItem()
12
- const element = ref(null)
13
- useProvideDropdownAction({ expanded })
14
- const hovered = useElementHover(element)
15
- const { focused } = useFocus(element)
16
- const { focused: focusedWithin } = useFocusWithin(element)
6
+ const { role, expanded } = useInjectedDropdownItem()
7
+ const element = ref(null)
8
+ useProvideDropdownAction({ expanded })
9
+ const hovered = useElementHover(element)
10
+ const { focused } = useFocus(element)
11
+ const { focused: focusedWithin } = useFocusWithin(element)
17
12
 
18
- // focus item on hover
19
- watch(hovered, (newValue) => {
20
- if (newValue && props.focusOnHover) {
21
- focused.value = true
22
- }
23
- })
13
+ // focus item on hover
14
+ watch(hovered, (newValue) => {
15
+ if (newValue && props.focusOnHover) {
16
+ focused.value = true
17
+ }
18
+ })
19
+ </script>
20
+
21
+ <script lang="ts">
22
+ export default {
23
+ name: 'VvDropdownItem',
24
+ }
24
25
  </script>
25
26
 
26
27
  <template>
27
- <div
28
- v-bind="{ role }"
29
- ref="element"
30
- class="vv-dropdown__item"
31
- :class="{ 'focus-visible': focused || focusedWithin }"
32
- >
33
- <slot />
34
- </div>
28
+ <div
29
+ v-bind="{ role }"
30
+ ref="element"
31
+ class="vv-dropdown__item"
32
+ :class="{ 'focus-visible': focused || focusedWithin }"
33
+ >
34
+ <slot />
35
+ </div>
35
36
  </template>
@@ -1,18 +1,19 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvDropdownOptgroup',
4
- }
1
+ <script setup lang="ts">
2
+ import { LabelProps } from '../../props'
3
+
4
+ const props = defineProps({
5
+ ...LabelProps,
6
+ })
5
7
  </script>
6
8
 
7
- <script setup lang="ts">
8
- import { LabelProps } from '../../props'
9
- const props = defineProps({
10
- ...LabelProps,
11
- })
9
+ <script lang="ts">
10
+ export default {
11
+ name: 'VvDropdownOptgroup',
12
+ }
12
13
  </script>
13
14
 
14
15
  <template>
15
- <li class="vv-dropdown-optgroup" role="presentation" tabindex="-1">
16
- {{ props.label }}
17
- </li>
16
+ <li class="vv-dropdown-optgroup" role="presentation" tabindex="-1">
17
+ {{ props.label }}
18
+ </li>
18
19
  </template>
@@ -1,55 +1,55 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvDropdownOption',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import { VvDropdownOptionProps } from '.'
9
- import VvDropdownItem from './VvDropdownItem.vue'
2
+ import VvDropdownItem from './VvDropdownItem.vue'
3
+ import { VvDropdownOptionProps } from '.'
10
4
 
11
- // props
12
- const props = defineProps(VvDropdownOptionProps)
5
+ // props
6
+ const props = defineProps(VvDropdownOptionProps)
13
7
 
14
- // style
15
- const { modifiers } = toRefs(props)
16
- const bemCssClasses = useModifiers(
17
- 'vv-dropdown-option',
18
- modifiers,
19
- computed(() => ({
20
- disabled: props.disabled,
21
- selected: props.selected,
22
- unselectable: props.unselectable && props.selected,
23
- })),
24
- )
8
+ // style
9
+ const { modifiers } = toRefs(props)
10
+ const bemCssClasses = useModifiers(
11
+ 'vv-dropdown-option',
12
+ modifiers,
13
+ computed(() => ({
14
+ disabled: props.disabled,
15
+ selected: props.selected,
16
+ unselectable: props.unselectable && props.selected,
17
+ })),
18
+ )
25
19
 
26
- // hint
27
- const hintLabel = computed(() => {
28
- if (props.selected) {
29
- return props.unselectable
30
- ? props.deselectHintLabel
31
- : props.selectedHintLabel
32
- }
33
- if (!props.disabled) {
34
- return props.selectHintLabel
35
- }
36
- return ''
37
- })
20
+ // hint
21
+ const hintLabel = computed(() => {
22
+ if (props.selected) {
23
+ return props.unselectable
24
+ ? props.deselectHintLabel
25
+ : props.selectedHintLabel
26
+ }
27
+ if (!props.disabled) {
28
+ return props.selectHintLabel
29
+ }
30
+ return ''
31
+ })
32
+ </script>
33
+
34
+ <script lang="ts">
35
+ export default {
36
+ name: 'VvDropdownOption',
37
+ }
38
38
  </script>
39
39
 
40
40
  <template>
41
- <VvDropdownItem
42
- :class="bemCssClasses"
43
- :tabindex="disabled ? -1 : 0"
44
- :aria-selected="selected"
45
- :aria-disabled="disabled"
46
- :focus-on-hover="focusOnHover"
47
- >
48
- <slot />
49
- <span class="vv-dropdown-option__hint" :title="hintLabel">
50
- <slot name="hint" v-bind="{ disabled, selected, unselectable }">
51
- {{ hintLabel }}
52
- </slot>
53
- </span>
54
- </VvDropdownItem>
41
+ <VvDropdownItem
42
+ :class="bemCssClasses"
43
+ :tabindex="disabled ? -1 : 0"
44
+ :aria-selected="selected"
45
+ :aria-disabled="disabled"
46
+ :focus-on-hover="focusOnHover"
47
+ >
48
+ <slot />
49
+ <span class="vv-dropdown-option__hint" :title="hintLabel">
50
+ <slot name="hint" v-bind="{ disabled, selected, unselectable }">
51
+ {{ hintLabel }}
52
+ </slot>
53
+ </span>
54
+ </VvDropdownItem>
55
55
  </template>
@@ -1,66 +1,66 @@
1
1
  import type { PropType } from 'vue'
2
2
  import {
3
- DropdownProps,
4
- IdProps,
5
- DisabledProps,
6
- ModifiersProps,
7
- SelectedProps,
8
- UnselectableProps,
3
+ DropdownProps,
4
+ IdProps,
5
+ DisabledProps,
6
+ ModifiersProps,
7
+ SelectedProps,
8
+ UnselectableProps,
9
9
  } from '../../props'
10
10
  import { DropdownRole } from '../../constants'
11
11
 
12
12
  export const VvDropdownProps = {
13
- ...IdProps,
14
- ...DropdownProps,
15
- ...ModifiersProps,
16
- /**
17
- * Show / hide dropdown programmatically
18
- */
19
- modelValue: {
20
- type: Boolean,
21
- default: undefined,
22
- },
23
- /**
24
- * Dropdown trigger element
25
- */
26
- reference: {
27
- type: Object as PropType<HTMLElement | null>,
28
- default: null,
29
- },
30
- /**
31
- * Dropdown role
32
- */
33
- role: {
34
- type: String as PropType<`${DropdownRole}`>,
35
- default: DropdownRole.menu,
36
- validator: (value: DropdownRole) =>
37
- Object.values(DropdownRole).includes(value),
38
- },
13
+ ...IdProps,
14
+ ...DropdownProps,
15
+ ...ModifiersProps,
16
+ /**
17
+ * Show / hide dropdown programmatically
18
+ */
19
+ modelValue: {
20
+ type: Boolean,
21
+ default: undefined,
22
+ },
23
+ /**
24
+ * Dropdown trigger element
25
+ */
26
+ reference: {
27
+ type: Object as PropType<HTMLElement | null>,
28
+ default: null,
29
+ },
30
+ /**
31
+ * Dropdown role
32
+ */
33
+ role: {
34
+ type: String as PropType<`${DropdownRole}`>,
35
+ default: DropdownRole.menu,
36
+ validator: (value: DropdownRole) =>
37
+ Object.values(DropdownRole).includes(value),
38
+ },
39
39
  }
40
40
 
41
41
  export const VvDropdownItemProps = {
42
- focusOnHover: {
43
- type: Boolean,
44
- default: false,
45
- },
42
+ focusOnHover: {
43
+ type: Boolean,
44
+ default: false,
45
+ },
46
46
  }
47
47
 
48
48
  export const VvDropdownOptionProps = {
49
- ...DisabledProps,
50
- ...SelectedProps,
51
- ...UnselectableProps,
52
- ...ModifiersProps,
53
- deselectHintLabel: {
54
- type: String,
55
- },
56
- selectHintLabel: {
57
- type: String,
58
- },
59
- selectedHintLabel: {
60
- type: String,
61
- },
62
- focusOnHover: {
63
- type: Boolean,
64
- default: false,
65
- },
49
+ ...DisabledProps,
50
+ ...SelectedProps,
51
+ ...UnselectableProps,
52
+ ...ModifiersProps,
53
+ deselectHintLabel: {
54
+ type: String,
55
+ },
56
+ selectHintLabel: {
57
+ type: String,
58
+ },
59
+ selectedHintLabel: {
60
+ type: String,
61
+ },
62
+ focusOnHover: {
63
+ type: Boolean,
64
+ default: false,
65
+ },
66
66
  }
@@ -47,7 +47,7 @@ Launch the script `generate-icons --srcPath=assets/icons/custom` to generate the
47
47
  import customIcons from '@/assets/icons/custom.json'
48
48
 
49
49
  app.use(VolverPlugin, {
50
- iconsCollections: [customIcons]
50
+ iconsCollections: [customIcons]
51
51
  })
52
52
  ```
53
53
 
@@ -1,139 +1,139 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvIcon',
4
- }
1
+ <script setup lang="ts">
2
+ import { Icon, addIcon, iconExists } from '@iconify/vue'
3
+ import { type VvIconProps, VvIconPropsDefaults } from '.'
4
+
5
+ // props
6
+ const props = withDefaults(defineProps<VvIconProps>(), VvIconPropsDefaults)
7
+
8
+ const hasRotate = computed(() => {
9
+ if (typeof props.rotate === 'string') {
10
+ return Number.parseFloat(props.rotate)
11
+ }
12
+ return props.rotate
13
+ })
14
+
15
+ // data
16
+ const show = ref(true)
17
+
18
+ // inject plugin
19
+ const volver = useVolver()
20
+
21
+ // classes
22
+ const { modifiers } = toRefs(props)
23
+ const bemCssClasses = useModifiers('vv-icon', modifiers)
24
+
25
+ // provider name
26
+ const provider = computed(() => {
27
+ return props.provider || volver?.iconsProvider
28
+ })
29
+
30
+ // icon name
31
+ const icon = computed(() => {
32
+ const name = props.name ?? ''
33
+ // compose Iconify icon name format
34
+ const iconName = `@${provider.value}:${props.prefix}:${name}`
35
+
36
+ // Check if icon with prefix and provider exist
37
+ if (iconExists(iconName)) {
38
+ return iconName
39
+ }
40
+
41
+ // Check if icon exist into any collection
42
+ const iconsCollection = volver?.iconsCollections.find(
43
+ (iconsCollection) => {
44
+ const icon = `@${provider.value}:${iconsCollection.prefix}:${name}`
45
+ return iconExists(icon)
46
+ },
47
+ )
48
+ if (iconsCollection) {
49
+ return `@${provider.value}:${iconsCollection.prefix}:${name}`
50
+ }
51
+
52
+ return name
53
+ })
54
+
55
+ /**
56
+ * Get SVG content from SVG string
57
+ * @param {string} svg
58
+ * @return {SVGSVGElement | undefined} https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement
59
+ */
60
+ function getSvgContent(svg: string): SVGSVGElement | undefined {
61
+ let dom
62
+ if (typeof window === 'undefined') {
63
+ // SSR
64
+ // eslint-disable-next-line ts/no-var-requires, ts/no-require-imports
65
+ const { JSDOM } = require('jsdom')
66
+ dom = new JSDOM().window
67
+ }
68
+ const domParser = dom ? new dom.DOMParser() : new window.DOMParser()
69
+ const svgDomString = domParser.parseFromString(svg, 'text/html')
70
+ const svgEl = svgDomString.querySelector('svg')
71
+ return svgEl
72
+ }
73
+
74
+ /**
75
+ * Add icon to current Iconify provider
76
+ * @param {string} svg
77
+ */
78
+ function addIconFromSvg(svg: string) {
79
+ const svgContentEl = getSvgContent(svg)
80
+ const svgContent = svgContentEl?.innerHTML.trim() || ''
81
+ if (svgContentEl && svgContent) {
82
+ addIcon(`@${provider.value}:${props.prefix}:${props.name}`, {
83
+ body: svgContent,
84
+ // Set height and width from svg content
85
+ height: svgContentEl.viewBox.baseVal.height,
86
+ width: svgContentEl.viewBox.baseVal.width,
87
+ })
88
+ }
89
+ }
90
+
91
+ if (volver) {
92
+ if (
93
+ props.src
94
+ && !iconExists(`@${provider.value}:${props.prefix}:${props.name}`)
95
+ ) {
96
+ show.value = false
97
+ volver
98
+ .fetchIcon(props.src)
99
+ .then((svg?: string) => {
100
+ if (svg) {
101
+ addIconFromSvg(svg)
102
+ show.value = true
103
+ }
104
+ })
105
+ .catch((e) => {
106
+ throw new Error(`Error during fetch icon: ${e?.message}`)
107
+ })
108
+ }
109
+ }
110
+
111
+ if (props.svg) {
112
+ addIconFromSvg(props.svg)
113
+ }
5
114
  </script>
6
115
 
7
- <script setup lang="ts">
8
- import { Icon, addIcon, iconExists } from '@iconify/vue'
9
- import { type VvIconProps, VvIconPropsDefaults } from '.'
10
-
11
- // props
12
- const props = withDefaults(defineProps<VvIconProps>(), VvIconPropsDefaults)
13
-
14
- const hasRotate = computed(() => {
15
- if (typeof props.rotate === 'string') {
16
- return parseFloat(props.rotate)
17
- }
18
- return props.rotate
19
- })
20
-
21
- // data
22
- const show = ref(true)
23
-
24
- // inject plugin
25
- const volver = useVolver()
26
-
27
- // classes
28
- const { modifiers } = toRefs(props)
29
- const bemCssClasses = useModifiers('vv-icon', modifiers)
30
-
31
- // provider name
32
- const provider = computed(() => {
33
- return props.provider || volver?.iconsProvider
34
- })
35
-
36
- // icon name
37
- const icon = computed(() => {
38
- const name = props.name ?? ''
39
- // compose Iconify icon name format
40
- const iconName = `@${provider.value}:${props.prefix}:${name}`
41
-
42
- // Check if icon with prefix and provider exist
43
- if (iconExists(iconName)) {
44
- return iconName
45
- }
46
-
47
- // Check if icon exist into any collection
48
- const iconsCollection = volver?.iconsCollections.find(
49
- (iconsCollection) => {
50
- const icon = `@${provider.value}:${iconsCollection.prefix}:${name}`
51
- return iconExists(icon)
52
- },
53
- )
54
- if (iconsCollection) {
55
- return `@${provider.value}:${iconsCollection.prefix}:${name}`
56
- }
57
-
58
- return name
59
- })
60
-
61
- /**
62
- * Get SVG content from SVG string
63
- * @param {string} svg
64
- * @return {SVGSVGElement | undefined} https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement
65
- */
66
- function getSvgContent(svg: string): SVGSVGElement | undefined {
67
- let dom
68
- if (typeof window === 'undefined') {
69
- // SSR
70
- // eslint-disable-next-line @typescript-eslint/no-var-requires, no-undef
71
- const { JSDOM } = require('jsdom')
72
- dom = new JSDOM().window
73
- }
74
- const domParser = dom ? new dom.DOMParser() : new window.DOMParser()
75
- const svgDomString = domParser.parseFromString(svg, 'text/html')
76
- const svgEl = svgDomString.querySelector('svg')
77
- return svgEl
78
- }
79
-
80
- /**
81
- * Add icon to current Iconify provider
82
- * @param {string} svg
83
- */
84
- function addIconFromSvg(svg: string) {
85
- const svgContentEl = getSvgContent(svg)
86
- const svgContent = svgContentEl?.innerHTML.trim() || ''
87
- if (svgContentEl && svgContent) {
88
- addIcon(`@${provider.value}:${props.prefix}:${props.name}`, {
89
- body: svgContent,
90
- // Set height and width from svg content
91
- height: svgContentEl.viewBox.baseVal.height,
92
- width: svgContentEl.viewBox.baseVal.width,
93
- })
94
- }
95
- }
96
-
97
- if (volver) {
98
- if (
99
- props.src &&
100
- !iconExists(`@${provider.value}:${props.prefix}:${props.name}`)
101
- ) {
102
- show.value = false
103
- volver
104
- .fetchIcon(props.src)
105
- .then((svg?: string) => {
106
- if (svg) {
107
- addIconFromSvg(svg)
108
- show.value = true
109
- }
110
- })
111
- .catch((e) => {
112
- throw new Error(`Error during fetch icon: ${e?.message}`)
113
- })
114
- }
115
- }
116
-
117
- if (props.svg) {
118
- addIconFromSvg(props.svg)
119
- }
116
+ <script lang="ts">
117
+ export default {
118
+ name: 'VvIcon',
119
+ }
120
120
  </script>
121
121
 
122
122
  <template>
123
- <Icon
124
- v-if="show"
125
- :class="bemCssClasses"
126
- v-bind="{
127
- inline,
128
- width,
129
- height,
130
- horizontalFlip,
131
- verticalFlip,
132
- flip,
133
- rotate: hasRotate,
134
- color,
135
- onLoad,
136
- icon,
137
- }"
138
- />
123
+ <Icon
124
+ v-if="show"
125
+ :class="bemCssClasses"
126
+ v-bind="{
127
+ inline,
128
+ width,
129
+ height,
130
+ horizontalFlip,
131
+ verticalFlip,
132
+ flip,
133
+ rotate: hasRotate,
134
+ color,
135
+ onLoad,
136
+ icon,
137
+ }"
138
+ />
139
139
  </template>