@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,174 +1,175 @@
1
- <script lang="ts">
2
- export default {
3
- name: 'VvButton',
4
- inheritAttrs: false,
5
- }
6
- </script>
7
-
8
1
  <script setup lang="ts">
9
- import VvIcon from '../VvIcon/VvIcon.vue'
10
- import VvAction from '../VvAction/VvAction.vue'
11
- import { VvButtonEvents, VvButtonProps, useGroupProps } from '.'
12
- import { Side } from '../../constants'
2
+ import VvIcon from '../VvIcon/VvIcon.vue'
3
+ import VvAction from '../VvAction/VvAction.vue'
4
+ import { Side } from '../../constants'
5
+ import { VvButtonEvents, VvButtonProps, useGroupProps } from '.'
6
+
7
+ // props, attrs, slots and emit
8
+ const props = defineProps(VvButtonProps)
13
9
 
14
- // props, attrs, slots and emit
15
- const props = defineProps(VvButtonProps)
16
- const attrs = useAttrs()
17
- const slots = useSlots()
18
- const emit = defineEmits(VvButtonEvents)
10
+ const emit = defineEmits(VvButtonEvents)
19
11
 
20
- // data
21
- const {
22
- id,
23
- modifiers,
24
- iconPosition,
25
- icon,
26
- label,
27
- modelValue,
28
- disabled,
29
- toggle,
30
- unselectable,
31
- } = useGroupProps(props, emit)
32
- const hasId = useUniqueId(id)
33
- const name = computed(() => (attrs?.name as string) || hasId.value)
12
+ const attrs = useAttrs()
13
+ const slots = useSlots()
14
+ // data
15
+ const {
16
+ id,
17
+ modifiers,
18
+ iconPosition,
19
+ icon,
20
+ label,
21
+ modelValue,
22
+ disabled,
23
+ toggle,
24
+ unselectable,
25
+ } = useGroupProps(props, emit)
26
+ const hasId = useUniqueId(id)
27
+ const name = computed(() => (attrs?.name as string) || hasId.value)
34
28
 
35
- // expose el
36
- const element = ref<{ $el: HTMLElement } | null>(null)
37
- const $el = computed(() => element.value?.$el)
38
- defineExpose({ $el })
29
+ // expose el
30
+ const element = ref<{ $el: HTMLElement } | null>(null)
31
+ const $el = computed(() => element.value?.$el)
32
+ defineExpose({ $el })
39
33
 
40
- /**
41
- * @description The component pressed state by prop or group.
42
- * @returns {string} The component tag.
43
- */
44
- const pressed = computed(() => {
45
- if (!toggle.value) {
46
- return props.pressed
47
- }
48
- if (Array.isArray(modelValue.value)) {
49
- return contains(name.value, modelValue.value)
50
- }
51
- return equals(name.value, modelValue.value)
52
- })
34
+ /**
35
+ * @description The component pressed state by prop or group.
36
+ * @returns {string} The component tag.
37
+ */
38
+ const pressed = computed(() => {
39
+ if (!toggle.value) {
40
+ return props.pressed
41
+ }
42
+ if (Array.isArray(modelValue.value)) {
43
+ return contains(name.value, modelValue.value)
44
+ }
45
+ return equals(name.value, modelValue.value)
46
+ })
53
47
 
54
- /**
55
- * @description Define component classes with BEM style.
56
- * @returns {Array} The component classes.
57
- */
58
- const bemCssClasses = useModifiers(
59
- 'vv-button',
60
- modifiers,
61
- computed(() => ({
62
- reverse: [Side.right, Side.bottom].includes(
63
- iconPosition.value as Side,
64
- ),
65
- column: [Side.top, Side.bottom].includes(
66
- iconPosition.value as Side,
67
- ),
68
- 'icon-only': Boolean(
69
- icon?.value && !label?.value && !slots.default,
70
- ),
71
- })),
72
- )
48
+ /**
49
+ * @description Define component classes with BEM style.
50
+ * @returns {Array} The component classes.
51
+ */
52
+ const bemCssClasses = useModifiers(
53
+ 'vv-button',
54
+ modifiers,
55
+ computed(() => ({
56
+ 'reverse': [Side.right, Side.bottom].includes(
57
+ iconPosition.value as Side,
58
+ ),
59
+ 'column': [Side.top, Side.bottom].includes(
60
+ iconPosition.value as Side,
61
+ ),
62
+ 'icon-only': Boolean(
63
+ icon?.value && !label?.value && !slots.default,
64
+ ),
65
+ })),
66
+ )
73
67
 
