@volverjs/ui-vue 0.0.1-beta.11 → 0.0.1-beta.16

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 (435) hide show
  1. package/bin/icons.cjs +73 -0
  2. package/bin/icons.js +75 -0
  3. package/dist/Volver.d.ts +15 -2
  4. package/dist/components/VvAccordion/VvAccordion.es.js +133 -236
  5. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  6. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +32 -97
  7. package/dist/components/VvAccordion/index.d.ts +46 -0
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +199 -277
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +44 -151
  11. package/dist/components/VvAccordionGroup/{VvAccordionGroup.d.ts → index.d.ts} +9 -13
  12. package/dist/components/VvBadge/VvBadge.es.js +57 -13
  13. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  14. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -54
  15. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +1 -1
  16. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +55 -168
  17. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  18. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +25 -105
  19. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +2 -2
  20. package/dist/components/VvButton/VvButton.es.js +304 -333
  21. package/dist/components/VvButton/VvButton.umd.js +1 -1
  22. package/dist/components/VvButton/VvButton.vue.d.ts +92 -199
  23. package/dist/components/VvButton/{VvButton.d.ts → index.d.ts} +44 -38
  24. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +58 -181
  25. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  26. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +26 -181
  27. package/dist/components/VvButtonGroup/{VvButtonGroup.d.ts → index.d.ts} +2 -26
  28. package/dist/components/VvCard/VvCard.es.js +55 -166
  29. package/dist/components/VvCard/VvCard.umd.js +1 -1
  30. package/dist/components/VvCard/VvCard.vue.d.ts +16 -61
  31. package/dist/components/VvCard/{VvCard.d.ts → index.d.ts} +1 -1
  32. package/dist/components/VvCheckbox/VvCheckbox.es.js +344 -0
  33. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -0
  34. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +87 -0
  35. package/dist/components/VvCheckbox/index.d.ts +86 -0
  36. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +415 -0
  37. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -0
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +113 -0
  39. package/dist/components/{VvCheckGroup/VvCheckGroup.d.ts → VvCheckboxGroup/index.d.ts} +10 -10
  40. package/dist/components/VvDialog/VvDialog.es.js +108 -230
  41. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  42. package/dist/components/VvDialog/VvDialog.vue.d.ts +28 -132
  43. package/dist/components/VvDialog/{VvDialog.d.ts → index.d.ts} +2 -6
  44. package/dist/components/VvDropdown/VvDropdown.es.js +167 -186
  45. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  46. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +35 -137
  47. package/dist/components/VvDropdown/{VvDropdown.d.ts → index.d.ts} +8 -4
  48. package/dist/components/VvIcon/VvIcon.es.js +62 -174
  49. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  50. package/dist/components/VvIcon/VvIcon.vue.d.ts +36 -150
  51. package/dist/components/VvIcon/{VvIcon.d.ts → index.d.ts} +9 -0
  52. package/dist/components/VvInputText/VvInputClearAction.d.ts +36 -0
  53. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +56 -0
  54. package/dist/components/VvInputText/VvInputStepAction.d.ts +37 -0
  55. package/dist/components/VvInputText/VvInputText.es.js +586 -577
  56. package/dist/components/VvInputText/VvInputText.umd.js +1 -2
  57. package/dist/components/VvInputText/VvInputText.vue.d.ts +188 -276
  58. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  59. package/dist/components/VvInputText/index.d.ts +175 -0
  60. package/dist/components/VvNativeSelect/VvNativeSelect.es.js +299 -347
  61. package/dist/components/VvNativeSelect/VvNativeSelect.umd.js +1 -2
  62. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +78 -190
  63. package/dist/components/VvNativeSelect/{VvNativeSelect.d.ts → index.d.ts} +35 -8
  64. package/dist/components/VvProgress/VvProgress.es.js +45 -162
  65. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  66. package/dist/components/VvProgress/VvProgress.vue.d.ts +18 -104
  67. package/dist/components/VvProgress/{VvProgress.d.ts → index.d.ts} +2 -8
  68. package/dist/components/VvRadio/VvRadio.es.js +292 -267
  69. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  70. package/dist/components/VvRadio/VvRadio.vue.d.ts +52 -122
  71. package/dist/components/VvRadio/index.d.ts +64 -0
  72. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +342 -380
  73. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -2
  74. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +58 -213
  75. package/dist/components/VvRadioGroup/{VvRadioGroup.d.ts → index.d.ts} +2 -2
  76. package/dist/components/VvSelect/VvSelect.es.js +602 -368
  77. package/dist/components/VvSelect/VvSelect.umd.js +1 -2
  78. package/dist/components/VvSelect/VvSelect.vue.d.ts +78 -236
  79. package/dist/components/VvSelect/{VvSelect.d.ts → index.d.ts} +17 -6
  80. package/dist/components/VvTextarea/VvTextarea.es.js +372 -481
  81. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -2
  82. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +104 -300
  83. package/dist/components/VvTextarea/{VvTextarea.d.ts → index.d.ts} +37 -14
  84. package/dist/components/common/HintSlot.d.ts +10 -4
  85. package/dist/components/index.d.ts +13 -6
  86. package/dist/components/index.es.js +2091 -947
  87. package/dist/components/index.umd.js +1 -2
  88. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +2 -2
  89. package/dist/composables/focus/useComponentFocus.d.ts +3 -3
  90. package/dist/composables/group/types/IAccordionGroupState.d.ts +1 -3
  91. package/dist/composables/group/types/IButtonGroupState.d.ts +4 -0
  92. package/dist/composables/group/types/IGroupState.d.ts +2 -2
  93. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  94. package/dist/composables/group/useProvideGroupState.d.ts +1 -1
  95. package/dist/composables/icons/useComponentIcons.d.ts +2 -2
  96. package/dist/composables/textLimit/useTextLimit.d.ts +0 -3
  97. package/dist/constants.d.ts +4 -4
  98. package/dist/icons.d.ts +1881 -0
  99. package/dist/icons.es.js +4 -6
  100. package/dist/icons.umd.js +1 -1
  101. package/dist/index.es.js +2106 -957
  102. package/dist/index.umd.js +1 -2
  103. package/dist/props/index.d.ts +11 -4
  104. package/dist/resolvers/unplugin.d.ts +27 -0
  105. package/dist/resolvers/unplugin.es.js +40 -0
  106. package/dist/resolvers/unplugin.umd.js +1 -0
  107. package/dist/stories/Accordion/Accordion.test.d.ts +4 -0
  108. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  109. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  110. package/dist/stories/Button/Button.test.d.ts +3 -8
  111. package/dist/stories/Card/Card.test.d.ts +3 -0
  112. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  113. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  114. package/dist/stories/Icon/IconList.vue.d.ts +1 -43
  115. package/dist/stories/InputText/InputText.test.d.ts +6 -0
  116. package/dist/stories/Radio/Radio.test.d.ts +3 -0
  117. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +8 -0
  118. package/dist/stories/Select/Select.test.d.ts +3 -0
  119. package/dist/stories/Textarea/Textarea.test.d.ts +8 -0
  120. package/dist/stories/utils.d.ts +1 -3
  121. package/dist/test/sleep.d.ts +1 -0
  122. package/dist/utils/ObjectUtilities.d.ts +82 -95
  123. package/env.d.ts +1 -0
  124. package/package.json +102 -68
  125. package/src/Volver.ts +32 -3
  126. package/src/assets/icons/detailed.json +1 -1
  127. package/src/assets/icons/normal.json +1 -1
  128. package/src/assets/icons/simple.json +1 -1
  129. package/src/components/VvAccordion/VvAccordion.vue +80 -76
  130. package/src/components/VvAccordion/index.ts +69 -0
  131. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +77 -41
  132. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +8 -12
  133. package/src/components/VvBadge/VvBadge.vue +16 -7
  134. package/src/components/VvBadge/index.ts +6 -0
  135. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +18 -19
  136. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -1
  137. package/src/components/VvButton/VvButton.vue +125 -124
  138. package/src/components/VvButton/index.ts +147 -0
  139. package/src/components/VvButtonGroup/VvButtonGroup.vue +26 -33
  140. package/src/components/VvButtonGroup/{VvButtonGroup.ts → index.ts} +4 -17
  141. package/src/components/VvCard/VvCard.vue +20 -22
  142. package/src/components/VvCard/{VvCard.ts → index.ts} +0 -0
  143. package/src/components/VvCheckbox/VvCheckbox.vue +124 -0
  144. package/src/components/VvCheckbox/index.ts +94 -0
  145. package/src/components/{VvCheckGroup/VvCheckGroup.vue → VvCheckboxGroup/VvCheckboxGroup.vue} +49 -54
  146. package/src/components/{VvCheckGroup/VvCheckGroup.ts → VvCheckboxGroup/index.ts} +9 -9
  147. package/src/components/VvDialog/VvDialog.vue +47 -50
  148. package/src/components/VvDialog/index.ts +10 -0
  149. package/src/components/VvDropdown/VvDropdown.vue +61 -40
  150. package/src/components/VvDropdown/{VvDropdown.ts → index.ts} +8 -4
  151. package/src/components/VvIcon/VvIcon.vue +31 -25
  152. package/src/components/VvIcon/{VvIcon.ts → index.ts} +9 -0
  153. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  154. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  155. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  156. package/src/components/VvInputText/VvInputText.vue +168 -170
  157. package/src/components/VvInputText/VvInputTextActions.ts +54 -108
  158. package/src/components/VvInputText/index.ts +135 -0
  159. package/src/components/VvNativeSelect/VvNativeSelect.vue +130 -68
  160. package/src/components/VvNativeSelect/{VvNativeSelect.ts → index.ts} +26 -7
  161. package/src/components/VvProgress/VvProgress.vue +25 -26
  162. package/src/components/VvProgress/{VvProgress.ts → index.ts} +4 -7
  163. package/src/components/VvRadio/VvRadio.vue +81 -108
  164. package/src/components/VvRadio/index.ts +78 -0
  165. package/src/components/VvRadioGroup/VvRadioGroup.vue +45 -45
  166. package/src/components/VvRadioGroup/{VvRadioGroup.ts → index.ts} +1 -1
  167. package/src/components/VvSelect/VvSelect.vue +91 -64
  168. package/src/components/VvSelect/{VvSelect.ts → index.ts} +16 -5
  169. package/src/components/VvTextarea/VvTextarea.vue +121 -128
  170. package/src/components/VvTextarea/{VvTextarea.ts → index.ts} +31 -11
  171. package/src/components/common/HintSlot.ts +157 -136
  172. package/src/components/index.ts +13 -6
  173. package/src/composables/debouncedInput/useDebouncedInput.ts +21 -15
  174. package/src/composables/focus/useComponentFocus.ts +6 -8
  175. package/src/composables/group/types/IAccordionGroupState.ts +1 -3
  176. package/src/composables/group/types/IButtonGroupState.ts +4 -0
  177. package/src/composables/group/types/IGroupState.ts +2 -2
  178. package/src/composables/group/useInjectedGroupState.ts +20 -30
  179. package/src/composables/group/useProvideGroupState.ts +1 -2
  180. package/src/composables/icons/useComponentIcons.ts +2 -3
  181. package/src/composables/options/useOptions.ts +3 -0
  182. package/src/composables/textLimit/useTextLimit.ts +1 -4
  183. package/src/composables/useModifiers.ts +13 -15
  184. package/src/constants.ts +5 -7
  185. package/src/directives/{.README → .gitkeep} +0 -0
  186. package/src/icons.ts +7 -0
  187. package/src/index.ts +0 -1
  188. package/src/props/index.ts +10 -2
  189. package/src/resolvers/unplugin.ts +103 -0
  190. package/src/shims.d.ts +11 -0
  191. package/src/stories/Accordion/Accordion.stories.mdx +10 -9
  192. package/src/stories/Accordion/Accordion.test.ts +37 -0
  193. package/src/stories/Accordion/AccordionSlots.stories.mdx +40 -25
  194. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +10 -16
  195. package/src/stories/AccordionGroup/{accordionGroupTest.js → AccordionGroup.test.js} +15 -17
  196. package/src/stories/AccordionGroup/AccordionGroupCollapse.stories.mdx +38 -0
  197. package/src/stories/AccordionGroup/{AccordionItems.stories.mdx → AccordionGroupItems.stories.mdx} +7 -13
  198. package/src/stories/Badge/Badge.stories.mdx +8 -8
  199. package/src/stories/Badge/Badge.test.ts +16 -0
  200. package/src/stories/Badge/BadgeColor.stories.mdx +10 -11
  201. package/src/stories/Badge/BadgeDot.stories.mdx +4 -3
  202. package/src/stories/Badge/BadgeModifiers.stories.mdx +66 -0
  203. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +15 -7
  204. package/src/stories/Breadcrumb/Breadcrumb.test.ts +49 -0
  205. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +15 -7
  206. package/src/stories/Button/Button.stories.mdx +16 -17
  207. package/src/stories/Button/Button.test.ts +8 -12
  208. package/src/stories/Button/ButtonActive.stories.mdx +28 -0
  209. package/src/stories/Button/ButtonBadge.stories.mdx +2 -2
  210. package/src/stories/Button/ButtonDisabled.stories.mdx +28 -0
  211. package/src/stories/Button/ButtonIcon.stories.mdx +6 -3
  212. package/src/stories/Button/ButtonIconPosition.stories.mdx +1 -2
  213. package/src/stories/Button/ButtonLink.stories.mdx +1 -19
  214. package/src/stories/Button/ButtonLoading.stories.mdx +4 -4
  215. package/src/stories/Button/ButtonModifiers.stories.mdx +104 -47
  216. package/src/stories/Button/ButtonPressed.stories.mdx +31 -0
  217. package/src/stories/Button/ButtonSlots.stories.mdx +1 -1
  218. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +5 -6
  219. package/src/stories/ButtonGroup/{ButtonGroupTest.js → ButtonGroup.test.js} +6 -28
  220. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +6 -7
  221. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +5 -6
  222. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +4 -5
  223. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +3 -4
  224. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +4 -5
  225. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +11 -12
  226. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +3 -4
  227. package/src/stories/Card/Card.stories.mdx +7 -5
  228. package/src/stories/Card/Card.test.ts +26 -0
  229. package/src/stories/Card/CardSlots.stories.mdx +5 -5
  230. package/src/stories/Card/CardVariant.stories.mdx +5 -4
  231. package/src/stories/Checkbox/Checkbox.stories.mdx +51 -0
  232. package/src/stories/Checkbox/Checkbox.test.js +115 -0
  233. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +76 -0
  234. package/src/stories/{Check/CheckDisabled.stories.mdx → Checkbox/CheckboxDisabled.stories.mdx} +7 -7
  235. package/src/stories/Checkbox/CheckboxError.stories.mdx +43 -0
  236. package/src/stories/Checkbox/CheckboxHintLabel.stories.mdx +35 -0
  237. package/src/stories/{Check/CheckReadonly.stories.mdx → Checkbox/CheckboxReadonly.stories.mdx} +6 -8
  238. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +69 -0
  239. package/src/stories/{Check/CheckSwitch.stories.mdx → Checkbox/CheckboxSwitch.stories.mdx} +8 -8
  240. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +69 -0
  241. package/src/stories/CheckboxGroup/CheckboxGroupDisabled.stories.mdx +26 -0
  242. package/src/stories/CheckboxGroup/CheckboxGroupError.stories.mdx +28 -0
  243. package/src/stories/CheckboxGroup/CheckboxGroupHintLabel.stories.mdx +27 -0
  244. package/src/stories/CheckboxGroup/CheckboxGroupLabel.stories.mdx +26 -0
  245. package/src/stories/{CheckGroup/CheckGroupOptionLabel.stories.mdx → CheckboxGroup/CheckboxGroupOptionLabel.stories.mdx} +14 -11
  246. package/src/stories/{CheckGroup/CheckGroupOptionValue.stories.mdx → CheckboxGroup/CheckboxGroupOptionValue.stories.mdx} +13 -10
  247. package/src/stories/{CheckGroup/CheckGroupOptions.stories.mdx → CheckboxGroup/CheckboxGroupOptions.stories.mdx} +8 -8
  248. package/src/stories/CheckboxGroup/CheckboxGroupReadonly.stories.mdx +26 -0
  249. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +152 -0
  250. package/src/stories/CheckboxGroup/CheckboxGroupValid.stories.mdx +28 -0
  251. package/src/stories/CheckboxGroup/CheckboxGroupVertical.stories.mdx +26 -0
  252. package/src/stories/Dialog/Dialog.stories.mdx +5 -5
  253. package/src/stories/Dialog/Dialog.test.ts +26 -0
  254. package/src/stories/Dialog/DialogAutoClose.stories.mdx +1 -1
  255. package/src/stories/Dialog/DialogSize.stories.mdx +1 -1
  256. package/src/stories/Dropdown/Dropdown.stories.mdx +11 -7
  257. package/src/stories/Dropdown/Dropdown.test.ts +80 -0
  258. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +9 -2
  259. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +2 -2
  260. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +4 -2
  261. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +4 -2
  262. package/src/stories/Dropdown/DropdownOptions.stories.mdx +4 -4
  263. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +4 -2
  264. package/src/stories/Icon/Icon.stories.mdx +8 -8
  265. package/src/stories/Icon/{IconTest.js → Icon.test.js} +2 -5
  266. package/src/stories/Icon/IconList.vue +5 -6
  267. package/src/stories/Icon/IconPrefix.stories.mdx +2 -2
  268. package/src/stories/Icon/IconRemote.stories.mdx +2 -2
  269. package/src/stories/Icon/IconsList.stories.mdx +2 -18
  270. package/src/stories/InputText/InputText.stories.mdx +25 -19
  271. package/src/stories/InputText/InputText.test.ts +156 -0
  272. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +9 -2
  273. package/src/stories/InputText/InputTextAutofocus.stories.mdx +6 -3
  274. package/src/stories/InputText/InputTextDisabled.stories.mdx +10 -2
  275. package/src/stories/InputText/InputTextError.stories.mdx +10 -2
  276. package/src/stories/InputText/InputTextFloating.stories.mdx +10 -3
  277. package/src/stories/InputText/InputTextHintLabel.stories.mdx +10 -2
  278. package/src/stories/InputText/InputTextIcon.stories.mdx +6 -2
  279. package/src/stories/InputText/InputTextIconPosition.stories.mdx +10 -3
  280. package/src/stories/InputText/InputTextLabel.stories.mdx +8 -2
  281. package/src/stories/InputText/InputTextLoading.stories.mdx +10 -2
  282. package/src/stories/InputText/InputTextMax.stories.mdx +10 -3
  283. package/src/stories/InputText/InputTextMaxLength.stories.mdx +22 -5
  284. package/src/stories/InputText/InputTextMin.stories.mdx +10 -3
  285. package/src/stories/InputText/InputTextMinLength.stories.mdx +9 -2
  286. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +8 -2
  287. package/src/stories/InputText/InputTextReadonly.stories.mdx +6 -2
  288. package/src/stories/InputText/InputTextSlots.stories.mdx +4 -5
  289. package/src/stories/InputText/InputTextStep.stories.mdx +9 -3
  290. package/src/stories/InputText/InputTextType.stories.mdx +110 -13
  291. package/src/stories/InputText/InputTextValid.stories.mdx +10 -2
  292. package/src/stories/NativeSelect/NativeSelect.stories.mdx +15 -11
  293. package/src/stories/NativeSelect/NativeSelect.test.js +151 -0
  294. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +6 -7
  295. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +7 -3
  296. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +7 -3
  297. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +14 -12
  298. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +7 -3
  299. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +44 -38
  300. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +19 -11
  301. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +26 -30
  302. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +7 -3
  303. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +30 -30
  304. package/src/stories/Progress/Progress.stories.mdx +8 -11
  305. package/src/stories/Progress/{ProgressTest.js → Progress.test.js} +4 -10
  306. package/src/stories/Progress/ProgressDeterminate.stories.mdx +3 -6
  307. package/src/stories/Radio/Radio.stories.mdx +11 -17
  308. package/src/stories/Radio/Radio.test.ts +52 -0
  309. package/src/stories/Radio/RadioDisabled.stories.mdx +4 -7
  310. package/src/stories/Radio/RadioError.stories.mdx +8 -28
  311. package/src/stories/Radio/RadioHintLabel.stories.mdx +6 -7
  312. package/src/stories/Radio/RadioSlots.stories.mdx +21 -7
  313. package/src/stories/RadioGroup/RadioGroup.stories.mdx +20 -27
  314. package/src/stories/RadioGroup/RadioGroup.test.ts +139 -0
  315. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +6 -8
  316. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +9 -11
  317. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +13 -15
  318. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +12 -9
  319. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +16 -30
  320. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +15 -29
  321. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +9 -25
  322. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +6 -8
  323. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +48 -70
  324. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +9 -11
  325. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +6 -8
  326. package/src/stories/Select/Select.stories.mdx +32 -29
  327. package/src/stories/Select/Select.test.ts +104 -0
  328. package/src/stories/Select/SelectDisabled.stories.mdx +3 -3
  329. package/src/stories/Select/SelectMaxValues.stories.mdx +3 -3
  330. package/src/stories/Select/SelectMultiple.stories.mdx +5 -6
  331. package/src/stories/Select/SelectNative.stories.mdx +43 -0
  332. package/src/stories/Select/SelectOptions.stories.mdx +4 -4
  333. package/src/stories/Select/SelectSearchable.stories.mdx +13 -12
  334. package/src/stories/Select/SelectSeparator.stories.mdx +3 -3
  335. package/src/stories/Select/SelectUseObject.stories.mdx +3 -3
  336. package/src/stories/Textarea/Textarea.stories.mdx +6 -10
  337. package/src/stories/Textarea/Textarea.test.ts +204 -0
  338. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +3 -2
  339. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +3 -2
  340. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +3 -2
  341. package/src/stories/Textarea/TextareaDebounce.stories.mdx +7 -6
  342. package/src/stories/Textarea/TextareaDisabled.stories.mdx +9 -3
  343. package/src/stories/Textarea/TextareaError.stories.mdx +7 -2
  344. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +12 -2
  345. package/src/stories/Textarea/TextareaFloating.stories.mdx +7 -2
  346. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +7 -2
  347. package/src/stories/Textarea/TextareaIcon.stories.mdx +3 -2
  348. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +4 -2
  349. package/src/stories/Textarea/TextareaId.stories.mdx +3 -2
  350. package/src/stories/Textarea/TextareaLabel.stories.mdx +3 -2
  351. package/src/stories/Textarea/TextareaLimit.stories.mdx +5 -2
  352. package/src/stories/Textarea/TextareaLoading.stories.mdx +7 -2
  353. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +9 -3
  354. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +5 -4
  355. package/src/stories/Textarea/TextareaMinLength.stories.mdx +3 -2
  356. package/src/stories/Textarea/TextareaModifiers.stories.mdx +10 -2
  357. package/src/stories/Textarea/TextareaName.stories.mdx +3 -2
  358. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +4 -3
  359. package/src/stories/Textarea/TextareaReadonly.stories.mdx +8 -3
  360. package/src/stories/Textarea/TextareaRequired.stories.mdx +3 -2
  361. package/src/stories/Textarea/TextareaResizable.stories.mdx +7 -2
  362. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +4 -2
  363. package/src/stories/Textarea/TextareaSlots.stories.mdx +7 -8
  364. package/src/stories/Textarea/TextareaValid.stories.mdx +7 -1
  365. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +14 -4
  366. package/src/stories/utils.ts +1 -1
  367. package/src/stories/volver-ui-vue.stories.mdx +1 -1
  368. package/src/test/expect.ts +3 -1
  369. package/src/test/sleep.ts +2 -0
  370. package/src/test/types.d.ts +14 -1
  371. package/src/types/{.README → .gitkeep} +0 -0
  372. package/src/utils/ObjectUtilities.ts +247 -241
  373. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  374. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  375. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -23
  376. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  377. package/dist/components/VvCheck/VvCheck.es.js +0 -318
  378. package/dist/components/VvCheck/VvCheck.umd.js +0 -1
  379. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  380. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  381. package/dist/components/VvCheckGroup/VvCheckGroup.es.js +0 -451
  382. package/dist/components/VvCheckGroup/VvCheckGroup.umd.js +0 -2
  383. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  384. package/dist/components/VvDialog/constants.d.ts +0 -5
  385. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  386. package/dist/components/VvInputText/constants.d.ts +0 -55
  387. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  388. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  389. package/dist/components/VvTextarea/constants.d.ts +0 -19
  390. package/dist/stories/RadioGroup/RadioProperty.test.d.ts +0 -12
  391. package/src/assets/icons/index.js +0 -7
  392. package/src/components/VvAccordion/VvAccordion.ts +0 -34
  393. package/src/components/VvAccordion/useAccordionProps.ts +0 -45
  394. package/src/components/VvBadge/VvBadge.ts +0 -4
  395. package/src/components/VvButton/VvButton.ts +0 -117
  396. package/src/components/VvButton/useButtonGroupProps.ts +0 -51
  397. package/src/components/VvCheck/VvCheck.ts +0 -48
  398. package/src/components/VvCheck/VvCheck.vue +0 -147
  399. package/src/components/VvCheck/useCheckProps.ts +0 -41
  400. package/src/components/VvDialog/VvDialog.ts +0 -17
  401. package/src/components/VvDialog/constants.ts +0 -5
  402. package/src/components/VvInputText/VvInputText.ts +0 -66
  403. package/src/components/VvInputText/constants.ts +0 -34
  404. package/src/components/VvRadio/VvRadio.ts +0 -25
  405. package/src/components/VvRadio/useRadioProps.ts +0 -40
  406. package/src/components/VvTextarea/constants.ts +0 -14
  407. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  408. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  409. package/src/stories/Accordion/accordionTest.js +0 -36
  410. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  411. package/src/stories/Badge/BadgeTest.js +0 -21
  412. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  413. package/src/stories/Button/test.js +0 -41
  414. package/src/stories/Check/Check.stories.mdx +0 -62
  415. package/src/stories/Check/CheckBinary.stories.mdx +0 -75
  416. package/src/stories/Check/CheckError.stories.mdx +0 -64
  417. package/src/stories/Check/CheckErrorTests.js +0 -74
  418. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  419. package/src/stories/Check/CheckPropertyTest.js +0 -102
  420. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  421. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  422. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  423. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  424. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  425. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  426. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  427. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  428. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  429. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  430. package/src/stories/Radio/RadioTest.js +0 -90
  431. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  432. package/src/stories/RadioGroup/RadioProperty.test.ts +0 -87
  433. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  434. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  435. package/src/stories/stories.scss +0 -35
