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

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 +11 -11
  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 +12 -8
  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 +893 -876
  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,82 +1,82 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvButtonGroup',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import type { ButtonGroupState } from '../../types/group'
9
- import { INJECTION_KEY_BUTTON_GROUP } from '../../constants'
10
- import { VvButtonGroupProps, VvButtonGroupEvents } from '.'
2
+ import type { ButtonGroupState } from '../../types/group'
3
+ import { INJECTION_KEY_BUTTON_GROUP } from '../../constants'
4
+ import { VvButtonGroupProps, VvButtonGroupEvents } from '.'
5
+
6
+ const props = defineProps(VvButtonGroupProps)
11
7
 
12
- // emit and props
13
- const emit = defineEmits(VvButtonGroupEvents)
14
- const props = defineProps(VvButtonGroupProps)
8
+ // emit and props
9
+ const emit = defineEmits(VvButtonGroupEvents)
15
10
 
16
- // data
17
- const {
18
- disabled,
19
- toggle,
20
- modifiers,
21
- multiple,
22
- unselectable,
23
- itemModifiers,
24
- } = toRefs(props)
25
- watchEffect(() => {
26
- if (typeof props.modelValue === 'string' && multiple.value) {
27
- // eslint-disable-next-line
28
- console.warn(
11
+ // data
12
+ const {
13
+ disabled,
14
+ toggle,
15
+ modifiers,
16
+ multiple,
17
+ unselectable,
18
+ itemModifiers,
19
+ } = toRefs(props)
20
+ watchEffect(() => {
21
+ if (typeof props.modelValue === 'string' && multiple.value) {
22
+ console.warn(
29
23
  `[VvButtonGroup]: modelValue is a string but multiple is true.`,
30
- )
31
- }
32
- })
33
- const modelValue = computed({
34
- get: () => {
35
- if (!multiple.value) {
36
- return Array.isArray(props.modelValue)
37
- ? props.modelValue[0]
38
- : props.modelValue
39
- }
40
- return props.modelValue
41
- },
42
- set: (newValue) => {
43
- if (
44
- newValue !== undefined &&
45
- (Array.isArray(props.modelValue) || multiple.value) &&
46
- !Array.isArray(newValue)
47
- ) {
48
- return emit('update:modelValue', [newValue])
49
- }
50
- return emit('update:modelValue', newValue)
51
- },
52
- })
24
+ )
25
+ }
26
+ })
27
+ const modelValue = computed({
28
+ get: () => {
29
+ if (!multiple.value) {
30
+ return Array.isArray(props.modelValue)
31
+ ? props.modelValue[0]
32
+ : props.modelValue
33
+ }
34
+ return props.modelValue
35
+ },
36
+ set: (newValue) => {
37
+ if (
38
+ newValue !== undefined
39
+ && (Array.isArray(props.modelValue) || multiple.value)
40
+ && !Array.isArray(newValue)
41
+ ) {
42
+ return emit('update:modelValue', [newValue])
43
+ }
44
+ return emit('update:modelValue', newValue)
45
+ },
46
+ })
53
47
 
54
- // provide
55
- useProvideGroupState<ButtonGroupState>(INJECTION_KEY_BUTTON_GROUP, {
56
- modelValue,
57
- disabled,
58
- toggle,
59
- multiple,
60
- unselectable,
61
- modifiers: itemModifiers,
62
- })
48
+ // provide
49
+ useProvideGroupState<ButtonGroupState>(INJECTION_KEY_BUTTON_GROUP, {
50
+ modelValue,
51
+ disabled,
52
+ toggle,
53
+ multiple,
54
+ unselectable,
55
+ modifiers: itemModifiers,
56
+ })
63
57
 
64
- // style
65
- const bemCssClasses = useModifiers('vv-button-group', modifiers)
58
+ // style
59
+ const bemCssClasses = useModifiers('vv-button-group', modifiers)
60
+ </script>
61
+
62
+ <script lang="ts">
63
+ export default {
64
+ name: 'VvButtonGroup',
65
+ }
66
66
  </script>
67
67
 
68
68
  <template>
