@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,41 +1,48 @@
1
1
  <script setup lang="ts">
2
- import { VvNavProps, VvNavEvents } from '@/components/VvNav'
3
- import VvNavItem from './VvNavItem.vue'
2
+ import VvNavItem from './VvNavItem.vue'
3
+ import { VvNavProps, VvNavEvents } from '@/components/VvNav'
4
4
 
5
- const props = defineProps(VvNavProps)
6
- const { modifiers } = toRefs(props)
5
+ const props = defineProps(VvNavProps)
6
+ const emit = defineEmits(VvNavEvents)
7
7
 
8
- const emit = defineEmits(VvNavEvents)
9
- const onClick = (event: Event) => {
10
- const target = event.target as HTMLElement
11
- if (target?.dataset.index) {
12
- const index = parseInt(target.dataset.index)
13
- const item = props.items?.[index]
14
- if (!item || item?.disabled) {
15
- return
16
- }
17
- emit('click', item)
18
- }
19
- }
8
+ const { modifiers } = toRefs(props)
20
9
 
21
- // bem css classes
22
- const bemCssClasses = useModifiers('vv-nav', modifiers)
10
+ function onClick(event: Event) {
11
+ const target = event.target as HTMLElement
12
+ if (target?.dataset.index) {
13
+ const index = Number.parseInt(target.dataset.index)
14
+ const item = props.items?.[index]
15
+ if (!item || item?.disabled) {
16
+ return
17
+ }
18
+ emit('click', item)
19
+ }
20
+ }
21
+
22
+ // bem css classes
23
+ const bemCssClasses = useModifiers('vv-nav', modifiers)
24
+ </script>
25
+
26
+ <script lang="ts">
27
+ export default {
28
+ name: 'VvNav',
29
+ }
23
30
  </script>
24
31
 
25
32
  <template>
26
- <nav :class="bemCssClasses">
27
- <ul class="vv-nav__menu" role="menu" @click.stop="onClick">
28
- <slot>
29
- <VvNavItem
30
- v-for="({ on = {}, data, ...item }, index) in items"
31
- :key="index"
32
- :data-index="index"
33
- v-bind="item"
34
- v-on="on"
35
- >
36
- <slot name="item" v-bind="{ item, data, index }" />
37
- </VvNavItem>
38
- </slot>
39
- </ul>
40
- </nav>
33
+ <nav :class="bemCssClasses">
34
+ <ul class="vv-nav__menu" role="menu" @click.stop="onClick">
35
+ <slot>
36
+ <VvNavItem
37
+ v-for="({ on = {}, data, ...item }, index) in items"
38
+ :key="index"
39
+ :data-index="index"
40
+ v-bind="item"
41
+ v-on="on"
42
+ >
43
+ <slot name="item" v-bind="{ item, data, index }" />
44
+ </VvNavItem>
45
+ </slot>
46
+ </ul>
47
+ </nav>
41
48
  </template>
@@ -1,18 +1,18 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvNavItem',
4
- inheritAttrs: false,
5
- }
1
+ <script setup lang="ts">
2
+ import VvAction from '@/components/VvAction/VvAction.vue'
6
3
  </script>
7
4
 
8
- <script setup lang="ts">
9
- import VvAction from '@/components/VvAction/VvAction.vue'
5
+ <script lang="ts">
6
+ export default {
7
+ name: 'VvNavItem',
8
+ inheritAttrs: false,
9
+ }
10
10
  </script>
11
11
 
12
12
  <template>
13
- <li class="vv-nav__item" role="presentation">
14
- <VvAction v-bind="$attrs" class="vv-nav__item-label" role="menuitem">
15
- <slot />
16
- </VvAction>
17
- </li>
13
+ <li class="vv-nav__item" role="presentation">
14
+ <VvAction v-bind="$attrs" class="vv-nav__item-label" role="menuitem">
15
+ <slot />
16
+ </VvAction>
17
+ </li>
18
18
  </template>
@@ -1,11 +1,11 @@
1
1
  <script lang="ts">
2
- export default {
3
- name: 'VvNavSeparator',
4
- }
2
+ export default {
3
+ name: 'VvNavSeparator',
4
+ }
5
5
  </script>
6
6
 
7
7
  <template>
8
- <li class="vv-nav__separator" role="separator">
9
- <slot />
10
- </li>
8
+ <li class="vv-nav__separator" role="separator">
9
+ <slot />
10
+ </li>
11
11
  </template>
@@ -1,8 +1,8 @@
1
1
  import { ModifiersProps, NavProps } from '@/props'
2
2
 
3
3
  export const VvNavProps = {
4
- ...ModifiersProps,
5
- ...NavProps,
4
+ ...ModifiersProps,
5
+ ...NavProps,
6
6
  }
7
7
 
8
8
  export const VvNavEvents = ['click']