74
- /**
75
- * @description Define icon attributes.
76
- * @returns {Object} The icon attributes.
77
- */
78
- const { hasIcon } = useComponentIcon(icon)
68
+ /**
69
+ * @description Define icon attributes.
70
+ * @returns {object} The icon attributes.
71
+ */
72
+ const { hasIcon } = useComponentIcon(icon)
79
73
 
80
- /**
81
- * @description Catch click event
82
- */
83
- const toggleValue = computed(() => {
84
- return props.value !== undefined ? props.value : name.value
85
- })
86
- const hasListeners = computed(() => {
87
- if (!toggle.value) {
88
- return undefined
89
- }
90
- return {
91
- onClick,
92
- }
93
- })
94
- const onClick = () => {
95
- if (toggle.value) {
96
- if (Array.isArray(modelValue.value)) {
97
- if (contains(toggleValue.value, modelValue.value)) {
98
- if (unselectable.value) {
99
- modelValue.value = modelValue.value.filter(
100
- (n) => n !== toggleValue.value,
101
- )
102
- }
103
- return
104
- }
105
- modelValue.value.push(toggleValue.value)
106
- return
107
- }
108
- if (toggleValue.value === modelValue.value && unselectable.value) {
109
- modelValue.value = props.uncheckedValue
110
- return
111
- }
112
- modelValue.value = toggleValue.value
113
- }
114
- }
74
+ /**
75
+ * @description Catch click event
76
+ */
77
+ const toggleValue = computed(() => {
78
+ return props.value !== undefined ? props.value : name.value
79
+ })
80
+ const hasListeners = computed(() => {
81
+ if (!toggle.value) {
82
+ return undefined
83
+ }
84
+ return {
85
+ onClick,
86
+ }
87
+ })
88
+ function onClick() {
89
+ if (toggle.value) {
90
+ if (Array.isArray(modelValue.value)) {
91
+ if (contains(toggleValue.value, modelValue.value)) {
92
+ if (unselectable.value) {
93
+ modelValue.value = modelValue.value.filter(
94
+ n => n !== toggleValue.value,
95
+ )
96
+ }
97
+ return
98
+ }
99
+ modelValue.value.push(toggleValue.value)
100
+ return
101
+ }
102
+ if (toggleValue.value === modelValue.value && unselectable.value) {
103
+ modelValue.value = props.uncheckedValue
104
+ return
105
+ }
106
+ modelValue.value = toggleValue.value
107
+ }
108
+ }
109
+ </script>
110
+
111
+ <script lang="ts">
112
+ export default {
113
+ name: 'VvButton',
114
+ inheritAttrs: false,
115
+ }
115
116
  </script>
116
117
 
117
118
  <template>
118
- <VvAction
119
- v-bind="{
120
- ...attrs,
121
- ...hasListeners,
122
- disabled,
123
- pressed,
124
- active,
125
- type,
126
- to,
127
- href,
128
- target,
129
- rel,
130
- ariaLabel,
131
- }"
132
- :id="hasId"
133
- ref="element"
134
- :class="bemCssClasses"
135
- >
136
- <!-- @slot Default slot -->
137
- <slot>
138
- <!-- #region loading -->
139
- <template v-if="loading">
140
- <!-- @slot Slot for loading content -->
141
- <slot name="loading">
142
- <VvIcon
143
- v-if="loadingIcon"
144
- class="vv-button__loading-icon"
145
- :name="loadingIcon"
146
- />
147
- <span v-if="loadingLabel" class="vv-button__label">
148
- {{ loadingLabel }}
149
- </span>
150
- </slot>
151
- </template>
152
- <!-- #endregion -->
153
- <!-- #region button -->
154
- <template v-else>
155
- <!-- @slot Before label and icon -->
156
- <slot name="before" />
157
- <VvIcon
158
- v-if="hasIcon"
159
- v-bind="hasIcon"
160
- class="vv-button__icon"
161
- />
162
- <span v-if="label" class="vv-button__label">
163
- <!-- @slot Use this slot for button label -->
164
- <slot name="label">
165
- {{ label }}
166
- </slot>
167
- </span>
168
- <!-- @slot After label and icon -->
169
- <slot name="after" />
170
- </template>
171
- <!-- #endregion -->
172
- </slot>
173
- </VvAction>
119
+ <VvAction
120
+ v-bind="{
121
+ ...attrs,
122
+ ...hasListeners,
123
+ disabled,
124
+ pressed,
125
+ active,
126
+ type,
127
+ to,
128
+ href,
129
+ target,
130
+ rel,
131
+ ariaLabel,
132
+ }"
133
+ :id="hasId"
134
+ ref="element"
135
+ :class="bemCssClasses"
136
+ >
137
+ <!-- @slot Default slot -->
138
+ <slot>
139
+ <!-- #region loading -->
140
+ <template v-if="loading">
141
+ <!-- @slot Slot for loading content -->
142
+ <slot name="loading">
143
+ <VvIcon
144
+ v-if="loadingIcon"
145
+ class="vv-button__loading-icon"
146
+ :name="loadingIcon"
147
+ />
148
+ <span v-if="loadingLabel" class="vv-button__label">
149
+ {{ loadingLabel }}
150
+ </span>
151
+ </slot>
152
+ </template>
153
+ <!-- #endregion -->
154
+ <!-- #region button -->
155
+ <template v-else>
156
+ <!-- @slot Before label and icon -->
157
+ <slot name="before" />
158
+ <VvIcon
159
+ v-if="hasIcon"
160
+ v-bind="hasIcon"
161
+ class="vv-button__icon"
162
+ />
163
+ <span v-if="label" class="vv-button__label">
164
+ <!-- @slot Use this slot for button label -->
165
+ <slot name="label">
166
+ {{ label }}
167
+ </slot>
168
+ </span>
169
+ <!-- @slot After label and icon -->
170
+ <slot name="after" />
171
+ </template>
172
+ <!-- #endregion -->
173
+ </slot>
174
+ </VvAction>
174
175
  </template>
