@volverjs/ui-vue 0.0.6-beta.6 → 0.0.6

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 (443) hide show
  1. package/README.md +3 -5
  2. package/auto-imports.d.ts +11 -0
  3. package/dist/components/VvAccordion/VvAccordion.es.js +220 -4
  4. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  5. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +8 -8
  6. package/dist/components/VvAccordion/index.d.ts +1 -4
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +221 -8
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +6 -6
  10. package/dist/components/VvAccordionGroup/index.d.ts +2 -5
  11. package/dist/components/VvAction/VvAction.es.js +12 -8
  12. package/dist/components/VvAction/VvAction.umd.js +1 -1
  13. package/dist/components/VvAction/VvAction.vue.d.ts +4 -4
  14. package/dist/components/VvAction/index.d.ts +1 -1
  15. package/dist/components/VvAlert/VvAlert.es.js +661 -0
  16. package/dist/components/VvAlert/VvAlert.umd.js +1 -0
  17. package/dist/components/VvAlert/VvAlert.vue.d.ts +104 -0
  18. package/dist/components/VvAlert/index.d.ts +95 -0
  19. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +799 -0
  20. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -0
  21. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +89 -0
  22. package/dist/components/VvAlertGroup/index.d.ts +55 -0
  23. package/dist/components/VvAvatar/VvAvatar.es.js +3 -3
  24. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +2 -2
  25. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +3 -3
  26. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +2 -2
  27. package/dist/components/VvBadge/VvBadge.es.js +3 -3
  28. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -2
  29. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +3 -3
  30. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +3 -3
  31. package/dist/components/VvButton/VvButton.es.js +39 -29
  32. package/dist/components/VvButton/VvButton.umd.js +1 -1
  33. package/dist/components/VvButton/VvButton.vue.d.ts +13 -13
  34. package/dist/components/VvButton/index.d.ts +2 -2
  35. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +3 -3
  36. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +4 -4
  37. package/dist/components/VvCard/VvCard.es.js +221 -2
  38. package/dist/components/VvCard/VvCard.umd.js +1 -1
  39. package/dist/components/VvCard/VvCard.vue.d.ts +5 -5
  40. package/dist/components/VvCheckbox/VvCheckbox.es.js +154 -101
  41. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  42. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +46 -10
  43. package/dist/components/VvCheckbox/index.d.ts +8 -3
  44. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -104
  45. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  46. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +44 -8
  47. package/dist/components/VvCheckboxGroup/index.d.ts +8 -3
  48. package/dist/components/VvCombobox/VvCombobox.es.js +271 -174
  49. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  50. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +73 -37
  51. package/dist/components/VvCombobox/index.d.ts +13 -7
  52. package/dist/components/VvDialog/VvDialog.es.js +44 -33
  53. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  54. package/dist/components/VvDialog/VvDialog.vue.d.ts +7 -7
  55. package/dist/components/VvDialog/index.d.ts +2 -2
  56. package/dist/components/VvDropdown/VvDropdown.es.js +39 -25
  57. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  58. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +21 -17
  59. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +4 -4
  60. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +2 -2
  61. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +1 -1
  62. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +4 -4
  63. package/dist/components/VvDropdown/index.d.ts +1 -1
  64. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +17 -11
  65. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  66. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +9 -5
  67. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  68. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +3 -3
  69. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +12 -8
  70. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  71. package/dist/components/VvIcon/VvIcon.es.js +25 -19
  72. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  73. package/dist/components/VvIcon/VvIcon.vue.d.ts +3 -3
  74. package/dist/components/VvIcon/index.d.ts +2 -2
  75. package/dist/components/VvInputText/VvInputClearAction.d.ts +2 -2
  76. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +1 -1
  77. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  78. package/dist/components/VvInputText/VvInputText.es.js +165 -141
  79. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  80. package/dist/components/VvInputText/VvInputText.vue.d.ts +46 -22
  81. package/dist/components/VvInputText/index.d.ts +5 -5
  82. package/dist/components/VvNav/VvNav.es.js +12 -8
  83. package/dist/components/VvNav/VvNav.umd.js +1 -1
  84. package/dist/components/VvNav/VvNav.vue.d.ts +1 -1
  85. package/dist/components/VvNavItemTitle/VvNavItemTitle.vue.d.ts +1 -1
  86. package/dist/components/VvNavSeparator/VvNavSeparator.d.ts +1 -1
  87. package/dist/components/VvProgress/VvProgress.es.js +3 -3
  88. package/dist/components/VvProgress/VvProgress.vue.d.ts +1 -1
  89. package/dist/components/VvRadio/VvRadio.es.js +154 -101
  90. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  91. package/dist/components/VvRadio/VvRadio.vue.d.ts +46 -10
  92. package/dist/components/VvRadio/index.d.ts +8 -3
  93. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -104
  94. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  95. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +44 -8
  96. package/dist/components/VvRadioGroup/index.d.ts +8 -3
  97. package/dist/components/VvSelect/VvSelect.es.js +166 -140
  98. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  99. package/dist/components/VvSelect/VvSelect.vue.d.ts +42 -18
  100. package/dist/components/VvSelect/index.d.ts +4 -4
  101. package/dist/components/VvTab/VvTab.es.js +12 -8
  102. package/dist/components/VvTab/VvTab.umd.js +1 -1
  103. package/dist/components/VvTab/VvTab.vue.d.ts +1 -1
  104. package/dist/components/VvTextarea/VvTextarea.es.js +163 -139
  105. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  106. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +40 -16
  107. package/dist/components/VvTextarea/index.d.ts +3 -3
  108. package/dist/components/VvTooltip/VvTooltip.es.js +3 -3
  109. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +2 -2
  110. package/dist/components/common/HintSlot.d.ts +38 -12
  111. package/dist/components/index.es.js +1066 -768
  112. package/dist/components/index.umd.js +1 -1
  113. package/dist/composables/alert/useInjectAlert.d.ts +9 -0
  114. package/dist/composables/alert/useProvideAlert.d.ts +10 -0
  115. package/dist/composables/dropdown/useInjectDropdown.d.ts +17 -16
  116. package/dist/composables/dropdown/useProvideDropdown.d.ts +7 -3
  117. package/dist/composables/useOptions.d.ts +2 -2
  118. package/dist/composables/useVolver.d.ts +1 -2
  119. package/dist/constants.d.ts +33 -4
  120. package/dist/directives/index.es.js +3 -3
  121. package/dist/directives/v-tooltip.es.js +3 -3
  122. package/dist/icons.es.js +3 -3
  123. package/dist/icons.umd.js +1 -1
  124. package/dist/props/index.d.ts +38 -16
  125. package/dist/resolvers/unplugin.es.js +6 -3
  126. package/dist/resolvers/unplugin.umd.js +1 -1
  127. package/dist/stories/Accordion/Accordion.settings.d.ts +18 -17
  128. package/dist/stories/Accordion/Accordion.stories.d.ts +7 -0
  129. package/dist/stories/Accordion/AccordionSlots.stories.d.ts +7 -0
  130. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +23 -4
  131. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +134 -0
  132. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +894 -0
  133. package/dist/stories/Alert/Alert.settings.d.ts +105 -0
  134. package/dist/stories/Alert/Alert.stories.d.ts +9 -0
  135. package/dist/stories/Alert/Alert.test.d.ts +2 -0
  136. package/dist/stories/Alert/AlertModifiers.stories.d.ts +13 -0
  137. package/dist/stories/Alert/AlertSlots.stories.d.ts +10 -0
  138. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +97 -0
  139. package/dist/stories/AlertGroup/AlertGroup.stories.d.ts +8 -0
  140. package/dist/stories/AlertGroup/AlertGroup.test.d.ts +2 -0
  141. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +14 -0
  142. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +8 -0
  143. package/dist/stories/Avatar/Avatar.settings.d.ts +2 -33
  144. package/dist/stories/Avatar/Avatar.stories.d.ts +7 -0
  145. package/dist/stories/Avatar/AvatarBadge.stories.d.ts +6 -0
  146. package/dist/stories/Avatar/AvatarModifiers.stories.d.ts +13 -0
  147. package/dist/stories/Avatar/AvatarSlots.stories.d.ts +6 -0
  148. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +0 -6
  149. package/dist/stories/AvatarGroup/AvatarGroup.stories.d.ts +6 -0
  150. package/dist/stories/AvatarGroup/AvatarGroupModifiers.stories.d.ts +7 -0
  151. package/dist/stories/AvatarGroup/AvatarGroupSlotDefault.stories.d.ts +6 -0
  152. package/dist/stories/Badge/Badge.settings.d.ts +0 -3
  153. package/dist/stories/Badge/Badge.stories.d.ts +7 -0
  154. package/dist/stories/Badge/BadgeSlots.stories.d.ts +6 -0
  155. package/dist/stories/Breadcrumb/Breadcrumb.stories.d.ts +7 -0
  156. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  157. package/dist/stories/Breadcrumb/BreadcrumbSlots.stories.d.ts +6 -0
  158. package/dist/stories/Button/Button.settings.d.ts +1 -18
  159. package/dist/stories/Button/Button.stories.d.ts +6 -0
  160. package/dist/stories/Button/ButtonIcon.stories.d.ts +10 -0
  161. package/dist/stories/Button/ButtonLink.stories.d.ts +7 -0
  162. package/dist/stories/Button/ButtonLoading.stories.d.ts +8 -0
  163. package/dist/stories/Button/ButtonModifiers.stories.d.ts +17 -0
  164. package/dist/stories/Button/ButtonSlots.stories.d.ts +9 -0
  165. package/dist/stories/Button/ButtonState.stories.d.ts +8 -0
  166. package/dist/stories/Button/ButtonToggle.stories.d.ts +9 -0
  167. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +0 -4
  168. package/dist/stories/ButtonGroup/ButtonGroup.stories.d.ts +6 -0
  169. package/dist/stories/ButtonGroup/ButtonGroupModifiers.stories.d.ts +8 -0
  170. package/dist/stories/ButtonGroup/ButtonGroupSlots.stories.d.ts +6 -0
  171. package/dist/stories/ButtonGroup/ButtonGroupToggle.stories.d.ts +8 -0
  172. package/dist/stories/Card/Card.settings.d.ts +0 -3
  173. package/dist/stories/Card/Card.stories.d.ts +6 -0
  174. package/dist/stories/Card/CardSlots.stories.d.ts +9 -0
  175. package/dist/stories/Checkbox/Checkbox.settings.d.ts +1 -21
  176. package/dist/stories/Checkbox/Checkbox.stories.d.ts +13 -0
  177. package/dist/stories/Checkbox/CheckboxBinary.stories.d.ts +7 -0
  178. package/dist/stories/Checkbox/CheckboxSlots.stories.d.ts +7 -0
  179. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -27
  180. package/dist/stories/CheckboxGroup/CheckboxGroup.stories.d.ts +12 -0
  181. package/dist/stories/CheckboxGroup/CheckboxGroupOptions.stories.d.ts +8 -0
  182. package/dist/stories/CheckboxGroup/CheckboxGroupSlots.stories.d.ts +7 -0
  183. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -54
  184. package/dist/stories/Combobox/Combobox.stories.d.ts +21 -0
  185. package/dist/stories/Combobox/ComboboxIconPosition.stories.d.ts +8 -0
  186. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +8 -0
  187. package/dist/stories/Combobox/ComboboxOptions.stories.d.ts +9 -0
  188. package/dist/stories/Combobox/ComboboxSlots.stories.d.ts +10 -0
  189. package/dist/stories/Dialog/Dialog.settings.d.ts +1 -1
  190. package/dist/stories/Dialog/Dialog.stories.d.ts +7 -0
  191. package/dist/stories/Dialog/DialogSlots.stories.d.ts +8 -0
  192. package/dist/stories/Dropdown/Dropdown.settings.d.ts +1 -1
  193. package/dist/stories/Dropdown/Dropdown.stories.d.ts +9 -0
  194. package/dist/stories/Dropdown/DropdownContextmenuDirective.stories.d.ts +6 -0
  195. package/dist/stories/Dropdown/DropdownMultilevel.stories.d.ts +6 -0
  196. package/dist/stories/Dropdown/DropdownSlots.stories.d.ts +8 -0
  197. package/dist/stories/Icon/Icon.settings.d.ts +1 -3
  198. package/dist/stories/Icon/Icon.stories.d.ts +8 -0
  199. package/dist/stories/Icon/IconsCollection.stories.d.ts +6 -0
  200. package/dist/stories/InputText/InputText.settings.d.ts +1 -74
  201. package/dist/stories/InputText/InputText.stories.d.ts +15 -0
  202. package/dist/stories/InputText/InputTextIconPosition.stories.d.ts +8 -0
  203. package/dist/stories/InputText/InputTextLength.stories.d.ts +10 -0
  204. package/dist/stories/InputText/InputTextMinMax.stories.d.ts +9 -0
  205. package/dist/stories/InputText/InputTextSlots.stories.d.ts +8 -0
  206. package/dist/stories/InputText/InputTextType.stories.d.ts +18 -0
  207. package/dist/stories/Nav/Nav.settings.d.ts +0 -3
  208. package/dist/stories/Nav/Nav.stories.d.ts +6 -0
  209. package/dist/stories/Nav/NavModifiers.stories.d.ts +9 -0
  210. package/dist/stories/Progress/Progress.settings.d.ts +0 -6
  211. package/dist/stories/Progress/Progress.stories.d.ts +7 -0
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -19
  213. package/dist/stories/Radio/Radio.stories.d.ts +11 -0
  214. package/dist/stories/Radio/RadioSlots.stories.d.ts +7 -0
  215. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -27
  216. package/dist/stories/RadioGroup/RadioGroup.stories.d.ts +12 -0
  217. package/dist/stories/RadioGroup/RadioGroupOptions.stories.d.ts +8 -0
  218. package/dist/stories/RadioGroup/RadioGroupSlots.stories.d.ts +7 -0
  219. package/dist/stories/Select/Select.settings.d.ts +1 -47
  220. package/dist/stories/Select/Select.stories.d.ts +15 -0
  221. package/dist/stories/Select/SelectIconPosition.stories.d.ts +8 -0
  222. package/dist/stories/Select/SelectOptions.stories.d.ts +9 -0
  223. package/dist/stories/Select/SelectSlots.stories.d.ts +8 -0
  224. package/dist/stories/Tab/Tab.stories.d.ts +6 -0
  225. package/dist/stories/Textarea/Textarea.settings.d.ts +1 -43
  226. package/dist/stories/Textarea/Textarea.stories.d.ts +14 -0
  227. package/dist/stories/Textarea/TextareaLength.stories.d.ts +10 -0
  228. package/dist/stories/Textarea/TextareaSlots.stories.d.ts +8 -0
  229. package/dist/stories/Textarea/TextareatIconPosition.stories.d.ts +8 -0
  230. package/dist/stories/Tooltip/Tooltip.settings.d.ts +2 -39
  231. package/dist/stories/Tooltip/Tooltip.stories.d.ts +6 -0
  232. package/dist/stories/Tooltip/TooltipDirective.stories.d.ts +10 -0
  233. package/dist/stories/argTypes.d.ts +5 -125
  234. package/package.json +68 -52
  235. package/src/assets/icons/detailed.json +1 -1
  236. package/src/assets/icons/normal.json +1 -1
  237. package/src/assets/icons/simple.json +1 -1
  238. package/src/components/VvAccordion/index.ts +2 -4
  239. package/src/components/VvAccordionGroup/index.ts +3 -4
  240. package/src/components/VvAction/VvAction.vue +1 -1
  241. package/src/components/VvAlert/VvAlert.vue +54 -0
  242. package/src/components/VvAlert/index.ts +162 -0
  243. package/src/components/VvAlertGroup/VvAlertGroup.vue +34 -0
  244. package/src/components/VvAlertGroup/index.ts +122 -0
  245. package/src/components/VvCard/index.ts +3 -1
  246. package/src/components/VvCheckbox/VvCheckbox.vue +23 -2
  247. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +15 -2
  248. package/src/components/VvCombobox/VvCombobox.vue +41 -24
  249. package/src/components/VvCombobox/index.ts +9 -3
  250. package/src/components/VvDialog/VvDialog.vue +11 -7
  251. package/src/components/VvDialog/index.ts +2 -2
  252. package/src/components/VvDropdown/VvDropdown.vue +23 -5
  253. package/src/components/VvDropdown/VvDropdownItem.vue +2 -2
  254. package/src/components/VvIcon/VvIcon.vue +37 -34
  255. package/src/components/VvIcon/index.ts +2 -2
  256. package/src/components/VvInputText/VvInputText.vue +26 -9
  257. package/src/components/VvRadio/VvRadio.vue +23 -2
  258. package/src/components/VvRadioGroup/VvRadioGroup.vue +15 -2
  259. package/src/components/VvSelect/VvSelect.vue +26 -9
  260. package/src/components/VvTextarea/VvTextarea.vue +26 -9
  261. package/src/components/common/HintSlot.ts +129 -170
  262. package/src/composables/alert/useInjectAlert.ts +8 -0
  263. package/src/composables/alert/useProvideAlert.ts +23 -0
  264. package/src/composables/dropdown/useInjectDropdown.ts +3 -28
  265. package/src/composables/dropdown/useProvideDropdown.ts +14 -15
  266. package/src/composables/useOptions.ts +9 -7
  267. package/src/composables/useVolver.ts +1 -2
  268. package/src/constants.ts +42 -4
  269. package/src/props/index.ts +5 -3
  270. package/src/resolvers/unplugin.ts +6 -3
  271. package/src/stories/Accordion/Accordion.settings.ts +18 -7
  272. package/src/stories/Accordion/Accordion.stories.ts +45 -0
  273. package/src/stories/Accordion/AccordionSlots.stories.ts +29 -0
  274. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +22 -0
  275. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +62 -0
  276. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +53 -0
  277. package/src/stories/Alert/Alert.settings.ts +110 -0
  278. package/src/stories/Alert/Alert.stories.ts +60 -0
  279. package/src/stories/Alert/Alert.test.ts +95 -0
  280. package/src/stories/Alert/AlertModifiers.stories.ts +77 -0
  281. package/src/stories/Alert/AlertSlots.stories.ts +74 -0
  282. package/src/stories/AlertGroup/AlertGroup.settings.ts +110 -0
  283. package/src/stories/AlertGroup/AlertGroup.stories.ts +50 -0
  284. package/src/stories/AlertGroup/AlertGroup.test.ts +76 -0
  285. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +103 -0
  286. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +67 -0
  287. package/src/stories/Avatar/Avatar.settings.ts +7 -6
  288. package/src/stories/Avatar/Avatar.stories.ts +42 -0
  289. package/src/stories/Avatar/Avatar.test.ts +1 -1
  290. package/src/stories/Avatar/AvatarBadge.stories.ts +36 -0
  291. package/src/stories/Avatar/AvatarModifiers.stories.ts +100 -0
  292. package/src/stories/Avatar/AvatarSlots.stories.ts +34 -0
  293. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +35 -0
  294. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +31 -0
  295. package/src/stories/AvatarGroup/{AvatarGroupSlotDefault.stories.mdx → AvatarGroupSlotDefault.stories.ts} +24 -30
  296. package/src/stories/Badge/Badge.stories.ts +43 -0
  297. package/src/stories/Badge/BadgeSlots.stories.ts +23 -0
  298. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +41 -0
  299. package/src/stories/Breadcrumb/Breadcrumb.test.ts +1 -1
  300. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +37 -0
  301. package/src/stories/Button/Button.settings.ts +2 -11
  302. package/src/stories/Button/Button.stories.ts +38 -0
  303. package/src/stories/Button/ButtonIcon.stories.ts +67 -0
  304. package/src/stories/Button/ButtonLink.stories.ts +40 -0
  305. package/src/stories/Button/ButtonLoading.stories.ts +41 -0
  306. package/src/stories/Button/ButtonModifiers.stories.ts +158 -0
  307. package/src/stories/Button/ButtonSlots.stories.ts +87 -0
  308. package/src/stories/Button/ButtonState.stories.ts +42 -0
  309. package/src/stories/Button/ButtonToggle.stories.ts +52 -0
  310. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +39 -0
  311. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +39 -0
  312. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +38 -0
  313. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +41 -0
  314. package/src/stories/Card/Card.stories.ts +46 -0
  315. package/src/stories/Card/CardSlots.stories.ts +81 -0
  316. package/src/stories/Checkbox/Checkbox.settings.ts +0 -2
  317. package/src/stories/Checkbox/Checkbox.stories.ts +97 -0
  318. package/src/stories/Checkbox/CheckboxBinary.stories.ts +33 -0
  319. package/src/stories/Checkbox/CheckboxSlots.stories.ts +31 -0
  320. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +87 -0
  321. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +53 -0
  322. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +47 -0
  323. package/src/stories/Combobox/Combobox.settings.ts +3 -23
  324. package/src/stories/Combobox/Combobox.stories.ts +176 -0
  325. package/src/stories/Combobox/Combobox.test.ts +2 -2
  326. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +43 -0
  327. package/src/stories/Combobox/ComboboxMultiple.stories.ts +41 -0
  328. package/src/stories/Combobox/ComboboxOptions.stories.ts +78 -0
  329. package/src/stories/Combobox/ComboboxSlots.stories.ts +104 -0
  330. package/src/stories/Dialog/Dialog.settings.ts +1 -1
  331. package/src/stories/Dialog/Dialog.stories.ts +51 -0
  332. package/src/stories/Dialog/Dialog.test.ts +2 -2
  333. package/src/stories/Dialog/DialogSlots.stories.ts +39 -0
  334. package/src/stories/Dropdown/Dropdown.stories.ts +107 -0
  335. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +49 -0
  336. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +61 -0
  337. package/src/stories/Dropdown/DropdownSlots.stories.ts +95 -0
  338. package/src/stories/Icon/Icon.settings.ts +1 -0
  339. package/src/stories/Icon/Icon.stories.ts +48 -0
  340. package/src/stories/Icon/IconsCollection.stories.ts +53 -0
  341. package/src/stories/InputText/InputText.settings.ts +3 -39
  342. package/src/stories/InputText/InputText.stories.ts +121 -0
  343. package/src/stories/InputText/InputTextIconPosition.stories.ts +43 -0
  344. package/src/stories/InputText/InputTextLength.stories.ts +58 -0
  345. package/src/stories/InputText/InputTextMinMax.stories.ts +51 -0
  346. package/src/stories/InputText/InputTextSlots.stories.ts +39 -0
  347. package/src/stories/InputText/InputTextType.stories.ts +119 -0
  348. package/src/stories/Nav/Nav.stories.ts +33 -0
  349. package/src/stories/Nav/NavModifiers.stories.ts +47 -0
  350. package/src/stories/Progress/Progress.settings.ts +0 -3
  351. package/src/stories/Progress/Progress.stories.ts +41 -0
  352. package/src/stories/Radio/Radio.stories.ts +81 -0
  353. package/src/stories/Radio/RadioSlots.stories.ts +31 -0
  354. package/src/stories/RadioGroup/RadioGroup.stories.ts +88 -0
  355. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +53 -0
  356. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +47 -0
  357. package/src/stories/Select/Select.settings.ts +0 -5
  358. package/src/stories/Select/Select.stories.ts +113 -0
  359. package/src/stories/Select/SelectIconPosition.stories.ts +43 -0
  360. package/src/stories/Select/SelectOptions.stories.ts +77 -0
  361. package/src/stories/Select/SelectSlots.stories.ts +39 -0
  362. package/src/stories/Tab/Tab.stories.ts +70 -0
  363. package/src/stories/Textarea/Textarea.settings.ts +0 -8
  364. package/src/stories/Textarea/Textarea.stories.ts +107 -0
  365. package/src/stories/Textarea/TextareaLength.stories.ts +58 -0
  366. package/src/stories/Textarea/TextareaSlots.stories.ts +39 -0
  367. package/src/stories/Textarea/TextareatIconPosition.stories.ts +43 -0
  368. package/src/stories/Tooltip/Tooltip.settings.ts +4 -4
  369. package/src/stories/Tooltip/Tooltip.stories.ts +40 -0
  370. package/src/stories/Tooltip/TooltipDirective.stories.ts +68 -0
  371. package/src/stories/argTypes.ts +5 -59
  372. package/src/stories/Accordion/Accordion.stories.mdx +0 -45
  373. package/src/stories/Accordion/AccordionSlots.stories.mdx +0 -58
  374. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +0 -58
  375. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +0 -59
  376. package/src/stories/Avatar/Avatar.stories.mdx +0 -40
  377. package/src/stories/Avatar/AvatarBadge.stories.mdx +0 -41
  378. package/src/stories/Avatar/AvatarModifiers.stories.mdx +0 -87
  379. package/src/stories/Avatar/AvatarSlotDefault.stories.mdx +0 -29
  380. package/src/stories/AvatarGroup/AvatarGroup.stories.mdx +0 -30
  381. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.mdx +0 -24
  382. package/src/stories/Badge/Badge.stories.mdx +0 -51
  383. package/src/stories/Badge/BadgeSlots.stories.mdx +0 -20
  384. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +0 -50
  385. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +0 -43
  386. package/src/stories/Button/Button.stories.mdx +0 -35
  387. package/src/stories/Button/ButtonIcon.stories.mdx +0 -153
  388. package/src/stories/Button/ButtonLink.stories.mdx +0 -72
  389. package/src/stories/Button/ButtonLoading.stories.mdx +0 -108
  390. package/src/stories/Button/ButtonModifiers.stories.mdx +0 -257
  391. package/src/stories/Button/ButtonSlots.stories.mdx +0 -116
  392. package/src/stories/Button/ButtonState.stories.mdx +0 -66
  393. package/src/stories/Button/ButtonToggle.stories.mdx +0 -112
  394. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +0 -37
  395. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +0 -52
  396. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.mdx +0 -37
  397. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +0 -73
  398. package/src/stories/Card/Card.stories.mdx +0 -40
  399. package/src/stories/Card/CardSlots.stories.mdx +0 -98
  400. package/src/stories/Checkbox/Checkbox.stories.mdx +0 -164
  401. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +0 -68
  402. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +0 -46
  403. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +0 -135
  404. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +0 -100
  405. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +0 -68
  406. package/src/stories/Combobox/Combobox.stories.mdx +0 -324
  407. package/src/stories/Combobox/ComboboxIconPosition.stories.mdx +0 -78
  408. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +0 -73
  409. package/src/stories/Combobox/ComboboxOptions.stories.mdx +0 -135
  410. package/src/stories/Combobox/ComboboxSlots.stories.mdx +0 -153
  411. package/src/stories/Dialog/Dialog.stories.mdx +0 -56
  412. package/src/stories/Dialog/DialogSlots.stories.mdx +0 -63
  413. package/src/stories/Dropdown/Dropdown.stories.mdx +0 -124
  414. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.mdx +0 -41
  415. package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +0 -56
  416. package/src/stories/Dropdown/DropdownSlots.stories.mdx +0 -114
  417. package/src/stories/Icon/Icon.stories.mdx +0 -91
  418. package/src/stories/Icon/IconsCollection.stories.mdx +0 -69
  419. package/src/stories/InputText/InputText.stories.mdx +0 -211
  420. package/src/stories/InputText/InputTextIconPosition.stories.mdx +0 -78
  421. package/src/stories/InputText/InputTextLength.stories.mdx +0 -110
  422. package/src/stories/InputText/InputTextMinMax.stories.mdx +0 -112
  423. package/src/stories/InputText/InputTextSlots.stories.mdx +0 -69
  424. package/src/stories/InputText/InputTextType.stories.mdx +0 -259
  425. package/src/stories/Nav/Nav.stories.mdx +0 -28
  426. package/src/stories/Nav/NavModifiers.stories.mdx +0 -48
  427. package/src/stories/Progress/Progress.stories.mdx +0 -30
  428. package/src/stories/Radio/Radio.stories.mdx +0 -128
  429. package/src/stories/Radio/RadioSlots.stories.mdx +0 -46
  430. package/src/stories/RadioGroup/RadioGroup.stories.mdx +0 -135
  431. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +0 -100
  432. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +0 -68
  433. package/src/stories/Select/Select.stories.mdx +0 -196
  434. package/src/stories/Select/SelectIconPosition.stories.mdx +0 -78
  435. package/src/stories/Select/SelectOptions.stories.mdx +0 -135
  436. package/src/stories/Select/SelectSlots.stories.mdx +0 -48
  437. package/src/stories/Tab/Tab.stories.mdx +0 -65
  438. package/src/stories/Textarea/Textarea.stories.mdx +0 -187
  439. package/src/stories/Textarea/TextareaLength.stories.mdx +0 -110
  440. package/src/stories/Textarea/TextareaSlots.stories.mdx +0 -69
  441. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +0 -78
  442. package/src/stories/Tooltip/Tooltip.stories.mdx +0 -102
  443. package/src/stories/Tooltip/TooltipDirective.stories.mdx +0 -99