@@ -1,33 +1,34 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvProgress',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import { VvProgressProps } from '.'
2
+ import { VvProgressProps } from '.'
3
+
4
+ // props
5
+ const props = defineProps(VvProgressProps)
9
6
 
10
- // props
11
- const props = defineProps(VvProgressProps)
12
- const { value, max, label: ariaLabel } = toRefs(props)
13
- const indeterminate = computed(() => props.value === undefined)
7
+ const { value, max, label: ariaLabel } = toRefs(props)
8
+ const indeterminate = computed(() => props.value === undefined)
14
9
 
15
- // styles
16
- const { modifiers } = toRefs(props)
17
- const bemCssClasses = useModifiers(
18
- 'vv-progress',
19
- modifiers,
20
- computed(() => ({ indeterminate: indeterminate.value })),
21
- )
10
+ // styles
11
+ const { modifiers } = toRefs(props)
12
+ const bemCssClasses = useModifiers(
13
+ 'vv-progress',
14
+ modifiers,
15
+ computed(() => ({ indeterminate: indeterminate.value })),
16
+ )
17
+ </script>
18
+
19
+ <script lang="ts">
20
+ export default {
21
+ name: 'VvProgress',
22
+ }
22
23
  </script>
23
24
 
24
25
  <template>
25
- <progress
26
- v-bind="{
27
- class: bemCssClasses,
28
- ariaLabel,
29
- max,
30
- value,
31
- }"
32
- />
26
+ <progress
27
+ v-bind="{
28
+ class: bemCssClasses,
29
+ ariaLabel,
30
+ max,
31
+ value,
32
+ }"
33
+ />
33
34
  </template>
@@ -1,32 +1,32 @@
1
1
  import { ModifiersProps } from '../../props'
2
2
 
3
3
  export const VvProgressProps = {
4
- ...ModifiersProps,
5
- /**
6
- * Progress value
7
- * This attribute specifies how much of the task that has been completed.
8
- * It must be a valid floating point number between 0 and max, or between 0 and 1 if max is omitted.
9
- * If there is no value attribute, the progress bar is indeterminate.
10
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#attr-max
11
- */
12
- value: {
13
- type: [Number, String],
14
- default: undefined,
15
- },
16
- /**
17
- * Progress max
18
- * This attribute describes how much work the task indicated by the progress element requires.
19
- * The max attribute, if present, must have a value greater than 0 and be a valid floating point number. The default value is 1.
20
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#attr-max
21
- */
22
- max: {
23
- type: [Number, String],
24
- },
25
- /**
26
- * Progress aria-label
27
- */
28
- label: {
29
- type: String,
30
- required: true,
31
- },
4
+ ...ModifiersProps,
5
+ /**
6
+ * Progress value
7
+ * This attribute specifies how much of the task that has been completed.
8
+ * It must be a valid floating point number between 0 and max, or between 0 and 1 if max is omitted.
9
+ * If there is no value attribute, the progress bar is indeterminate.
10
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#attr-max
11
+ */
12
+ value: {
13
+ type: [Number, String],
14
+ default: undefined,
15
+ },
16
+ /**
17
+ * Progress max
18
+ * This attribute describes how much work the task indicated by the progress element requires.
19
+ * The max attribute, if present, must have a value greater than 0 and be a valid floating point number. The default value is 1.
20
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#attr-max
21
+ */
22
+ max: {
23
+ type: [Number, String],
24
+ },
25
+ /**
26
+ * Progress aria-label
27
+ */
28
+ label: {
29
+ type: String,
30
+ required: true,
31
+ },
32
32
  }
@@ -1,124 +1,127 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvRadio',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import { VvRadioProps, VvRadioEvents, useGroupProps } from '.'
9
- import { HintSlotFactory } from '../common/HintSlot'
2
+ import { HintSlotFactory } from '../common/HintSlot'
3
+ import { VvRadioProps, VvRadioEvents, useGroupProps } from '.'
4
+
5
+ // props, emit and slots
6
+ const props = defineProps(VvRadioProps)
10
7
 
11
- // props, emit and slots
12
- const props = defineProps(VvRadioProps)
13
- const emit = defineEmits(VvRadioEvents)
14
- const slots = useSlots()
8
+ const emit = defineEmits(VvRadioEvents)
15
9
 
16
- // props merged with volver defaults (now only for labels)
17
- const propsDefaults = useDefaults<typeof VvRadioProps>(
18
- 'VvRadio',
19
- VvRadioProps,
20
- props,
21
- )
10
+ const slots = useSlots()
22
11
 