@@ -1,64 +1,64 @@
1
1
  import type { PropType, ExtractPropTypes } from 'vue'
2
2
  import type { ButtonGroupState } from '../../types/group'
3
3
  import {
4
- ActionProps,
5
- IdProps,
6
- LoadingProps,
7
- ModifiersProps,
8
- UnselectableProps,
9
- IconProps,
4
+ ActionProps,
5
+ IdProps,
6
+ LoadingProps,
7
+ ModifiersProps,
8
+ UnselectableProps,
9
+ IconProps,
10
10
  } from '../../props'
11
11
  import { INJECTION_KEY_BUTTON_GROUP, Side } from '../../constants'
12
12
 
13
13
  export const VvButtonEvents = ['update:modelValue']
14
14
 
15
15
  export const VvButtonProps = {
16
- ...ActionProps,
17
- ...IdProps,
18
- ...ModifiersProps,
19
- ...UnselectableProps,
20
- ...LoadingProps,
21
- ...IconProps,
22
- /**
23
- * Button icon position
24
- */
25
- iconPosition: {
26
- type: String as PropType<`${Side}`>,
27
- default: Side.left,
28
- validator: (value: Side) => Object.values(Side).includes(value),
29
- },
30
- /**
31
- * Loading icon
32
- */
33
- loadingIcon: { type: String, default: 'eos-icons:bubble-loading' },
34
- /**
35
- * Enable button toggle
36
- */
37
- toggle: {
38
- type: Boolean,
39
- default: false,
40
- },
41
- /**
42
- * Button toggle value
43
- */
44
- value: {
45
- type: [String, Number, Boolean],
46
- default: undefined,
47
- },
48
- /**
49
- * Value associated with the unchecked state
50
- */
51
- uncheckedValue: {
52
- type: [String, Number, Boolean],
53
- default: undefined,
54
- },
55
- /**
56
- * Button toggle model value
57
- */
58
- modelValue: {
59
- type: [String, Number, Boolean],
60
- default: undefined,
61
- },
16
+ ...ActionProps,
17
+ ...IdProps,
18
+ ...ModifiersProps,
19
+ ...UnselectableProps,
20
+ ...LoadingProps,
21
+ ...IconProps,
22
+ /**
23
+ * Button icon position
24
+ */
25
+ iconPosition: {
26
+ type: String as PropType<`${Side}`>,
27
+ default: Side.left,
28
+ validator: (value: Side) => Object.values(Side).includes(value),
29
+ },
30
+ /**
31
+ * Loading icon
32
+ */
33
+ loadingIcon: { type: String, default: 'eos-icons:bubble-loading' },
34
+ /**
35
+ * Enable button toggle
36
+ */
37
+ toggle: {
38
+ type: Boolean,
39
+ default: false,
40
+ },
41
+ /**
42
+ * Button toggle value
43
+ */
44
+ value: {
45
+ type: [String, Number, Boolean],
46
+ default: undefined,
47
+ },
48
+ /**
49
+ * Value associated with the unchecked state
50
+ */
51
+ uncheckedValue: {
52
+ type: [String, Number, Boolean],
53
+ default: undefined,
54
+ },
55
+ /**
56
+ * Button toggle model value
57
+ */
58
+ modelValue: {
59
+ type: [String, Number, Boolean],
60
+ default: undefined,
61
+ },
62
62
  }