69
- <fieldset :class="bemCssClasses" role="group">
70
- <legend
71
- v-if="$slots.legend || legendLabel"
72
- class="vv-button-group__legend"
73
- >
74
- <!-- @slot Legend slot -->
75
- <slot name="legend">
76
- {{ legendLabel }}
77
- </slot>
78
- </legend>
79
- <!-- @slot Default slot -->
80
- <slot />
81
- </fieldset>
69
+ <fieldset :class="bemCssClasses" role="group">
70
+ <legend
71
+ v-if="$slots.legend || legendLabel"
72
+ class="vv-button-group__legend"
73
+ >
74
+ <!-- @slot Legend slot -->
75
+ <slot name="legend">
76
+ {{ legendLabel }}
77
+ </slot>
78
+ </legend>
79
+ <!-- @slot Default slot -->
80
+ <slot />
81
+ </fieldset>
82
82
  </template>
@@ -1,29 +1,29 @@
1
1
  import { DisabledProps, ModifiersProps, UnselectableProps } from '../../props'
2
2
 
3
3
  export const VvButtonGroupProps = {
4
- ...ModifiersProps,
5
- ...DisabledProps,
6
- ...UnselectableProps,
7
- legendLabel: { type: String },
8
- /**
9
- * String or String[] of css classes (modifiers) that will be provided to each button'
10
- */
11
- itemModifiers: {
12
- type: [String, Array] as PropType<string | string[]>,
13
- default: '',
14
- },
15
- toggle: { type: Boolean, default: false },
16
- multiple: { type: Boolean, default: false },
17
- modelValue: {
18
- type: [String, Number, Boolean, Array] as PropType<
19
- | string
20
- | number
21
- | boolean
22
- | (string | number | boolean)[]
23
- | undefined
4
+ ...ModifiersProps,
5
+ ...DisabledProps,
6
+ ...UnselectableProps,
7
+ legendLabel: { type: String },
8
+ /**
9
+ * String or String[] of css classes (modifiers) that will be provided to each button'
10
+ */
11
+ itemModifiers: {
12
+ type: [String, Array] as PropType<string | string[]>,
13
+ default: '',
14
+ },
15
+ toggle: { type: Boolean, default: false },
16
+ multiple: { type: Boolean, default: false },
17
+ modelValue: {
18
+ type: [String, Number, Boolean, Array] as PropType<
19
+ | string
20
+ | number
21
+ | boolean
22
+ | (string | number | boolean)[]
23
+ | undefined
24
24
  >,
25
- default: undefined,
26
- },
25
+ default: undefined,
26
+ },
27
27
  }
28
28
 
29
29
  export const VvButtonGroupEvents = ['update:modelValue']
@@ -1,37 +1,37 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvCard',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import { VvCardProps } from '.'
2
+ import { VvCardProps } from '.'
9
3
 
10
- // props and attrs
11
- const props = defineProps(VvCardProps)
4
+ // props and attrs
5
+ const props = defineProps(VvCardProps)
12
6
 
13
- // styles
14
- const { modifiers } = toRefs(props)
15
- const bemCssClasses = useModifiers('vv-card', modifiers)
7
+ // styles
8
+ const { modifiers } = toRefs(props)
9
+ const bemCssClasses = useModifiers('vv-card', modifiers)
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ export default {
14
+ name: 'VvCard',
15
+ }
16
16
  </script>
17
17
 
18
18
  <template>
19
- <article :class="bemCssClasses">
20
- <header v-if="$slots.header || title" class="vv-card__header">
21
- <!-- @slot Title slot -->
22
- <slot name="header">
23
- {{ title }}
24
- </slot>
25
- </header>
26
- <!-- @slot Default slot -->
27
- <slot />
28
- <div v-if="$slots.content" class="vv-card__content">
29
- <!-- @slot Content slot -->
30
- <slot name="content" />
31
- </div>
32
- <footer v-if="$slots.footer" class="vv-card__footer">
33
- <!-- @slot Footer slot -->
34
- <slot name="footer" />
35
- </footer>
36
- </article>
19
+ <article :class="bemCssClasses">
20
+ <header v-if="$slots.header || title" class="vv-card__header">
21
+ <!-- @slot Title slot -->
22
+ <slot name="header">
23
+ {{ title }}
24
+ </slot>
25
+ </header>
26
+ <!-- @slot Default slot -->
27
+ <slot />
28
+ <div v-if="$slots.content" class="vv-card__content">
29
+ <!-- @slot Content slot -->
30
+ <slot name="content" />
31
+ </div>
32
+ <footer v-if="$slots.footer" class="vv-card__footer">
33
+ <!-- @slot Footer slot -->
34
+ <slot name="footer" />
35
+ </footer>
36
+ </article>
37
37
  </template>