@@ -1,6 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
- import VvButton from '../../components/VvButton/VvButton.vue'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
3
  import { testButton } from './Button.test'
4
+ import { Template } from './Button.stories.mdx'
4
5
 
5
6
  <Meta title="Components/Button/Props/modifiers" />
6
7
 
@@ -13,13 +14,8 @@ Stories of `VvButton` `modifiers`.
13
14
  Let's define a story for our `default` button:
14
15
 
15
16
  <Canvas>
16
- <Story name="default" play={testButton}>
17
- {() => {
18
- return {
19
- components: { VvButton },
20
- template: `<vv-button label="Default" data-testid="button" />`
21
- }
22
- }}
17
+ <Story name="default" play={testButton} args={{ label: 'Default' }}>
18
+ {Template.bind()}
23
19
  </Story>
24
20
  </Canvas>
25
21
 
@@ -36,13 +32,9 @@ Let's define a story for our `primary` button:
36
32
  testButton(ctx, {
37
33
  className: ['vv-button--primary']
38
34
  })
39
- }}>
40
- {() => {
41
- return {
42
- components: { VvButton },
43
- template: `<vv-button label="Primary" modifiers="primary" />`
44
- }
45
35
  }}
36
+ args={{ label: 'Primary', modifiers: 'primary' }}>
37
+ {Template.bind()}
46
38
  </Story>