23
- // data
24
- const { id, disabled, readonly, modelValue, valid, invalid } =
25
- useGroupProps(props, emit)
26
- const hasId = useUniqueId(id)
27
- const hasHintId = computed(() => `${hasId.value}-hint`)
28
- const tabindex = computed(() => (isDisabled.value ? -1 : props.tabindex))
12
+ // props merged with volver defaults (now only for labels)
13
+ const propsDefaults = useDefaults<typeof VvRadioProps>(
14
+ 'VvRadio',
15
+ VvRadioProps,
16
+ props,
17
+ )
29
18
 
30
- // template refs
31
- const input = ref()
19
+ // data
20
+ const { id, disabled, readonly, modelValue, valid, invalid }
21
+ = useGroupProps(props, emit)
22
+ const hasId = useUniqueId(id)
23
+ const hasHintId = computed(() => `${hasId.value}-hint`)
24
+ const tabindex = computed(() => (isDisabled.value ? -1 : props.tabindex))
32
25
 
33
- // computed
34
- const isDisabled = computed(() => disabled.value || readonly.value)
35
- const isInvalid = computed(() => {
36
- if (invalid.value === true) {
37
- return true
38
- }
39
- if (valid.value === true) {
40
- return false
41
- }
42
- return undefined
43
- })
44
- const isChecked = computed(() =>
45
- Array.isArray(modelValue.value)
46
- ? contains(props.value, modelValue.value)
47
- : equals(props.value, modelValue.value),
48
- )
49
- const hasValue = computed(() =>
50
- ['string', 'number', 'boolean'].includes(typeof props.value)
51
- ? props.value
52
- : true,
53
- )
54
- const localModelValue = computed({
55
- get() {
56
- return isChecked.value ? hasValue.value : null
57
- },
58
- set(newValue) {
59
- if (Array.isArray(modelValue.value)) {
60
- modelValue.value = [props.value]
61
- } else {
62
- modelValue.value = props.value
63
- }
64
- emit('change', newValue)
65
- },
66
- })
26
+ // template refs
27
+ const input = ref()
67
28
 
68
- // styles
69
- const { modifiers } = toRefs(props)
70
- const bemCssClasses = useModifiers(
71
- 'vv-radio',
72
- modifiers,
73
- computed(() => ({
74
- valid: valid.value,
75
- invalid: invalid.value,
76
- disabled: disabled.value,
77
- readonly: readonly.value,
78
- })),
79
- )
29
+ // computed
30
+ const isDisabled = computed(() => disabled.value || readonly.value)
31
+ const isInvalid = computed(() => {
32
+ if (invalid.value === true) {
33
+ return true
34
+ }
35
+ if (valid.value === true) {
36
+ return false
37
+ }
38
+ return undefined
39
+ })
40
+ const isChecked = computed(() =>
41
+ Array.isArray(modelValue.value)
42
+ ? contains(props.value, modelValue.value)
43
+ : equals(props.value, modelValue.value),
44
+ )
45
+ const hasValue = computed(() =>
46
+ ['string', 'number', 'boolean'].includes(typeof props.value)
47
+ ? props.value
48
+ : true,
49
+ )
50
+ const localModelValue = computed({
51
+ get() {
52
+ return isChecked.value ? hasValue.value : null
53
+ },
54
+ set(newValue) {
55
+ if (Array.isArray(modelValue.value)) {
56
+ modelValue.value = [props.value]
57
+ }
58
+ else {
59
+ modelValue.value = props.value
60
+ }
61
+ emit('change', newValue)
62
+ },
63
+ })
80
64
 
81
- // hint
82
- const {
83
- HintSlot,
84
- hasHintLabelOrSlot,
85
- hasInvalidLabelOrSlot,
86
- hintSlotScope,
87
- } = HintSlotFactory(propsDefaults, slots)
65
+ // styles
66
+ const { modifiers } = toRefs(props)
67
+ const bemCssClasses = useModifiers(
68
+ 'vv-radio',
69
+ modifiers,
70
+ computed(() => ({
71
+ valid: valid.value,
72
+ invalid: invalid.value,
73
+ disabled: disabled.value,
74
+ readonly: readonly.value,
75
+ })),
76
+ )
77
+
78
+ // hint
79
+ const {
80
+ HintSlot,
81
+ hasHintLabelOrSlot,
82
+ hasInvalidLabelOrSlot,
83
+ hintSlotScope,
84
+ } = HintSlotFactory(propsDefaults, slots)
85
+ </script>
86
+
87
+ <script lang="ts">
88
+ export default {
89
+ name: 'VvRadio',
90
+ }
88
91
  </script>
89
92
 
90
93
  <template>