@@ -1,6 +1,6 @@
1
1
  import { ModifiersProps } from '@/props'
2
2
 
3
3
  export const VvCardProps = {
4
- ...ModifiersProps,
5
- title: String,
4
+ ...ModifiersProps,
5
+ title: String,
6
6
  }
@@ -1,195 +1,200 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvCheckbox',
4
- }
5
- </script>
6
-
7
1
  <script setup lang="ts">
8
- import { VvCheckboxProps, VvCheckboxEvents, useGroupProps } from '.'
9
- import { HintSlotFactory } from '../common/HintSlot'
2
+ import { HintSlotFactory } from '../common/HintSlot'
3
+ import { VvCheckboxProps, VvCheckboxEvents, useGroupProps } from '.'
4
+
5
+ // props, emits and slots
6
+ const props = defineProps(VvCheckboxProps)
10
7
 
11
- // props, emits and slots
12
- const props = defineProps(VvCheckboxProps)
13
- const emit = defineEmits(VvCheckboxEvents)
14
- const slots = useSlots()
8
+ const emit = defineEmits(VvCheckboxEvents)
15
9
 
16
- // props merged with volver defaults (now only for labels)
17
- const propsDefaults = useDefaults<typeof VvCheckboxProps>(
18
- 'VvCheckbox',
19
- VvCheckboxProps,
20
- props,
21
- )
10
+ const slots = useSlots()
22
11
 
23
- // data
24
- const {
25
- id,
26
- disabled,
27
- readonly,
28
- valid,
29
- invalid,
30
- propsSwitch,
31
- modelValue,
32
- indeterminate,
33
- isInGroup,
34
- } = useGroupProps(props, emit)
35
- const hasId = useUniqueId(id)
36
- const hasHintId = computed(() => `${hasId.value}-hint`)
37
- const tabindex = computed(() => (isDisabled.value ? -1 : props.tabindex))
12
+ // props merged with volver defaults (now only for labels)
13
+ const propsDefaults = useDefaults<typeof VvCheckboxProps>(
14
+ 'VvCheckbox',
15
+ VvCheckboxProps,
16
+ props,
17
+ )
38
18
 
39
- // template ref
40
- const input = ref()
19
+ // data
20
+ const {
21
+ id,
22
+ disabled,
23
+ readonly,
24
+ valid,
25
+ invalid,
26
+ propsSwitch,
27
+ modelValue,
28
+ indeterminate,
29
+ isInGroup,
30
+ } = useGroupProps(props, emit)
31
+ const hasId = useUniqueId(id)
32
+ const hasHintId = computed(() => `${hasId.value}-hint`)
33
+ const tabindex = computed(() => (isDisabled.value ? -1 : props.tabindex))
41
34
 
42
- // computed
43
- const isBinary = computed(
44
- () => props.uncheckedValue !== undefined && !isInGroup.value,
45
- )
46
- const isDisabled = computed(() => disabled.value || readonly.value)
47
- const isInvalid = computed(() => {
48
- if (invalid.value === true) {
49
- return true
50
- }
51
- if (valid.value === true) {
52
- return false
53
- }
54
- return undefined
55
- })
56
- const isChecked = computed(() => {
57
- if (isBinary.value) {
58
- return modelValue.value === props.value
59
- }
60
- return Array.isArray(modelValue.value)
61
- ? contains(props.value, modelValue.value)
62
- : equals(props.value, modelValue.value)
63
- })
64
- const isIndeterminated = computed(() => {
65
- if (indeterminate.value) {
66
- return true
67
- }
68
- if (
69
- !isChecked.value &&
70
- isBinary.value &&
71
- props.uncheckedValue !== modelValue.value
72
- ) {
73
- return true
74
- }
75
- return false
76
- })
77
- const hasValue = computed(() => {
78
- if (isBinary.value) {
79
- return undefined
80
- }
81
- return ['string', 'number', 'boolean'].includes(typeof props.value)
82
- ? props.value
83
- : true
84
- })
85
- const localModelValue = computed({
86
- get() {
87
- return isChecked.value
88
- },
89
- set(newValue) {
90
- if (isBinary.value) {
91
- modelValue.value = newValue ? props.value : props.uncheckedValue
92
- } else if (Array.isArray(modelValue.value) || isInGroup.value) {
93
- const currentValue = modelValue.value ?? []
94
- const toReturn = new Set(
95
- Array.isArray(currentValue) ? currentValue : [currentValue],
96
- )
97
- if (newValue) {
98
- toReturn.add(props.value)
99
- } else {
100
- toReturn.delete(props.value)
101
- }
102
- modelValue.value = [...toReturn]
103
- } else {
104
- modelValue.value = newValue ? props.value : undefined
105
- }
106
- emit('change', newValue)
107
- },
108
- })
35
+ // template ref
36
+ const input = ref()
109
37
 