47
39
  </Canvas>
48
40
 
@@ -57,13 +49,9 @@ Let's define a story for our `secondary` button:
57
49
  testButton(ctx, {
58
50
  className: 'vv-button--secondary'
59
51
  })
60
- }}>
61
- {() => {
62
- return {
63
- components: { VvButton },
64
- template: `<vv-button label="Secondary" modifiers="secondary" />`
65
- }
66
52
  }}
53
+ args={{ label: 'Secondary', modifiers: 'secondary' }}>
54
+ {Template.bind()}
67
55
  </Story>
68
56
  </Canvas>
69
57
 
@@ -78,13 +66,9 @@ Let's define a story for our `danger` button:
78
66
  testButton(ctx, {
79
67
  className: 'vv-button--danger'
80
68
  })
81
- }}>
82
- {() => {
83
- return {
84
- components: { VvButton },
85
- template: `<vv-button label="Danger" modifiers="danger" />`
86
- }
87
69
  }}
70
+ args={{ label: 'Danger', modifiers: 'danger' }}>
71
+ {Template.bind()}
88
72
  </Story>
89
73
  </Canvas>
90
74
 
@@ -99,34 +83,26 @@ Let's define a story for our `ghost` button:
99
83
  testButton(ctx, {
100
84
  className: 'vv-button--ghost'
101
85
  })