@@ -0,0 +1,45 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+ import VvAccordion from '@/components/VvAccordion/VvAccordion.vue'
3
+ import { defaultTest } from './Accordion.test'
4
+ import { defaultArgs, argTypes } from './Accordion.settings'
5
+
6
+ const meta: Meta<typeof VvAccordion> = {
7
+ title: 'Components/Accordion',
8
+ component: VvAccordion,
9
+ args: defaultArgs,
10
+ argTypes,
11
+ tags: ['autodocs'],
12
+ }
13
+
14
+ export default meta
15
+
16
+ type Story = StoryObj<typeof VvAccordion>
17
+
18
+ export const Default: Story = {
19
+ args: defaultArgs,
20
+ play: defaultTest,
21
+ render: (args) => ({
22
+ components: { VvAccordion },
23
+ setup() {
24
+ const open = ref(false)
25
+ return { args, open }
26
+ },
27
+ template: /* html */ `
28
+ <vv-accordion data-testId="element" v-bind="args" v-model="open">
29
+ <template #summary v-if="args.summary"><div v-html="args.summary"></div></template>
30
+ <template #default v-if="args.default"><div v-html="args.default"></div></template>
31
+ </vv-accordion>
32
+ <div class="mt-24">
33
+ {{ args.not ? 'Closed' : 'Opened'}}: <span data-testId="value">{{ open }}</span>
34
+ </div>
35
+ `,
36
+ }),
37
+ }
38
+
39
+ export const Not: Story = {
40
+ ...Default,
41
+ args: {
42
+ ...defaultArgs,
43
+ not: true,
44
+ },
45
+ }
@@ -0,0 +1,29 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+ import VvAccordion from '@/components/VvAccordion/VvAccordion.vue'
3
+ import { Default as AccordionDefault } from './Accordion.stories'
4
+ import { defaultArgs } from './Accordion.settings'
5
+
6
+ const meta: Meta<typeof VvAccordion> = {
7
+ title: 'Components/Accordion/Slots',
8
+ component: VvAccordion,
9
+ }
10
+
11
+ export default meta
12
+
13
+ type Story = StoryObj<typeof VvAccordion>
14
+
15
+ export const Default: Story = {
16
+ ...AccordionDefault,
17
+ args: {
18
+ ...defaultArgs,
19
+ default: `<strong data-testId="slot" class="font-bold text-brand-darken-1">Custom Details</strong>`,
20
+ },
21
+ }
22
+
23
+ export const Summary: Story = {
24
+ ...AccordionDefault,
25
+ args: {
26
+ ...defaultArgs,
27
+ summary: `<strong data-testId="slot" class="font-bold text-brand-darken-1">Custom Summary</strong>`,
28
+ },
29
+ }
@@ -42,11 +42,33 @@ export const argTypes = {
42
42
  disable: true,
43
43
  },