110
- // styles
111
- const { modifiers } = toRefs(props)
112
- const bemCssClasses = useModifiers(
113
- 'vv-checkbox',
114
- modifiers,
115
- computed(() => ({
116
- switch: propsSwitch.value,
117
- valid: valid.value,
118
- invalid: invalid.value,
119
- disabled: disabled.value,
120
- readonly: readonly.value,
121
- indeterminate: indeterminate.value,
122
- })),
123
- )
38
+ // computed
39
+ const isBinary = computed(
40
+ () => props.uncheckedValue !== undefined && !isInGroup.value,
41
+ )
42
+ const isDisabled = computed(() => disabled.value || readonly.value)
43
+ const isInvalid = computed(() => {
44
+ if (invalid.value === true) {
45
+ return true
46
+ }
47
+ if (valid.value === true) {
48
+ return false
49
+ }
50
+ return undefined
51
+ })
52
+ const isChecked = computed(() => {
53
+ if (isBinary.value) {
54
+ return modelValue.value === props.value
55
+ }
56
+ return Array.isArray(modelValue.value)
57
+ ? contains(props.value, modelValue.value)
58
+ : equals(props.value, modelValue.value)
59
+ })
60
+ const isIndeterminated = computed(() => {
61
+ if (indeterminate.value) {
62
+ return true
63
+ }
64
+ if (
65
+ !isChecked.value
66
+ && isBinary.value
67
+ && props.uncheckedValue !== modelValue.value
68
+ ) {
69
+ return true
70
+ }
71
+ return false
72
+ })
73
+ const hasValue = computed(() => {
74
+ if (isBinary.value) {
75
+ return undefined
76
+ }
77
+ return ['string', 'number', 'boolean'].includes(typeof props.value)
78
+ ? props.value
79
+ : true
80
+ })
81
+ const localModelValue = computed({
82
+ get() {
83
+ return isChecked.value
84
+ },
85
+ set(newValue) {
86
+ if (isBinary.value) {
87
+ modelValue.value = newValue ? props.value : props.uncheckedValue
88
+ }
89
+ else if (Array.isArray(modelValue.value) || isInGroup.value) {
90
+ const currentValue = modelValue.value ?? []
91
+ const toReturn = new Set(
92
+ Array.isArray(currentValue) ? currentValue : [currentValue],
93
+ )
94
+ if (newValue) {
95
+ toReturn.add(props.value)
96
+ }
97
+ else {
98
+ toReturn.delete(props.value)
99
+ }
100
+ modelValue.value = [...toReturn]
101
+ }
102
+ else {
103
+ modelValue.value = newValue ? props.value : undefined
104
+ }
105
+ emit('change', newValue)
106
+ },
107
+ })
124
108
 
125
- watchEffect(() => {
126
- if (isBinary.value && Array.isArray(modelValue.value)) {
127
- // eslint-disable-next-line no-console
128
- console.warn(
109
+ // styles
110
+ const { modifiers } = toRefs(props)
111
+ const bemCssClasses = useModifiers(
112
+ 'vv-checkbox',
113
+ modifiers,
114
+ computed(() => ({
115
+ switch: propsSwitch.value,
116
+ valid: valid.value,
117
+ invalid: invalid.value,
118
+ disabled: disabled.value,
119
+ readonly: readonly.value,
120
+ indeterminate: indeterminate.value,
121
+ })),
122
+ )
123
+
124
+ watchEffect(() => {
125
+ if (isBinary.value && Array.isArray(modelValue.value)) {
126
+ console.warn(
129
127
  `[VvCheckbox] The model value is an array but the component is in binary mode.`,
130
- )
131
- }
132
- })
128
+ )
129
+ }
130
+ })
131
+
132
+ // indeterminate
133
+ watch(
134
+ () => isIndeterminated.value,
135
+ (newValue) => {
136
+ if (newValue) {
137
+ input.value.indeterminate = true
138
+ }
139
+ else {
140
+ input.value.indeterminate = false
141
+ }
142
+ },
143
+ )
144
+ onMounted(() => {
145
+ if (isIndeterminated.value) {
146
+ input.value.indeterminate = true
147
+ }
148
+ })
133
149
 