102
- }}>
103
- {() => {
104
- return {
105
- components: { VvButton },
106
- template: `<vv-button label="Ghost" modifiers="ghost" />`
107
- }
108
86
  }}
87
+ args={{ label: 'Ghost', modifiers: 'ghost' }}>
88
+ {Template.bind()}
109
89
  </Story>
110
90
  </Canvas>
111
91
 
112
92
  ## Text
113
93
 
114
- Let's define a story for our `text` button:
94
+ Let's define a story for our `link` button:
115
95
 
116
96
  <Canvas>
117
97
  <Story
118
- name="text"
98
+ name="link"
119
99
  play={async (ctx) => {
120
100
  testButton(ctx, {
121
- className: 'vv-button--text'
101
+ className: 'vv-button--link'
122
102
  })
123
- }}>
124
- {() => {
125
- return {
126
- components: { VvButton },
127
- template: `<vv-button label="Text" modifiers="text" />`
128
- }
129
103
  }}
104
+ args={{ label: 'Link', modifiers: 'link' }}>
105
+ {Template.bind()}
130
106
  </Story>
131
107
  </Canvas>
132
108
 
@@ -169,12 +145,93 @@ Let's define a story for our `static-dark` button:
169
145
  testButton(ctx, {
170
146
  className: 'vv-button--static-dark'
171
147
  })