44
44
  },
45
+ items: {
46
+ description: 'Accordion group items',
47
+ },
48
+ collapse: {
49
+ description: 'Enables accordion group collapse',
50
+ control: 'boolean',
51
+ table: {
52
+ defaultValue: {
53
+ summary: false,
54
+ },
55
+ },
56
+ },
57
+ not: {
58
+ description: 'Inverts the accordion group state',
59
+ control: 'boolean',
60
+ table: {
61
+ defaultValue: {
62
+ summary: false,
63
+ },
64
+ },
65
+ },
45
66
  modifiers: {
46
67
  ...ModifiersArgTypes.modifiers,
47
68
  options: ['compact', 'bordered'],
48
69
  },
49
70
  itemModifiers: {
71
+ description: 'Accordion items BEM modifiers',
50
72
  control: 'check',
51
73
  options: ['marker-right', 'bordered'],
52
74
  },
@@ -0,0 +1,62 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+ import VvAccordionGroup from '@/components/VvAccordionGroup/VvAccordionGroup.vue'
3
+ import { defaultTest } from './AccordionGroup.test'
4
+ import { defaultArgs, argTypes } from './AccordionGroup.settings'
5
+
6
+ export default {
7
+ title: 'Components/AccordionGroup',
8
+ component: VvAccordionGroup,
9
+ args: defaultArgs,
10
+ argTypes,
11
+ tags: ['autodocs'],
12
+ } as Meta<typeof VvAccordionGroup>
13
+
14
+ export type Story = StoryObj<typeof VvAccordionGroup>
15
+
16
+ export const Default: Story = {
17
+ args: defaultArgs,
18
+ play: defaultTest,
19
+ render: (args, { argTypes }) => ({
20
+ props: Object.keys(argTypes),
21
+ components: { VvAccordionGroup },
22
+ setup() {
23
+ return { args }
24
+ },
25
+ data() {
26
+ return {
27
+ selected: null,
28
+ }
29
+ },
30
+ template: /*html*/ `
31
+ <vv-accordion-group data-testId="element" v-bind="args" v-model="selected" />
32
+ <div class="mt-24">
33
+ {{ args.not ? 'Closed' : 'Opened'}}: <span data-testId="value">{{ selected }}</span>
34
+ </div>
35
+ `,
36
+ }),
37
+ }
38
+
39
+ export const Not: Story = {
40
+ ...Default,
41
+ args: {
42
+ ...defaultArgs,
43
+ not: true,
44
+ },
45
+ }
46
+
47
+ export const Collapse: Story = {
48
+ ...Default,
49
+ args: {
50
+ ...defaultArgs,
51
+ collapse: true,
52
+ },
53
+ }
54
+
55
+ export const CollapseNot: Story = {
56
+ ...Default,
57
+ args: {
58
+ ...defaultArgs,
59
+ collapse: true,
60
+ not: true,
61
+ },
62
+ }
@@ -0,0 +1,53 @@
1
+ import VvAccordionGroup from '@/components/VvAccordionGroup/VvAccordionGroup.vue'
2
+ import VvAccordion from '@/components/VvAccordion/VvAccordion.vue'
3
+ import { defaultTest } from './AccordionGroup.test'
4
+ import { defaultArgs, argTypes } from './AccordionGroup.settings'
5
+ import meta, { type Story } from './AccordionGroup.stories'
6
+
7
+ export default {
8
+ ...meta,
9
+ title: 'Components/AccordionGroup/Slots',
10
+ }
11
+
12
+ export const Default: Story = {
13
+ args: defaultArgs,
14
+ argTypes: {
15
+ ...argTypes,
16
+ items: {
17
+ control: {
18
+ disable: true,
19
+ },
20
+ },
21
+ default: {
22
+ ...argTypes.default,
23
+ control: {
24
+ disable: true,
25
+ },
26
+ },
27
+ },
28
+ play: defaultTest,
29
+ render: (args) => ({
30
+ props: Object.keys(argTypes),
31
+ components: { VvAccordionGroup, VvAccordion },
32
+ setup() {
33
+ return { args }
34
+ },
35
+ data() {
36
+ return {
37
+ selected: '',
38
+ content:
39
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean turpis diam, tempor non sem ut, suscipit gravida mi.',
40
+ }
41
+ },
42
+ template: /*html*/ `
43
+ <vv-accordion-group data-testId="element" v-bind="args" v-model="selected">
44
+ <vv-accordion name="a-1" data-testId="a-1" title="Details 1" :content="content" />
45
+ <vv-accordion name="a-2" title="Details 2" :content="content" />
46
+ <vv-accordion name="a-3" title="Details 3" :content="content" />
47
+ </vv-accordion-group>
48
+ <div class="mt-24" >
49
+ Opened: <span data-testId="value">{{ selected }}</span>
50
+ </div>
51
+ `,
52
+ }),
53
+ }
@@ -0,0 +1,110 @@
1
+ import { IconArgTypes } from '../argTypes'
2
+ import { ModifiersArgTypes } from '../argTypes'
3
+
4
+ export const defaultArgs = {
5
+ title: 'Alert title!',
6
+ content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
7
+ dismissable: false,
8
+ autoClose: 0,
9
+ role: 'alert',
10
+ }
11
+
12
+ export const argTypes = {
13
+ title: {
14
+ description: 'The alert title',
15
+ },
16
+ content: {
17
+ description: 'The alert content',
18
+ },
19
+ dismissable: {
20
+ description: 'Dismissable by clicking on the close button',
21
+ control: 'boolean',
22
+ table: {
23
+ defaultValue: {
24
+ summary: false,
25
+ },
26
+ },
27
+ },
28
+ autoClose: {
29
+ description: 'Auto close after the specified time in milliseconds',
30
+ control: 'number',
31
+ table: {
32
+ defaultValue: {
33
+ summary: 0,
34
+ },
35
+ },
36
+ },
37
+ modifiers: {
38
+ ...ModifiersArgTypes.modifiers,
39
+ options: [
40
+ 'success',
41
+ 'warning',
42
+ 'danger',
43
+ 'info',
44
+ 'brand',
45
+ 'notification',
46
+ 'accent',
47
+ 'callout',
48
+ ],
49
+ },
50
+ icon: IconArgTypes.icon,
51
+ role: {
52
+ description: 'The alert role',
53
+ control: 'radio',
54
+ options: ['alert', 'alertdialog'],
55
+ table: {
56
+ defaultValue: 'alert',
57
+ },
58
+ },
59
+ // slots
60
+ header: {
61
+ control: {
62
+ type: 'text',
63
+ },
64
+ table: {
65
+ type: {
66
+ summary: 'html',
67
+ },
68
+ },
69
+ },
70
+ 'title::before': {
71
+ control: {
72
+ type: 'text',
73
+ },
74
+ table: {
75
+ type: {
76
+ summary: 'html',
77
+ },
78
+ },
79
+ },
80
+ 'title::after': {
81
+ control: {
82
+ type: 'text',
83
+ },
84
+ table: {
85
+ type: {
86
+ summary: 'html',
87
+ },
88
+ },
89
+ },
90
+ default: {
91
+ control: {
92
+ type: 'text',
93
+ },
94
+ table: {
95
+ type: {
96
+ summary: 'html',
97
+ },
98
+ },
99
+ },
100
+ footer: {
101
+ control: {
102
+ type: 'text',
103
+ },
104
+ table: {
105
+ type: {
106
+ summary: 'html',
107
+ },
108
+ },
109
+ },
110
+ }
@@ -0,0 +1,60 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3'
2
+ import VvAlert from '@/components/VvAlert/VvAlert.vue'
3
+ import { defaultTest } from './Alert.test'
4
+ import { defaultArgs, argTypes } from './Alert.settings'
5
+
6
+ const meta: Meta<typeof VvAlert> = {
7
+ title: 'Components/Alert',
8
+ component: VvAlert,
9
+ args: defaultArgs,
10
+ argTypes,
11
+ tags: ['autodocs'],
12
+ }
13
+
14
+ export default meta
15
+
16
+ export type Story = StoryObj<typeof VvAlert>
17
+
18
+ export const Default: Story = {
19
+ args: defaultArgs,
20
+ play: defaultTest,
21
+ render: (args) => ({
22
+ components: { VvAlert },
23
+ setup() {
24
+ return { args }
25
+ },
26
+ template: /* html */ `
27
+ <vv-alert v-bind="args" data-testId="element">
28
+ <template #header v-if="args.header"><div v-html="args.header"></div></template>
29
+ <template #title::before v-if="args['title::before']"><div v-html="args['title::before']"></div></template>
30
+ <template #title::after v-if="args['title::after']"><div v-html="args['title::after']"></div></template>
31
+ <template #default v-if="args.default"><div v-html="args.default"></div></template>
32
+ <template #footer v-if="args.footer"><div v-html="args.footer"></div></template>
33
+ </vv-alert>
34
+ `,
35
+ }),
36
+ }
37
+
38
+ export const Dismissable: Story = {
39
+ ...Default,
40
+ args: {
41
+ ...defaultArgs,
42
+ dismissable: true,
43
+ },
44
+ }
45
+
46
+ export const AutoClose: Story = {
47
+ ...Default,
48
+ args: {
49
+ ...defaultArgs,
50
+ autoClose: 8000,
51
+ },
52
+ }
53
+
54
+ export const Icon: Story = {
55
+ ...Default,
56
+ args: {
57
+ ...defaultArgs,
58
+ icon: 'warning',
59
+ },
60
+ }
@@ -0,0 +1,95 @@
1
+ import type { PlayAttributes } from '@/test/types'
2
+ import { expect } from '@/test/expect'
3
+ import { within } from '@storybook/testing-library'
4
+
5
+ export async function defaultTest({ canvasElement, args }: PlayAttributes) {
6
+ const element = (await within(canvasElement).findByTestId(
7
+ 'element',
8
+ )) as HTMLElement
9
+
10
+ expect(element).toHaveClass('vv-alert')
11
+
12
+ const modifiers =
13
+ !args.modifiers || Array.isArray(args.modifiers)
14
+ ? args.modifiers
15
+ : args.modifiers.split(' ')
16
+
17
+ const alertHeaderEl =
18
+ element.getElementsByClassName('vv-alert__header')?.[0]
19
+ const closeButton = alertHeaderEl?.lastChild as HTMLElement
20
+ const alertContentEl =
21
+ element.getElementsByClassName('vv-alert__content')?.[0]
22
+ const alertFooterEl =
23
+ element.getElementsByClassName('vv-alert__footer')?.[0]
24
+
25
+ // modifiers
26
+ if (modifiers) {
27
+ for (const modifier of modifiers) {
28
+ expect(element).toHaveClass(`vv-alert--${modifier}`)
29
+ }
30
+ }
31
+
32
+ // dismissable
33
+ if (args.dismissable) {
34
+ expect(element).toHaveClass('vv-alert--dismissable')
35
+ expect(closeButton).toHaveClass('vv-alert__close')
36
+ }
37
+
38
+ // autoclose
39
+ if (args.autoClose) {
40
+ expect(element).toHaveClass('vv-alert--auto-close')
41
+ expect(closeButton).toHaveClass('vv-alert__close')
42
+ expect(closeButton.firstChild).toHaveClass('vv-alert__close-mask')
43
+ }
44
+
45
+ // icon
46
+ if (args.icon) {
47
+ expect(alertHeaderEl.firstChild).toHaveClass('vv-alert__icon')
48
+ }
49
+
50
+ // slot default
51
+ if (args.default) {
52
+ const div = document.createElement('div')
53
+ div.innerHTML = args.default
54
+ expect(alertContentEl.firstElementChild?.innerHTML).toEqual(
55
+ div.innerHTML,
56
+ )
57
+ }
58
+
59
+ // slot header
60
+ if (args.header) {
61
+ const div = document.createElement('div')
62
+ div.innerHTML = args.header
63
+ expect(alertHeaderEl.firstElementChild?.innerHTML).toEqual(
64
+ div.innerHTML,
65
+ )
66
+ }
67
+
68
+ // slot title before
69
+ if (args['title::before']) {
70
+ const div = document.createElement('div')
71
+ div.innerHTML = args['title::before']
72
+ expect(alertHeaderEl.firstElementChild?.innerHTML).toEqual(
73
+ div.innerHTML,
74
+ )
75
+ }
76
+
77
+ // slot title after
78
+ if (args['title::after']) {
79
+ const div = document.createElement('div')
80
+ div.innerHTML = args['title::after']
81
+ expect(alertHeaderEl.lastElementChild?.innerHTML).toEqual(div.innerHTML)
82
+ }
83
+
84
+ // slot footer
85
+ if (args.footer) {
86
+ const div = document.createElement('div')
87
+ div.innerHTML = args.footer
88
+ expect(alertFooterEl.firstElementChild?.innerHTML).toEqual(
89
+ div.innerHTML,
90
+ )
91
+ }
92
+
93
+ // check accessibility
94
+ await expect(element).toHaveNoViolations()
95
+ }
@@ -0,0 +1,77 @@
1
+ import type { Meta } from '@storybook/vue3'
2
+ import VvAlert from '@/components/VvAlert/VvAlert.vue'
3
+ import { defaultArgs, argTypes } from './Alert.settings'
4
+ import { Default, type Story } from './Alert.stories'
5
+
6
+ const meta: Meta<typeof VvAlert> = {
7
+ title: 'Components/Alert/Modifiers',
8
+ component: VvAlert,
9
+ args: defaultArgs,
10
+ argTypes,
11
+ }
12
+
13
+ export default meta
14
+
15
+ export const Notification: Story = {
16
+ ...Default,
17
+ args: {
18
+ ...defaultArgs,
19
+ modifiers: ['notification'],
20
+ },
21
+ }
22
+
23
+ export const Callout: Story = {
24
+ ...Default,
25
+ args: {
26
+ ...defaultArgs,
27
+ modifiers: ['callout'],
28
+ },
29
+ }
30
+
31
+ export const Info: Story = {
32
+ ...Default,
33
+ args: {
34
+ ...defaultArgs,
35
+ modifiers: ['info'],
36
+ },
37
+ }
38
+
39
+ export const Success: Story = {
40
+ ...Default,
41
+ args: {
42
+ ...defaultArgs,
43
+ modifiers: ['success'],
44
+ },
45
+ }
46
+
47
+ export const Warning: Story = {
48
+ ...Default,
49
+ args: {
50
+ ...defaultArgs,
51
+ modifiers: ['warning'],
52
+ },
53
+ }
54
+
55
+ export const Danger: Story = {
56
+ ...Default,
57
+ args: {
58
+ ...defaultArgs,
59
+ modifiers: ['danger'],
60
+ },
61
+ }
62
+
63
+ export const Accent: Story = {
64
+ ...Default,
65
+ args: {
66
+ ...defaultArgs,
67
+ modifiers: ['accent'],
68
+ },
69
+ }
70
+
71
+ export const Brand: Story = {
72
+ ...Default,
73
+ args: {
74
+ ...defaultArgs,
75
+ modifiers: ['brand'],
76
+ },
77
+ }
@@ -0,0 +1,74 @@
1
+ import type { Meta } from '@storybook/vue3'
2
+ import VvAlert from '@/components/VvAlert/VvAlert.vue'
3
+ import { defaultArgs, argTypes } from './Alert.settings'
4
+ import { Default as DefaultStory, type Story } from './Alert.stories'
5
+
6
+ const meta: Meta<typeof VvAlert> = {
7
+ title: 'Components/Alert/Slots',
8
+ component: VvAlert,
9
+ args: defaultArgs,
10
+ argTypes,
11
+ }
12
+
13
+ export default meta
14
+
15
+ export const Default: Story = {
16
+ ...DefaultStory,
17
+ args: {
18
+ ...defaultArgs,
19
+ modifiers: ['notification'],
20
+ default: /*html*/ `
21
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
22
+ <div class="mt-sm">Default <em class="italic">slot!</em></div>
23
+ `,
24
+ },
25
+ }
26
+
27
+ export const Header: Story = {
28
+ ...DefaultStory,
29
+ args: {
30
+ ...defaultArgs,
31
+ header: 'Header <em class="italic">slot!</em>',
32
+ },
33
+ }
34
+
35
+ export const TitleBefore: Story = {
36
+ ...DefaultStory,
37
+ args: {
38
+ ...defaultArgs,
39
+ modifiers: ['notification'],
40
+ 'title::before': /*html*/ `
41
+ <small class="text-smaller flex-1">10 minutes ago</small>
42
+ `,
43
+ },
44
+ }
45
+
46
+ export const TitleAfter: Story = {
47
+ ...DefaultStory,
48
+ args: {
49
+ ...defaultArgs,
50
+ modifiers: ['notification'],
51
+ 'title::after': /*html*/ `
52
+ <small class="text-smaller ml-auto">10 minutes ago</small>
53
+ `,
54
+ },
55
+ }
56
+
57
+ export const Footer: Story = {
58
+ ...DefaultStory,
59
+ args: {
60
+ ...defaultArgs,
61
+ modifiers: ['notification'],
62
+ role: 'alertdialog',
63
+ footer: /*html*/ `
64
+ <div class="vv-button-group" role="group">
65
+ <button type="button" class="vv-button vv-button--action" id="c1RmyuK7IURatQsTHcP42">
66
+ <span class="vv-button__label">Save</span>
67
+ </button>
68
+ <button type="button" class="vv-button vv-button--action-quiet" id="i2YcewpfM6ZKrhx1dHDe5">
69
+ <span class="vv-button__label">Cancel</span>
70
+ </button>
71
+ </div>
72
+ `,
73
+ },
74
+ }