134
- // indeterminate
135
- watch(
136
- () => isIndeterminated.value,
137
- (newValue) => {
138
- if (newValue) {
139
- input.value.indeterminate = true
140
- } else {
141
- input.value.indeterminate = false
142
- }
143
- },
144
- )
145
- onMounted(() => {
146
- if (isIndeterminated.value) {
147
- input.value.indeterminate = true
148
- }
149
- })
150
+ // hint
151
+ const {
152
+ HintSlot,
153
+ hasHintLabelOrSlot,
154
+ hasInvalidLabelOrSlot,
155
+ hintSlotScope,
156
+ } = HintSlotFactory(propsDefaults, slots)
157
+ </script>
150
158
 
151
- // hint
152
- const {
153
- HintSlot,
154
- hasHintLabelOrSlot,
155
- hasInvalidLabelOrSlot,
156
- hintSlotScope,
157
- } = HintSlotFactory(propsDefaults, slots)
159
+ <script lang="ts">
160
+ export default {
161
+ name: 'VvCheckbox',
162
+ }
158
163
  </script>
159
164
 
160
165
  <template>
161
- <label :class="bemCssClasses" :for="hasId">
162
- <input
163
- :id="hasId"
164
- ref="input"
165
- v-model="localModelValue"
166
- type="checkbox"
167
- class="vv-checkbox__input"
168
- :name="name"
169
- :disabled="isDisabled"
170
- :value="hasValue"
171
- :tabindex="tabindex"
172
- :aria-invalid="isInvalid"
173
- :aria-describedby="hasHintLabelOrSlot ? hasHintId : undefined"
174
- :aria-errormessage="hasInvalidLabelOrSlot ? hasHintId : undefined"
175
- />
176
- <!-- @slot Use this slot for check label -->
177
- <slot :value="modelValue">
178
- {{ label }}
179
- </slot>
180
- <HintSlot :id="hasHintId" class="vv-checkbox__hint">
181
- <template v-if="$slots.hint" #hint>
182
- <slot name="hint" v-bind="hintSlotScope" />
183
- </template>
184
- <template v-if="$slots.loading" #loading>
185
- <slot name="loading" v-bind="hintSlotScope" />
186
- </template>
187
- <template v-if="$slots.valid" #valid>
188
- <slot name="valid" v-bind="hintSlotScope" />
189
- </template>
190
- <template v-if="$slots.invalid" #invalid>
191
- <slot name="invalid" v-bind="hintSlotScope" />
192
- </template>
193
- </HintSlot>
194
- </label>
166
+ <label :class="bemCssClasses" :for="hasId">
167
+ <input
168
+ :id="hasId"
169
+ ref="input"
170
+ v-model="localModelValue"
171
+ type="checkbox"
172
+ class="vv-checkbox__input"
173
+ :name="name"
174
+ :disabled="isDisabled"
175
+ :value="hasValue"
176
+ :tabindex="tabindex"
177
+ :aria-invalid="isInvalid"
178
+ :aria-describedby="hasHintLabelOrSlot ? hasHintId : undefined"
179
+ :aria-errormessage="hasInvalidLabelOrSlot ? hasHintId : undefined"
180
+ >
181
+ <!-- @slot Use this slot for check label -->
182
+ <slot :value="modelValue">
183
+ {{ label }}
184
+ </slot>
185
+ <HintSlot :id="hasHintId" class="vv-checkbox__hint">
186
+ <template v-if="$slots.hint" #hint>
187
+ <slot name="hint" v-bind="hintSlotScope" />
188
+ </template>
189
+ <template v-if="$slots.loading" #loading>
190
+ <slot name="loading" v-bind="hintSlotScope" />
191
+ </template>
192
+ <template v-if="$slots.valid" #valid>
193
+ <slot name="valid" v-bind="hintSlotScope" />
194
+ </template>
195
+ <template v-if="$slots.invalid" #invalid>
196
+ <slot name="invalid" v-bind="hintSlotScope" />
197
+ </template>
198
+ </HintSlot>
199
+ </label>
195
200
  </template>