172
- }}>
173
- {() => {
174
- return {
175
- components: { VvButton },
176
- template: `<vv-button label="Static Dark" modifiers="static-dark" />`
177
- }
178
148
  }}
149
+ args={{ label: 'Static Dark', modifiers: 'static-dark' }}>
150
+ {Template.bind()}
151
+ </Story>
152
+ </Canvas>
153
+
154
+ ## Block
155
+
156
+ Let's define a story for our `block` button:
157
+
158
+ <Canvas>
159
+ <Story
160
+ name="block"
161
+ play={async (ctx) => {
162
+ testButton(ctx, {
163
+ className: 'vv-button--block'
164
+ })
165
+ }}
166
+ args={{ label: 'Block', modifiers: 'block' }}>
167
+ {Template.bind()}
168
+ </Story>
169
+ </Canvas>
170
+
171
+ ## Rounded
172
+
173
+ Let's define a story for our `rounded` button:
174
+
175
+ <Canvas>
176
+ <Story
177
+ name="rounded"
178
+ play={async (ctx) => {
179
+ testButton(ctx, {
180
+ className: 'vv-button--rounded'
181
+ })
182
+ }}
183
+ args={{ label: 'Rounded', modifiers: 'rounded' }}>
184
+ {Template.bind()}
185
+ </Story>
186
+ </Canvas>
187
+
188
+ ## Full-bleed
189
+
190
+ Let's define a story for our `full-bleed` button:
191
+
192
+ <Canvas>
193
+ <Story
194
+ name="full-bleed"
195
+ play={async (ctx) => {
196
+ testButton(ctx, {
197
+ className: 'vv-button--full-bleed'
198
+ })
199
+ }}
200
+ args={{ label: 'Full-bleed', modifiers: 'full-bleed' }}>
201
+ {Template.bind()}
202
+ </Story>
203
+ </Canvas>
204
+
205
+ ## Action
206
+
207
+ Let's define a story for our `action` button:
208
+
209
+ <Canvas>
210
+ <Story
211
+ name="action"
212
+ play={async (ctx) => {
213
+ testButton(ctx, {
214
+ className: 'vv-button--action'
215
+ })
216
+ }}
217
+ args={{ label: 'Action', modifiers: 'action' }}>
218
+ {Template.bind()}
219
+ </Story>
220
+ </Canvas>
221
+
222
+ ## Action-quiet
223
+
224
+ Let's define a story for our `action-quiet` button:
225
+
226
+ <Canvas>
227
+ <Story
228
+ name="action-quiet"
229
+ play={async (ctx) => {
230
+ testButton(ctx, {
231
+ className: 'vv-button--action-quiet'
232
+ })
233
+ }}
234
+ args={{ label: 'Action-quiet', modifiers: 'action-quiet' }}>
235
+ {Template.bind()}
179
236
  </Story>