91
- <label :class="bemCssClasses" :for="hasId">
92
- <input
93
- :id="hasId"
94
- ref="input"
95
- v-model="localModelValue"
96
- type="radio"
97
- class="vv-radio__input"
98
- :name="name"
99
- :disabled="isDisabled"
100
- :value="hasValue"
101
- :tabindex="tabindex"
102
- :aria-invalid="isInvalid"
103
- :aria-describedby="hasHintLabelOrSlot ? hasHintId : undefined"
104
- :aria-errormessage="hasInvalidLabelOrSlot ? hasHintId : undefined"
105
- />
106
- <slot :value="modelValue">
107
- {{ label }}
108
- </slot>
109
- <HintSlot :id="hasHintId" class="vv-radio__hint">
110
- <template v-if="$slots.hint" #hint>
111
- <slot name="hint" v-bind="hintSlotScope" />
112
- </template>
113
- <template v-if="$slots.loading" #loading>
114
- <slot name="loading" v-bind="hintSlotScope" />
115
- </template>
116
- <template v-if="$slots.valid" #valid>
117
- <slot name="valid" v-bind="hintSlotScope" />
118
- </template>
119
- <template v-if="$slots.invalid" #invalid>
120
- <slot name="invalid" v-bind="hintSlotScope" />
121
- </template>
122
- </HintSlot>
123
- </label>
94
+ <label :class="bemCssClasses" :for="hasId">
95
+ <input
96
+ :id="hasId"
97
+ ref="input"
98
+ v-model="localModelValue"
99
+ type="radio"
100
+ class="vv-radio__input"
101
+ :name="name"
102
+ :disabled="isDisabled"
103
+ :value="hasValue"
104
+ :tabindex="tabindex"
105
+ :aria-invalid="isInvalid"
106
+ :aria-describedby="hasHintLabelOrSlot ? hasHintId : undefined"
107
+ :aria-errormessage="hasInvalidLabelOrSlot ? hasHintId : undefined"
108
+ >
109
+ <slot :value="modelValue">
110
+ {{ label }}
111
+ </slot>
112
+ <HintSlot :id="hasHintId" class="vv-radio__hint">
113
+ <template v-if="$slots.hint" #hint>
114
+ <slot name="hint" v-bind="hintSlotScope" />
115
+ </template>
116
+ <template v-if="$slots.loading" #loading>
117
+ <slot name="loading" v-bind="hintSlotScope" />
118
+ </template>
119
+ <template v-if="$slots.valid" #valid>
120
+ <slot name="valid" v-bind="hintSlotScope" />
121
+ </template>
122
+ <template v-if="$slots.invalid" #invalid>
123
+ <slot name="invalid" v-bind="hintSlotScope" />
124
+ </template>
125
+ </HintSlot>
126
+ </label>
124
127
  </template>
@@ -13,34 +13,34 @@ export type VvRadioPropsType = ExtractPropTypes<typeof VvRadioProps>
13
13
  * Merges local and group props
14
14
  */
15
15
  export function useGroupProps(
16
- props: VvRadioPropsType,
17
- emit: (event: (typeof VvRadioEvents)[number], value: unknown) => void,
16
+ props: VvRadioPropsType,
17
+ emit: (event: (typeof VvRadioEvents)[number], value: unknown) => void,
18
18
  ) {
19
- const { id } = toRefs(props)
20
- const { group, isInGroup, getGroupOrLocalRef } =
21
- useInjectedGroupState<InputGroupState>(INJECTION_KEY_RADIO_GROUP)
19
+ const { id } = toRefs(props)
20
+ const { group, isInGroup, getGroupOrLocalRef }
21
+ = useInjectedGroupState<InputGroupState>(INJECTION_KEY_RADIO_GROUP)
22
22
 
23
- // global props
24
- const modelValue = getGroupOrLocalRef('modelValue', props, emit)
25
- const valid = getGroupOrLocalRef('valid', props)
26
- const invalid = getGroupOrLocalRef('invalid', props)
27
- const readonly = computed(() =>
28
- Boolean(props.readonly || group?.readonly.value),
29
- )
30
- const disabled = computed(() =>
31
- Boolean(props.disabled || group?.disabled.value),
32
- )
23
+ // global props
24
+ const modelValue = getGroupOrLocalRef('modelValue', props, emit)
25
+ const valid = getGroupOrLocalRef('valid', props)
26
+ const invalid = getGroupOrLocalRef('invalid', props)
27
+ const readonly = computed(() =>
28
+ Boolean(props.readonly || group?.readonly.value),
29
+ )
30
+ const disabled = computed(() =>
31
+ Boolean(props.disabled || group?.disabled.value),
32
+ )
33
33
 
34
- return {
35
- // local props
36
- id,
37
- // global props
38
- group,
39
- isInGroup,
40
- modelValue,
41
- valid,
42
- invalid,
43
- readonly,
44
- disabled,
45
- }
34
+ return {
35
+ // local props
36
+ id,
37
+ // global props
38
+ group,
39
+ isInGroup,
40
+ modelValue,
41
+ valid,
42
+ invalid,
43
+ readonly,
44
+ disabled,
45
+ }
46
46
  }