63
63
 
64
64
  export type VvButtonPropsTypes = ExtractPropTypes<typeof VvButtonProps>
@@ -67,59 +67,59 @@ export type VvButtonPropsTypes = ExtractPropTypes<typeof VvButtonProps>
67
67
  * Merges local and group props
68
68
  */
69
69
  export function useGroupProps(
70
- props: VvButtonPropsTypes,
71
- emit: (event: (typeof VvButtonEvents)[number], value: unknown) => void,
70
+ props: VvButtonPropsTypes,
71
+ emit: (event: (typeof VvButtonEvents)[number], value: unknown) => void,
72
72
  ) {
73
- const { group, isInGroup, getGroupOrLocalRef } =
74
- useInjectedGroupState<ButtonGroupState>(INJECTION_KEY_BUTTON_GROUP)
73
+ const { group, isInGroup, getGroupOrLocalRef }
74
+ = useInjectedGroupState<ButtonGroupState>(INJECTION_KEY_BUTTON_GROUP)
75
75
 
76
- // local props
77
- const { id, iconPosition, icon, label, pressed } = toRefs(props)
76
+ // local props
77
+ const { id, iconPosition, icon, label, pressed } = toRefs(props)
78
78
 
79
- // group props
80
- const modelValue = getGroupOrLocalRef('modelValue', props, emit)
81
- const toggle = getGroupOrLocalRef('toggle', props)
82
- const unselectable = getGroupOrLocalRef('unselectable', props)
83
- const multiple = computed(() => group?.multiple.value ?? false)
84
- // merge local and group modifiers
85
- const modifiers = computed(() => {
86
- let localModifiers = props.modifiers
87
- let groupModifiers = group?.modifiers.value
79
+ // group props
80
+ const modelValue = getGroupOrLocalRef('modelValue', props, emit)
81
+ const toggle = getGroupOrLocalRef('toggle', props)
82
+ const unselectable = getGroupOrLocalRef('unselectable', props)
83
+ const multiple = computed(() => group?.multiple.value ?? false)
84
+ // merge local and group modifiers
85
+ const modifiers = computed(() => {
86
+ let localModifiers = props.modifiers
87
+ let groupModifiers = group?.modifiers.value
88
88
 
89
- const toReturn = new Set<string>()
90
- if (localModifiers) {
91
- if (!Array.isArray(localModifiers)) {
92
- localModifiers = localModifiers.split(' ')
93
- }
94
- localModifiers.forEach((modifier) => toReturn.add(modifier))
95
- }
96
- if (groupModifiers) {
97
- if (!Array.isArray(groupModifiers)) {
98
- groupModifiers = groupModifiers.split(' ')
99
- }
100
- groupModifiers.forEach((modifier) => toReturn.add(modifier))
101
- }
102
- return Array.from(toReturn)
103
- })
104
- const disabled = computed(() =>
105
- Boolean(props.disabled || group?.disabled.value),
106
- )
89
+ const toReturn = new Set<string>()
90
+ if (localModifiers) {
91
+ if (!Array.isArray(localModifiers)) {
92
+ localModifiers = localModifiers.split(' ')
93
+ }
94
+ localModifiers.forEach(modifier => toReturn.add(modifier))
95
+ }
96
+ if (groupModifiers) {
97
+ if (!Array.isArray(groupModifiers)) {
98
+ groupModifiers = groupModifiers.split(' ')
99
+ }
100
+ groupModifiers.forEach(modifier => toReturn.add(modifier))
101
+ }
102
+ return Array.from(toReturn)
103
+ })
104
+ const disabled = computed(() =>
105
+ Boolean(props.disabled || group?.disabled.value),
106
+ )
107
107
 
108
- return {
109
- // group props
110
- group,
111
- isInGroup,
112
- modelValue,
113
- toggle,
114
- unselectable,
115
- multiple,
116
- modifiers,
117
- disabled,
118
- // local props
119
- id,
120
- pressed,
121
- iconPosition,
122
- icon,
123
- label,
124
- }
108
+ return {
109
+ // group props
110
+ group,
111
+ isInGroup,
112
+ modelValue,
113
+ toggle,
114
+ unselectable,
115
+ multiple,
116
+ modifiers,
117
+ disabled,
118
+ // local props
119
+ id,
120
+ pressed,
121
+ iconPosition,
122
+ icon,
123
+ label,
124
+ }
125
125
  }