180
237
  </Canvas>
@@ -0,0 +1,31 @@
1
+ import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import { testButton } from './Button.test'
4
+
5
+ <Meta title="Components/Button/Props/pressed" />
6
+
7
+ ## Action Pressed
8
+
9
+ Let's define a story for our `action` `pressed` button.
10
+
11
+ <Canvas>
12
+ <Story
13
+ name="pressed"
14
+ play={async (ctx) => {
15
+ testButton(ctx, {
16
+ className: 'vv-button--pressed'
17
+ })
18
+ }}>
19
+ {() => {
20
+ return {
21
+ components: { VvButton },
22
+ template: `<vv-button label="Action Pressed" modifiers="action" pressed />`
23
+ }
24
+ }}
25
+ </Story>
26
+ </Canvas>
27
+
28
+ <Source
29
+ language="jsx"
30
+ code={'<vv-button label="Action" modifiers="action" pressed />'}
31
+ />
@@ -1,5 +1,5 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
- import VvButton from '../../components/VvButton/VvButton.vue'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
3
  import { within, userEvent } from '@storybook/testing-library'
4
4
 
5
5
  <Meta title="Components/Button/Slots" />
@@ -1,14 +1,13 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
- import ObjectUtilities from '../../utils/ObjectUtilities'
3
-
4
- import VvButton from '../../components/VvButton/VvButton.vue'
5
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
6
- import { VvButtonGroupProps } from '../../components/VvButtonGroup/VvButtonGroup'
2
+ import { propsToObject } from '@/utils/ObjectUtilities'
3
+ import VvButton from '@/components/VvButton/VvButton.vue'
4
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
5
+ import { VvButtonGroupProps } from '@/components/VvButtonGroup'
7
6
 
8
7
  <Meta
9
8
  title="Components/ButtonGroup"
10
9
  component={VvButtonGroup}
11
- args={{ ...ObjectUtilities.propsToObject(VvButtonGroupProps) }}
10
+ args={{ ...propsToObject(VvButtonGroupProps) }}
12
11
  />
13
12
 
14
13
  export const Template = (args, { argTypes }) => ({
@@ -1,6 +1,5 @@
1
- import { expect } from '@storybook/jest'
2
- import { userEvent, within } from '@storybook/testing-library'
3
- import { toHaveNoViolations, axe } from 'jest-axe'
1
+ import { expect } from '@/test/expect'
2
+ import { within } from '@storybook/testing-library'
4
3
 
5
4
  async function buttonGroupTest({ canvasElement, functions, ...args }) {
6
5
  const buttonGroup = await within(canvasElement).findByRole('group')
@@ -10,9 +9,7 @@ async function buttonGroupTest({ canvasElement, functions, ...args }) {
10
9
  await func({ buttonGroup, ...args })
11
10
  })
12
11
  }
13
- // Accessibility Test
14
- expect.extend(toHaveNoViolations)
15
- expect(await axe(buttonGroup)).toHaveNoViolations()
12
+ await expect(buttonGroup).toHaveNoViolations()
16
13
  }
17
14
 
18
15
  async function mixClassTest({
@@ -20,38 +17,19 @@ async function mixClassTest({
20
17
  numberOfElements = null,
21
18
  classToTest = null
22
19
  }) {
23
- let roundedButtons = 0
20
+ let conunter = 0
24
21
  const buttons = buttonGroup.children
25
22
 
26
23
  for (const button of buttons) {
27
24
  const buttonClassList = [...button.classList]
28
25
 
29
26
  if (buttonClassList.includes(`vv-button--${classToTest}`)) {
30
- roundedButtons++
27
+ conunter++
31
28
  }
32
29
  }
33
- expect(roundedButtons).toBe(numberOfElements)
30
+ expect(conunter).toBe(numberOfElements)
34
31
  }
35
32
 
36
- expect.extend({
37
- async toBeClicked(buttonGroup) {
38
- let result = {
39
- pass: false,
40
- message: `Click event doesn't work`
41
- }
42
- buttonGroup.addEventListener('click', ({ target }) => {
43
- if (target.id == 'btn2') {
44
- result = {
45
- pass: true,
46
- message: `Click event work!`
47
- }
48
- }
49
- })
50
- await userEvent.click(buttonGroup.children[1])
51
- return result
52
- }
53
- })
54
-
55
33
  async function classTest({ buttonGroup, className = null }) {
56
34
  if (className) {
57
35
  expect(buttonGroup).toHaveClass(`vv-button-group--${className}`)
@@ -1,8 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
-
3
- import VvButton from '../../components/VvButton/VvButton.vue'
4
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
5
- import { buttonGroupTest, classTest } from './ButtonGroupTest.js'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
4
+ import { buttonGroupTest, classTest } from './ButtonGroup.test'
6
5
 
7
6
  <Meta title="Components/ButtonGroup/Props/action" component={VvButtonGroup} />
8
7
 
@@ -25,7 +24,7 @@ A VvButtonGroup with the `action` prop
25
24
  components: { VvButton, VvButtonGroup },
26
25
  template: `
27
26
  <div class="flex flex-col">
28
- <vv-button-group action class="mt-22">
27
+ <vv-button-group modifiers="action" class="mt-22">
29
28
  <vv-button>Button 1</vv-button>
30
29
  <vv-button id="btn2">Button 2</vv-button>
31
30
  <vv-button>Button 3</vv-button>
@@ -60,7 +59,7 @@ A VvButtonGroup with the `action`, `toggle` and `compact` props
60
59
  },
61
60
  template: `
62
61
  <div class="flex">
63
- <vv-button-group v-model:modelValue="modelValue" action toggle compact class="mt-22">
62
+ <vv-button-group v-model="modelValue" :modifiers="['action', 'toggle', 'compact']" class="mt-22">
64
63
  <vv-button name="first" icon="akar-icons:copy" label="First" />
65
64
  <vv-button name="second" icon="akar-icons:pencil" label="Second" />
66
65
  <vv-button name="third" icon="akar-icons:trash-bin" label="Third" />
@@ -75,7 +74,7 @@ A VvButtonGroup with the `action`, `toggle` and `compact` props
75
74
 
76
75
  <Source
77
76
  language="html"
78
- code={`<vv-button-group v-model:modelValue="modelValue" action toggle compact>
77
+ code={`<vv-button-group v-model="modelValue" action toggle compact>
79
78
  <vv-button name="first" icon="akar-icons:copy" label="First" />
80
79
  <vv-button name="second" icon="akar-icons:pencil" label="Second" />
81
80
  <vv-button name="third" icon="akar-icons:trash-bin" label="Third" />
@@ -1,8 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
-
3
- import VvButton from '../../components/VvButton/VvButton.vue'
4
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
5
- import { buttonGroupTest, classTest } from './ButtonGroupTest.js'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
4
+ import { buttonGroupTest, classTest } from './ButtonGroup.test'
6
5
 
7
6
  <Meta
8
7
  title="Components/ButtonGroup/Props/action-quiet"
@@ -28,7 +27,7 @@ A VvButtonGroup with the `action-quiet` prop
28
27
  components: { VvButton, VvButtonGroup },
29
28
  template: `
30
29
  <div class="flex flex-col">
31
- <vv-button-group action-quiet>
30
+ <vv-button-group modifiers="action-quiet">
32
31
  <vv-button>Button 1</vv-button>
33
32
  <vv-button>Button 2</vv-button>
34
33
  <vv-button>Button 3</vv-button>
@@ -42,7 +41,7 @@ A VvButtonGroup with the `action-quiet` prop
42
41
 
43
42
  <Source
44
43
  language="html"
45
- code={`<vv-button-group action-quiet>
44
+ code={`<vv-button-group modifiers="action-quiet">
46
45
  <vv-button>Button 1</vv-button>
47
46
  <vv-button>Button 2</vv-button>
48
47
  <vv-button>Button 3</vv-button>
@@ -1,8 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
-
3
- import VvButton from '../../components/VvButton/VvButton.vue'
4
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
5
- import { buttonGroupTest, classTest } from './ButtonGroupTest.js'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
4
+ import { buttonGroupTest, classTest } from './ButtonGroup.test'
6
5
 
7
6
  <Meta title="Components/ButtonGroup/Props" component={VvButtonGroup} />
8
7
 
@@ -27,7 +26,7 @@ A VvButtonGroup with the <strong>block</strong> prop will be render with <strong
27
26
  components: { VvButton, VvButtonGroup },
28
27
  template: `
29
28
  <div class="flex flex-col">
30
- <vv-button-group block class="mt-22">
29
+ <vv-button-group modifiers="block" class="mt-22">
31
30
  <vv-button>Button 1</vv-button>
32
31
  <vv-button id="btn2">Button 2</vv-button>
33
32
  <vv-button>Button 3</vv-button>
@@ -1,8 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
-
3
- import VvButton from '../../components/VvButton/VvButton.vue'
4
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
5
- import { buttonGroupTest, classTest } from './ButtonGroupTest.js'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
4
+ import { buttonGroupTest, classTest } from './ButtonGroup.test'
6
5
 
7
6
  <Meta title="Components/ButtonGroup/Props/compact" component={VvButtonGroup} />
8
7
 
@@ -1,8 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
-
3
- import VvButton from '../../components/VvButton/VvButton.vue'
4
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
5
- import { buttonGroupTest, classTest, mixClassTest } from './ButtonGroupTest.js'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
4
+ import { buttonGroupTest, classTest, mixClassTest } from './ButtonGroup.test'
6
5
 
7
6
  <Meta title="Components/ButtonGroup/Props/rounded" component={VvButtonGroup} />
8
7
 
@@ -26,7 +25,7 @@ A VvButtonGroup with the <strong>rounded</strong> prop will be render with <stro
26
25
  return {
27
26
  components: { VvButton, VvButtonGroup },
28
27
  template: `
29
- <vv-button-group rounded>
28
+ <vv-button-group modifiers="rounded">
30
29
  <vv-button>Button 1</vv-button>
31
30
  <vv-button id="btn2">Button 2</vv-button>
32
31
  <vv-button>Button 3</vv-button>
@@ -1,8 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
-
3
- import VvButton from '../../components/VvButton/VvButton.vue'
4
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
5
- import { buttonGroupTest, mixClassTest, classTest } from './ButtonGroupTest.js'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
4
+ import { buttonGroupTest, mixClassTest, classTest } from './ButtonGroup.test'
6
5
 
7
6
  <Meta title="Components/ButtonGroup/Props/toggle" component={VvButtonGroup} />
8
7
 
@@ -26,7 +25,7 @@ Force VvButtonGroup to work as toggle button. Keep last clicked button as active
26
25
  ...ctx,
27
26
  functions: [classTest, mixClassTest],
28
27
  className: 'compact',
29
- classToTest: 'active',
28
+ classToTest: 'pressed',
30
29
  numberOfElements: 1
31
30
  })
32
31
  }>
@@ -39,7 +38,7 @@ Force VvButtonGroup to work as toggle button. Keep last clicked button as active
39
38
  args
40
39
  }
41
40
  },
42
- data: () => ({ selected: null }),
41
+ data: () => ({ selected: '1a' }),
43
42
  template: `
44
43
  <div class="flex flex-row justify-between">
45
44
  <vv-button-group toggle compact @update:modelValue="selected = $event" :modelValue="selected">
@@ -47,7 +46,7 @@ Force VvButtonGroup to work as toggle button. Keep last clicked button as active
47
46
  <vv-button name="2b">Button 2</vv-button>
48
47
  <vv-button name="3c">Button 3</vv-button>
49
48
  </vv-button-group>
50
- <strong v-if="selected">Bottone selez: {{selected}}</strong>
49
+ <strong v-if="selected">Selected: {{selected}}</strong>
51
50
  </div>
52
51
  `
53
52
  }
@@ -80,7 +79,7 @@ If VvButton child element has't a name attribute, when VvButton is registered in
80
79
  <vv-button name="2b">Button 2</vv-button>
81
80
  <vv-button name="3c">Button 3</vv-button>
82
81
  </vv-button-group>
83
- <strong v-if="selected">Bottone selez: {{selected}}</strong>
82
+ <strong v-if="selected">Selected: {{selected}}</strong>
84
83
  </div>
85
84
  <div class="flex flex-row justify-between mt-22">
86
85
  <vv-button-group toggle compact v-bind="args" @update:modelValue="selected2 = $event" :model-value="selected2">
@@ -88,7 +87,7 @@ If VvButton child element has't a name attribute, when VvButton is registered in
88
87
  <vv-button name="2b">Button 2</vv-button>
89
88
  <vv-button name="3c">Button 3</vv-button>
90
89
  </vv-button-group>
91
- <strong v-if="selected2">Bottone selez: {{selected2}}</strong>
90
+ <strong v-if="selected2">Selected: {{selected2}}</strong>
92
91
  </div>
93
92
  `
94
93
  }
@@ -113,15 +112,15 @@ If VvButton child element has't a name attribute, when VvButton is registered in
113
112
  template: `
114
113
  <div class="flex flex-col">
115
114
  <div class="flex flex-row justify-between">
116
- <vv-button-group toggle compact v-bind="args" @update:modelValue="selected = $event" :model-value="selected">
115
+ <vv-button-group toggle compact v-bind="args" v-model="selected">
117
116
  <vv-button name="1">Button 1</vv-button>
118
117
  <vv-button name="2" v-if="hide2b">Button 2</vv-button>
119
118
  <vv-button name="3">Button 3</vv-button>
120
119
  </vv-button-group>
121
- <strong v-if="selected">Bottone selez: {{selected}}</strong>
120
+ <strong v-if="selected">Selected: {{selected}}</strong>
122
121
  </div>
123
122
  <button class="vv-button vv-button--secondary mt-22" @click="hide2b = !hide2b">
124
- <label> {{hide2b?'Nascondi 2':'Mostra 2'}}</label>
123
+ <label> {{ hide2b ? 'Hide 2' : 'Show 2' }}</label>
125
124
  </button>
126
125
  </div>
127
126
  `
@@ -1,8 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
2
-
3
- import VvButton from '../../components/VvButton/VvButton.vue'
4
- import VvButtonGroup from '../../components/VvButtonGroup/VvButtonGroup.vue'
5
- import { buttonGroupTest, classTest } from './ButtonGroupTest.js'
2
+ import VvButton from '@/components/VvButton/VvButton.vue'
3
+ import VvButtonGroup from '@/components/VvButtonGroup/VvButtonGroup.vue'
4
+ import { buttonGroupTest, classTest } from './ButtonGroup.test'
6
5
 
7
6
  <Meta title="Components/ButtonGroup/Props" component={VvButtonGroup} />
8
7
 
@@ -1,7 +1,7 @@
1
1
  import { Canvas, Meta, Story, Source, ArgsTable } from '@storybook/addon-docs'
2
2
  import { action } from '@storybook/addon-actions'
3
-
4
- import VvCard from '../../components/VvCard/VvCard.vue'
3
+ import VvCard from '@/components/VvCard/VvCard.vue'
4
+ import { defaultCardTest } from './Card.test'
5
5
 
6
6
  <Meta title="Components/Card" component={VvCard} />
7
7
 
@@ -12,12 +12,14 @@ export const Template = (args, { argTypes }) => ({
12
12
  return { args }
13
13
  },
14
14
  template: `
15
- <vv-card v-bind="args">
16
- Default
15
+ <vv-card v-bind="args" title="Card Title">
16
+ <template #content>Lorem ipsum dolor sit amet</template>
17
17
  </vv-card>
18
18
  `
19
19
  })
20
20
 
21
21
  <Canvas>
22
- <Story name="vv-card">{Template.bind({})}</Story>
22
+ <Story name="vv-card" play={defaultCardTest}>
23
+ {Template.bind({})}
24
+ </Story>
23
25
  </Canvas>
@@ -0,0 +1,26 @@
1
+ import type { PlayAttributes } from '@/test/types'
2
+ import { expect } from '@/test/expect'
3
+
4
+ export async function defaultCardTest(data: PlayAttributes) {
5
+ const card = document.getElementsByClassName('vv-card')[0] as HTMLElement
6
+ data.args.variant && expect(card.outerHTML).toContain('variant="glass"')
7
+ card.children.length == 0 && expect(card.innerText).toBe('Default')
8
+ await expect(card).toHaveNoViolations()
9
+ }
10
+
11
+ export async function cardSlotsTest(data: PlayAttributes) {
12
+ const card = document.getElementsByClassName('vv-card')[0] as HTMLElement
13
+ const tags = ['header', 'picture', 'content', 'footer']
14
+ const cardItems = card.children
15
+ Array.from(cardItems).forEach((item, index) => {
16
+ index != 3
17
+ ? expect(item.children[0] || item).toHaveClass(
18
+ `vv-card__${tags[index]}`
19
+ )
20
+ : expect(item).toHaveClass(`vv-card__${tags[index]}`)
21
+ index != 2
22
+ ? expect(item.nodeName).toEqual(tags[index].toUpperCase())
23
+ : expect(item.nodeName).toEqual('DIV')
24
+ })
25
+ await defaultCardTest(data)
26
+ }
@@ -1,12 +1,12 @@
1
1
  import { Canvas, Meta, Story, Source, ArgsTable } from '@storybook/addon-docs'
2
2
  import { action } from '@storybook/addon-actions'
3
-
4
- import VvCard from '../../components/VvCard/VvCard.vue'
3
+ import VvCard from '@/components/VvCard/VvCard.vue'
4
+ import { cardSlotsTest } from './Card.test'
5
5
 
6
6
  <Meta title="Components/Card/Slots" component={VvCard} />
7
7
 
8
8
  <Canvas>
9
- <Story name="Slots">
9
+ <Story name="Slots" play={cardSlotsTest}>
10
10
  {(args) => {
11
11
  return {
12
12
  components: { VvCard },
@@ -24,12 +24,12 @@ import VvCard from '../../components/VvCard/VvCard.vue'
24
24
  <img class="vv-card__picture aspect-photo" src="https://source.unsplash.com/featured/300×300/?ocean" alt="Card picture" style="height: 150px"/>
25
25
  </picture>
26
26
  <template #content>
27
- Prova
27
+ Lorem ipsum dolor sit amet.
28
28
  </template>
29
29
  <template #footer>
30
30
  <div class="flex items-center">
31
31
  <span>Lorem ipsum dolor</span>
32
- <button class="vv-button vv-button--action-quiet ml-auto" type="button">
32
+ <button class="vv-button vv-button--action-quiet ml-auto" type="button" aria-label="Add to favorites">
33
33
  <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--akar-icons" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" data-icon="akar-icons:heart"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 3C4.239 3 2 5.216 2 7.95c0 2.207.875 7.445 9.488 12.74a.985.985 0 0 0 1.024 0C21.125 15.395 22 10.157 22 7.95C22 5.216 19.761 3 17 3s-5 3-5 3s-2.239-3-5-3Z"></path></svg>
34
34
  </button>
35
35
  </div>