@volverjs/ui-vue 0.0.10-beta.3 → 0.0.10-beta.31

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 (294) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +106 -10
  3. package/auto-imports.d.ts +7 -2
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +22 -15
  6. package/dist/Volver.d.ts +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -103
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +160 -8
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +451 -172
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +58 -13
  14. package/dist/components/VvAccordionGroup/index.d.ts +14 -6
  15. package/dist/components/VvAction/VvAction.es.js +78 -27
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +57 -22
  18. package/dist/components/VvAction/index.d.ts +25 -9
  19. package/dist/components/VvAlert/VvAlert.es.js +204 -171
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +24 -14
  22. package/dist/components/VvAlert/index.d.ts +17 -9
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +250 -188
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +16 -9
  26. package/dist/components/VvAlertGroup/index.d.ts +6 -14
  27. package/dist/components/VvAvatar/VvAvatar.es.js +61 -21
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +12 -4
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +118 -48
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +10 -3
  34. package/dist/components/VvAvatarGroup/index.d.ts +4 -1
  35. package/dist/components/VvBadge/VvBadge.es.js +78 -28
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -4
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +276 -60
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +27 -7
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +291 -252
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +94 -40
  46. package/dist/components/VvButton/index.d.ts +51 -29
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +81 -40
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +24 -11
  50. package/dist/components/VvButtonGroup/index.d.ts +8 -2
  51. package/dist/components/VvCard/VvCard.es.js +86 -36
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +12 -4
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -120
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -33
  58. package/dist/components/VvCheckbox/index.d.ts +47 -14
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -107
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +101 -30
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +806 -581
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +171 -104
  66. package/dist/components/VvCombobox/index.d.ts +62 -26
  67. package/dist/components/VvDialog/VvDialog.es.js +140 -153
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
  70. package/dist/components/VvDropdown/VvDropdown.es.js +138 -71
  71. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  72. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +101 -75
  73. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +66 -25
  74. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  75. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
  76. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
  77. package/dist/components/VvDropdown/index.d.ts +52 -10
  78. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +152 -39
  79. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  80. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
  81. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  82. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  84. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  85. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  86. package/dist/components/VvIcon/VvIcon.es.js +23 -96
  87. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  88. package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
  89. package/dist/components/VvIcon/index.d.ts +33 -48
  90. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  91. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  92. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +359 -0
  93. package/dist/components/VvInputFile/index.d.ts +200 -0
  94. package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
  95. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
  96. package/dist/components/VvInputText/VvInputStepAction.d.ts +2 -2
  97. package/dist/components/VvInputText/VvInputText.es.js +1237 -324
  98. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  99. package/dist/components/VvInputText/VvInputText.vue.d.ts +207 -57
  100. package/dist/components/VvInputText/index.d.ts +99 -29
  101. package/dist/components/VvNav/VvNav.es.js +135 -56
  102. package/dist/components/VvNav/VvNav.umd.js +1 -1
  103. package/dist/components/VvNav/VvNav.vue.d.ts +32 -9
  104. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  105. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  106. package/dist/components/VvNav/index.d.ts +5 -2
  107. package/dist/components/VvNavItem/VvNavItem.es.js +91 -33
  108. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  109. package/dist/components/VvProgress/VvProgress.es.js +72 -26
  110. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  111. package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
  112. package/dist/components/VvProgress/index.d.ts +4 -1
  113. package/dist/components/VvRadio/VvRadio.es.js +160 -103
  114. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  115. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -31
  116. package/dist/components/VvRadio/index.d.ts +50 -17
  117. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -107
  118. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  119. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
  120. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  121. package/dist/components/VvSelect/VvSelect.es.js +251 -238
  122. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  123. package/dist/components/VvSelect/VvSelect.vue.d.ts +117 -44
  124. package/dist/components/VvSelect/index.d.ts +48 -14
  125. package/dist/components/VvTab/VvTab.es.js +191 -75
  126. package/dist/components/VvTab/VvTab.umd.js +1 -1
  127. package/dist/components/VvTab/VvTab.vue.d.ts +31 -7
  128. package/dist/components/VvTab/index.d.ts +4 -1
  129. package/dist/components/VvTextarea/VvTextarea.es.js +232 -224
  130. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  131. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +156 -49
  132. package/dist/components/VvTextarea/index.d.ts +68 -19
  133. package/dist/components/VvTooltip/VvTooltip.es.js +79 -29
  134. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  135. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +13 -6
  136. package/dist/components/VvTooltip/index.d.ts +5 -2
  137. package/dist/components/common/HintSlot.d.ts +1 -1
  138. package/dist/components/index.d.ts +10 -0
  139. package/dist/components/index.es.js +3534 -1650
  140. package/dist/components/index.umd.js +1 -1
  141. package/dist/composables/alert/useAlert.d.ts +99 -4
  142. package/dist/composables/alert/useInjectAlert.d.ts +1 -6
  143. package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
  144. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -4
  145. package/dist/composables/group/useInjectedGroupState.d.ts +4 -5
  146. package/dist/composables/group/useProvideGroupState.d.ts +3 -3
  147. package/dist/composables/index.d.ts +1 -0
  148. package/dist/composables/index.es.js +92 -3
  149. package/dist/composables/index.umd.js +1 -1
  150. package/dist/composables/useBlurhash.d.ts +7 -0
  151. package/dist/composables/useComponentIcon.d.ts +9 -8
  152. package/dist/composables/usePersistence.d.ts +2 -0
  153. package/dist/composables/useVolver.d.ts +1 -1
  154. package/dist/constants.d.ts +34 -32
  155. package/dist/directives/index.d.ts +3 -5
  156. package/dist/directives/index.es.js +99 -43
  157. package/dist/directives/index.umd.js +1 -1
  158. package/dist/directives/v-tooltip.es.js +97 -38
  159. package/dist/directives/v-tooltip.umd.js +1 -1
  160. package/dist/icons.es.js +267 -267
  161. package/dist/icons.umd.js +1 -1
  162. package/dist/index.d.ts +3 -1
  163. package/dist/index.es.js +90 -16
  164. package/dist/index.umd.js +1 -1
  165. package/dist/props/index.d.ts +272 -81
  166. package/dist/resolvers/unplugin.d.ts +6 -1
  167. package/dist/resolvers/unplugin.es.js +87 -10
  168. package/dist/resolvers/unplugin.umd.js +1 -1
  169. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +143 -89
  170. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1075 -492
  171. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  172. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  173. package/dist/stories/Button/Button.settings.d.ts +0 -1
  174. package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
  175. package/dist/stories/Icon/Icon.settings.d.ts +1 -0
  176. package/dist/stories/InputFile/InputFile.settings.d.ts +56 -0
  177. package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
  178. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  179. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  180. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  181. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  182. package/dist/test/expect.d.ts +1 -1
  183. package/dist/types/alert.d.ts +9 -7
  184. package/dist/types/blurhash.d.ts +12 -0
  185. package/dist/types/generic.d.ts +1 -2
  186. package/dist/types/group.d.ts +37 -15
  187. package/dist/types/index.d.ts +7 -0
  188. package/dist/types/input-file.d.ts +16 -0
  189. package/dist/types/nav.d.ts +2 -2
  190. package/dist/utils/ObjectUtilities.d.ts +0 -1
  191. package/dist/workers/blurhash.d.ts +1 -0
  192. package/package.json +78 -78
  193. package/src/Volver.ts +31 -20
  194. package/src/assets/icons/detailed.json +1 -1
  195. package/src/assets/icons/normal.json +1 -1
  196. package/src/assets/icons/simple.json +1 -1
  197. package/src/components/VvAccordion/VvAccordion.vue +121 -58
  198. package/src/components/VvAccordion/index.ts +8 -23
  199. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +164 -47
  200. package/src/components/VvAccordionGroup/index.ts +6 -6
  201. package/src/components/VvAction/VvAction.vue +17 -5
  202. package/src/components/VvAlert/index.ts +14 -9
  203. package/src/components/VvAlertGroup/index.ts +3 -15
  204. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  205. package/src/components/VvBreadcrumb/index.ts +2 -8
  206. package/src/components/VvButton/VvButton.vue +17 -7
  207. package/src/components/VvButton/index.ts +9 -16
  208. package/src/components/VvButtonGroup/VvButtonGroup.vue +1 -2
  209. package/src/components/VvCheckbox/index.ts +2 -2
  210. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +1 -2
  211. package/src/components/VvCombobox/VvCombobox.vue +15 -12
  212. package/src/components/VvCombobox/index.ts +4 -0
  213. package/src/components/VvDropdown/VvDropdown.vue +11 -2
  214. package/src/components/VvDropdown/VvDropdownItem.vue +4 -1
  215. package/src/components/VvDropdown/VvDropdownOption.vue +4 -21
  216. package/src/components/VvDropdown/index.ts +35 -1
  217. package/src/components/VvIcon/VvIcon.vue +2 -2
  218. package/src/components/VvIcon/index.ts +35 -48
  219. package/src/components/VvInputFile/VvInputFile.vue +395 -0
  220. package/src/components/VvInputFile/index.ts +135 -0
  221. package/src/components/VvInputText/VvInputClearAction.ts +10 -6
  222. package/src/components/VvInputText/VvInputPasswordAction.ts +13 -9
  223. package/src/components/VvInputText/VvInputText.vue +141 -33
  224. package/src/components/VvInputText/index.ts +31 -16
  225. package/src/components/VvNav/VvNav.vue +4 -2
  226. package/src/components/VvRadio/index.ts +5 -5
  227. package/src/components/VvRadioGroup/VvRadioGroup.vue +1 -2
  228. package/src/components/VvSelect/VvSelect.vue +5 -8
  229. package/src/components/VvTab/VvTab.vue +5 -1
  230. package/src/components/VvTextarea/VvTextarea.vue +6 -9
  231. package/src/components/index.ts +10 -0
  232. package/src/composables/alert/useAlert.ts +12 -9
  233. package/src/composables/dropdown/useProvideDropdown.ts +4 -4
  234. package/src/composables/group/useInjectedGroupState.ts +20 -16
  235. package/src/composables/group/useProvideGroupState.ts +10 -15
  236. package/src/composables/index.ts +1 -0
  237. package/src/composables/useBlurhash.ts +76 -0
  238. package/src/composables/useComponentIcon.ts +15 -14
  239. package/src/composables/usePersistence.ts +76 -0
  240. package/src/composables/useUniqueId.ts +2 -2
  241. package/src/constants.ts +47 -32
  242. package/src/directives/index.ts +3 -6
  243. package/src/directives/v-tooltip.ts +19 -10
  244. package/src/index.ts +3 -1
  245. package/src/props/index.ts +108 -31
  246. package/src/resolvers/unplugin.ts +24 -14
  247. package/src/stories/Accordion/Accordion.test.ts +1 -1
  248. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +2 -2
  249. package/src/stories/AccordionGroup/AccordionGroup.test.ts +17 -11
  250. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +1 -1
  251. package/src/stories/Alert/Alert.test.ts +1 -1
  252. package/src/stories/AlertGroup/AlertGroup.test.ts +1 -1
  253. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
  254. package/src/stories/Avatar/Avatar.test.ts +1 -1
  255. package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -1
  256. package/src/stories/Badge/Badge.test.ts +1 -1
  257. package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
  258. package/src/stories/Button/Button.settings.ts +1 -4
  259. package/src/stories/Button/Button.test.ts +1 -1
  260. package/src/stories/ButtonGroup/ButtonGroup.test.ts +1 -1
  261. package/src/stories/Card/Card.test.ts +1 -1
  262. package/src/stories/Checkbox/Checkbox.test.ts +1 -1
  263. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +1 -1
  264. package/src/stories/Combobox/Combobox.settings.ts +8 -0
  265. package/src/stories/Combobox/Combobox.test.ts +1 -1
  266. package/src/stories/Dialog/Dialog.test.ts +2 -2
  267. package/src/stories/Dropdown/Dropdown.test.ts +1 -1
  268. package/src/stories/Icon/Icon.settings.ts +3 -3
  269. package/src/stories/InputFile/InputFile.settings.ts +36 -0
  270. package/src/stories/InputFile/InputFile.stories.ts +89 -0
  271. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  272. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  273. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  274. package/src/stories/InputText/InputText.test.ts +1 -1
  275. package/src/stories/Nav/Nav.test.ts +1 -1
  276. package/src/stories/Progress/Progress.test.ts +1 -1
  277. package/src/stories/Radio/Radio.test.ts +1 -1
  278. package/src/stories/RadioGroup/RadioGroup.test.ts +1 -1
  279. package/src/stories/Select/Select.test.ts +1 -1
  280. package/src/stories/Tab/Tab.settings.ts +2 -2
  281. package/src/stories/Tab/Tab.test.ts +1 -1
  282. package/src/stories/Textarea/Textarea.test.ts +1 -1
  283. package/src/stories/Tooltip/Tooltip.test.ts +1 -1
  284. package/src/stories/argTypes.ts +1 -1
  285. package/src/test/expect.ts +2 -4
  286. package/src/types/alert.ts +11 -7
  287. package/src/types/blurhash.ts +21 -0
  288. package/src/types/generic.ts +3 -3
  289. package/src/types/group.ts +22 -14
  290. package/src/types/index.ts +7 -0
  291. package/src/types/input-file.ts +18 -0
  292. package/src/types/nav.ts +2 -3
  293. package/src/utils/ObjectUtilities.ts +0 -11
  294. package/src/workers/blurhash.ts +9 -0
@@ -13,9 +13,11 @@ import {
13
13
  Strategy,
14
14
  Position,
15
15
  Side,
16
- AnchorTarget,
17
16
  ButtonType,
17
+ ActionTag,
18
+ StorageType,
18
19
  } from '@/constants'
20
+ import type { VvIconProps } from '@/components/VvIcon'
19
21
 
20
22
  export const LinkProps = {
21
23
  /**
@@ -32,11 +34,7 @@ export const LinkProps = {
32
34
  /**
33
35
  * Anchor target
34
36
  */
35
- target: {
36
- type: String as PropType<`${AnchorTarget}`>,
37
- validator: (value: AnchorTarget) =>
38
- Object.values(AnchorTarget).includes(value),
39
- },
37
+ target: String,
40
38
  /**
41
39
  * Anchor rel
42
40
  */
@@ -50,29 +48,35 @@ export const ValidProps = {
50
48
  /**
51
49
  * Valid status
52
50
  */
53
- valid: Boolean,
51
+ valid: { type: Boolean, default: false },
54
52
  /**
55
53
  * Valid label
56
54
  */
57
- validLabel: [String, Array],
55
+ validLabel: { type: [String, Array], default: undefined },
58
56
  }
59
57
 
60
58
  export const InvalidProps = {
61
59
  /**
62
60
  * Invalid status
63
61
  */
64
- invalid: Boolean,
62
+ invalid: {
63
+ type: Boolean,
64
+ default: false,
65
+ },
65
66
  /**
66
67
  * Invalid label
67
68
  */
68
- invalidLabel: [String, Array],
69
+ invalidLabel: { type: [String, Array], default: undefined },
69
70
  }
70
71
 
71
72
  export const LoadingProps = {
72
73
  /**
73
74
  * Loading status
74
75
  */
75
- loading: Boolean,
76
+ loading: {
77
+ type: Boolean,
78
+ default: false,
79
+ },
76
80
  /**
77
81
  * Loading label
78
82
  */
@@ -86,56 +90,80 @@ export const DisabledProps = {
86
90
  /**
87
91
  * Whether the form control is disabled
88
92
  */
89
- disabled: Boolean,
93
+ disabled: {
94
+ type: Boolean,
95
+ default: false,
96
+ },
90
97
  }
91
98
 
92
99
  export const SelectedProps = {
93
100
  /**
94
101
  * Whether the item is selected
95
102
  */
96
- selected: Boolean,
103
+ selected: {
104
+ type: Boolean,
105
+ default: false,
106
+ },
97
107
  }
98
108
 
99
109
  export const ActiveProps = {
100
110
  /**
101
111
  * Whether the item is active
102
112
  */
103
- active: Boolean,
113
+ active: {
114
+ type: Boolean,
115
+ default: false,
116
+ },
104
117
  }
105
118
 
106
119
  export const CurrentProps = {
107
120
  /**
108
121
  * Whether the item is current
109
122
  */
110
- current: Boolean,
123
+ current: {
124
+ type: Boolean,
125
+ default: false,
126
+ },
111
127
  }
112
128
 
113
129
  export const PressedProps = {
114
130
  /**
115
131
  * Whether the item is pressed
116
132
  */
117
- pressed: Boolean,
133
+ pressed: {
134
+ type: Boolean,
135
+ default: false,
136
+ },
118
137
  }
119
138
 
120
139
  export const LabelProps = {
121
140
  /**
122
141
  * The item label
123
142
  */
124
- label: [String, Number],
143
+ label: {
144
+ type: [String, Number],
145
+ default: undefined,
146
+ },
125
147
  }
126
148
 
127
149
  export const ReadonlyProps = {
128
150
  /**
129
151
  * The value is not editable
130
152
  */
131
- readonly: Boolean,
153
+ readonly: {
154
+ type: Boolean,
155
+ default: false,
156
+ },
132
157
  }
133
158
 
134
159
  export const ModifiersProps = {
135
160
  /**
136
161
  * Component BEM modifiers
137
162
  */
138
- modifiers: [String, Array] as PropType<string | string[]>,
163
+ modifiers: {
164
+ type: [String, Array] as PropType<string | string[]>,
165
+ default: undefined,
166
+ },
139
167
  }
140
168
 
141
169
  export const HintProps = {
@@ -180,7 +208,10 @@ export const DebounceProps = {
180
208
  /**
181
209
  * Milliseconds to wait before emitting the input event
182
210
  */
183
- debounce: [Number, String],
211
+ debounce: {
212
+ type: [Number, String],
213
+ default: undefined,
214
+ },
184
215
  }
185
216
 
186
217
  export const IconProps = {
@@ -188,7 +219,10 @@ export const IconProps = {
188
219
  * VvIcon name or props
189
220
  * @see VVIcon
190
221
  */
191
- icon: { type: [String, Object] },
222
+ icon: {
223
+ type: [String, Object] as PropType<string | VvIconProps>,
224
+ default: undefined,
225
+ },
192
226
  /**
193
227
  * VvIcon position
194
228
  */
@@ -212,7 +246,10 @@ export const FloatingLabelProps = {
212
246
  /**
213
247
  * If true the label will be floating
214
248
  */
215
- floating: Boolean,
249
+ floating: {
250
+ type: Boolean,
251
+ default: false,
252
+ },
216
253
  }
217
254
 
218
255
  export const UnselectableProps = {
@@ -254,6 +291,7 @@ export const DropdownProps = {
254
291
  */
255
292
  transitionName: {
256
293
  type: String,
294
+ default: undefined,
257
295
  },
258
296
  /**
259
297
  * Offset of the dropdown from the trigger
@@ -324,6 +362,7 @@ export const DropdownProps = {
324
362
  */
325
363
  triggerWidth: {
326
364
  type: Boolean,
365
+ default: false,
327
366
  },
328
367
  }
329
368
 
@@ -342,7 +381,10 @@ export const AutofocusProps = {
342
381
  * Global attribute autofocus
343
382
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
344
383
  */
345
- autofocus: Boolean,
384
+ autofocus: {
385
+ type: Boolean,
386
+ default: false,
387
+ },
346
388
  }
347
389
 
348
390
  export const AutocompleteProps = {
@@ -376,28 +418,34 @@ export const InputTextareaProps = {
376
418
  * Available for input types: text, search, url, tel, email, password
377
419
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
378
420
  */
379
- minlength: [String, Number],
421
+ minlength: { type: [String, Number], default: undefined },
380
422
  /**
381
423
  * Input / Textarea maxlength
382
424
  * Maximum length (number of characters) of value
383
425
  * Available for input types: text, search, url, tel, email, password
384
426
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
385
427
  */
386
- maxlength: [String, Number],
428
+ maxlength: { type: [String, Number], default: undefined },
387
429
  /**
388
430
  * Input / Textarea placeholder
389
431
  * Text that appears in the form control when it has no value set
390
432
  * Available for input types: text, search, url, tel, email, password, number
391
433
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder
392
434
  */
393
- placeholder: String,
435
+ placeholder: {
436
+ type: String,
437
+ default: undefined,
438
+ },
394
439
  /**
395
440
  * Input / Textarea required
396
441
  * A value is required or must be check for the form to be submittable
397
442
  * Available for all input types except color
398
443
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#required
399
444
  */
400
- required: Boolean,
445
+ required: {
446
+ type: Boolean,
447
+ default: false,
448
+ },
401
449
  }
402
450
 
403
451
  export const CheckboxRadioProps = {
@@ -415,11 +463,17 @@ export const CheckboxRadioProps = {
415
463
  * Input value
416
464
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value
417
465
  */
418
- value: [String, Number, Boolean],
466
+ value: {
467
+ type: [String, Number, Boolean],
468
+ default: undefined,
469
+ },
419
470
  /**
420
471
  * Input value
421
472
  */
422
- modelValue: [Object, Number, Boolean, String],
473
+ modelValue: {
474
+ type: [Object, Number, Boolean, String],
475
+ default: undefined,
476
+ },
423
477
  }
424
478
 
425
479
  export const CheckboxRadioGroupProps = {
@@ -435,7 +489,10 @@ export const CheckboxRadioGroupProps = {
435
489
  /**
436
490
  * Input value
437
491
  */
438
- modelValue: [String, Array, Boolean, Number, Symbol],
492
+ modelValue: {
493
+ type: [String, Array, Boolean, Number, Symbol],
494
+ default: undefined,
495
+ },
439
496
  /**
440
497
  * Input name
441
498
  */
@@ -443,7 +500,10 @@ export const CheckboxRadioGroupProps = {
443
500
  /**
444
501
  * If true, the group will be displayed in a vertical column
445
502
  */
446
- vertical: Boolean,
503
+ vertical: {
504
+ type: Boolean,
505
+ default: false,
506
+ },
447
507
  }
448
508
 
449
509
  export const ActionProps = {
@@ -469,6 +529,13 @@ export const ActionProps = {
469
529
  type: String,
470
530
  default: undefined,
471
531
  },
532
+ /**
533
+ * Default tag for the action
534
+ */
535
+ defaultTag: {
536
+ type: String,
537
+ default: ActionTag.button,
538
+ },
472
539
  }
473
540
 
474
541
  export const NavProps = {
@@ -477,3 +544,13 @@ export const NavProps = {
477
544
  default: () => [],
478
545
  },
479
546
  }
547
+
548
+ export const StorageProps = {
549
+ storageType: {
550
+ type: String as PropType<`${StorageType}`>,
551
+ default: StorageType.local,
552
+ validator: (value: StorageType) =>
553
+ Object.values(StorageType).includes(value),
554
+ },
555
+ storageKey: String,
556
+ }
@@ -2,17 +2,7 @@ import type {
2
2
  ComponentResolver,
3
3
  SideEffectsInfo,
4
4
  } from 'unplugin-vue-components/types'
5
-
6
- function kebabCase(str: string, options?: { condense: boolean }) {
7
- if (typeof str !== 'string') throw new TypeError('expected a string')
8
- return str
9
- .trim()
10
- .replace(/([a-z])([A-Z])/g, '$1-$2')
11
- .replace(/\W/g, (m) => (/[À-ž]/.test(m) ? m : '-'))
12
- .replace(/^-+|-+$/g, '')
13
- .replace(/-{2,}/g, (m) => (options?.condense ? '-' : m))
14
- .toLowerCase()
15
- }
5
+ import { kebabCase } from 'change-case'
16
6
 
17
7
  type ImportStyle = boolean | 'css' | 'scss'
18
8
 
@@ -38,11 +28,16 @@ export interface VolverResolverOptions {
38
28
  * @default undefined
39
29
  */
40
30
  ignore?: string[]
31
+ /**
32
+ * cherry pick components from named exports
33
+ * @default undefined
34
+ */
35
+ cherryPick?: boolean
41
36
  }
42
37
 
43
38
  const STYLE_EXCLUDE = ['vv-icon', 'vv-action']
44
39
  const VOLVER_PREFIX = 'vv'
45
- const DIRECTIVES = ['v-tooltip']
40
+ const DIRECTIVES = ['v-tooltip', 'v-contextmenu']
46
41
 
47
42
  export const getStyleNames = function (kebabName: string) {
48
43
  if (STYLE_EXCLUDE.includes(kebabName)) {
@@ -113,6 +108,7 @@ export function VolverResolver({
113
108
  importStyle,
114
109
  directives,
115
110
  ignore,
111
+ cherryPick,
116
112
  }: VolverResolverOptions = {}): ComponentResolver[] {
117
113
  return [
118
114
  {
@@ -134,9 +130,16 @@ export function VolverResolver({
134
130
  }
135
131
 
136
132
  // import component
133
+ if (cherryPick) {
134
+ return {
135
+ from: `@volverjs/ui-vue/${kebabName}`,
136
+ sideEffects: getSideEffects(kebabName, importStyle),
137
+ }
138
+ }
137
139
  return {
138
- from: `@volverjs/ui-vue/${kebabName}`,
140
+ from: '@volverjs/ui-vue/components',
139
141
  sideEffects: getSideEffects(kebabName, importStyle),
142
+ name,
140
143
  }
141
144
  },
142
145
  },
@@ -159,9 +162,16 @@ export function VolverResolver({
159
162
  }
160
163
 
161
164
  // import directive
165
+ if (cherryPick) {
166
+ return {
167
+ from: `@volverjs/ui-vue/${kebabName}`,
168
+ sideEffects: getSideEffects(kebabName, importStyle),
169
+ }
170
+ }
162
171
  return {
163
- from: `@volverjs/ui-vue/${kebabName}`,
172
+ from: '@volverjs/ui-vue/directives',
164
173
  sideEffects: getSideEffects(kebabName, importStyle),
174
+ name: `v${name}`,
165
175
  }
166
176
  },
167
177
  },
@@ -1,7 +1,7 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
3
  import { sleep } from '@/test/sleep'
4
- import { within } from '@storybook/testing-library'
4
+ import { within } from '@storybook/test'
5
5
 
6
6
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
7
7
  const element = (await within(canvasElement).findByTestId(
@@ -65,12 +65,12 @@ export const argTypes = {
65
65
  },
66
66
  modifiers: {
67
67
  ...ModifiersArgTypes.modifiers,
68
- options: ['compact', 'bordered'],
68
+ options: ['condensed'],
69
69
  },
70
70
  itemModifiers: {
71
71
  description: 'Accordion items BEM modifiers',
72
72
  control: 'check',
73
- options: ['marker-right', 'bordered'],
73
+ options: ['marker-right', 'bordered', 'square'],
74
74
  },
75
75
  ...DisabledArgTypes,
76
76
  ...DefaultSlotArgTypes,
@@ -1,7 +1,7 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
3
  import { sleep } from '@/test/sleep'
4
- import { within } from '@storybook/testing-library'
4
+ import { within } from '@storybook/test'
5
5
 
6
6
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
7
7
  const element = (await within(canvasElement).findByTestId(
@@ -29,26 +29,32 @@ export async function defaultTest({ canvasElement, args }: PlayAttributes) {
29
29
 
30
30
  // open
31
31
  if (!args.disabled && args.items && args.items.length > 0) {
32
- expect(firstChild.open).toBe(args.not ? true : false)
32
+ expect(firstChild.open).toBe(args.not ?? false)
33
33
  expect(firstChildSummary).toBeClicked()
34
34
  await sleep()
35
- expect(firstChild.open).toBe(args.not ? false : true)
35
+ expect(firstChild.open).toBe(!args.not)
36
36
  if (firstChild.open) {
37
- if (args.collapse) {
37
+ if (args.not) {
38
+ expect(JSON.stringify(JSON.parse(value.innerText))).toBe(
39
+ JSON.stringify(
40
+ [
41
+ ...args.items.map(
42
+ (item: { name: string }) => item.name,
43
+ ),
44
+ ].splice(1),
45
+ ),
46
+ )
47
+ } else if (args.collapse) {
38
48
  expect(JSON.stringify(JSON.parse(value.innerText))).toBe(
39
49
  JSON.stringify([args.items[0].name]),
40
50
  )
41
51
  } else {
42
52
  expect(value.innerText).toBe(args.items[0].name)
43
53
  }
54
+ expect(firstChildSummary.getAttribute('aria-expanded')).toBe('true')
55
+ const content = firstChild.lastChild as HTMLElement
56
+ expect(content.getAttribute('aria-hidden')).toBe('false')
44
57
  }
45
- expect(firstChildSummary.getAttribute('aria-expanded')).toBe(
46
- args.not ? 'false' : 'true',
47
- )
48
- const content = firstChild.lastChild as HTMLElement
49
- expect(content.getAttribute('aria-hidden')).toBe(
50
- args.not ? 'true' : 'false',
51
- )
52
58
  }
53
59
 
54
60
  // accessibility
@@ -46,7 +46,7 @@ export const Default: Story = {
46
46
  <vv-accordion name="a-3" title="Details 3" :content="content" />
47
47
  </vv-accordion-group>
48
48
  <div class="mt-24" >
49
- Opened: <span data-testId="value">{{ selected }}</span>
49
+ {{ args.not ? 'Closed' : 'Opened'}}: <span data-testId="value">{{ selected }}</span>
50
50
  </div>
51
51
  `,
52
52
  }),
@@ -1,6 +1,6 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
- import { within } from '@storybook/testing-library'
3
+ import { within } from '@storybook/test'
4
4
 
5
5
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
6
6
  const element = (await within(canvasElement).findByTestId(
@@ -1,6 +1,6 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
- import { within } from '@storybook/testing-library'
3
+ import { within } from '@storybook/test'
4
4
 
5
5
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
6
6
  const element = (await within(canvasElement).findByTestId(
@@ -6,7 +6,7 @@ import { Default as DefaultStory, type Story } from './AlertGroup.stories'
6
6
  import { useAlert } from '@/composables/alert/useAlert'
7
7
 
8
8
  const meta: Meta<typeof VvAlertGroup> = {
9
- title: 'Components/AlertGroup/UseComposable',
9
+ title: 'Composables/useAlert',
10
10
  component: VvAlertGroup,
11
11
  args: defaultArgs,
12
12
  argTypes,
@@ -15,7 +15,7 @@ const meta: Meta<typeof VvAlertGroup> = {
15
15
 
16
16
  export default meta
17
17
 
18
- export const UseComposable: Story = {
18
+ export const Default: Story = {
19
19
  ...DefaultStory,
20
20
  parameters: {
21
21
  docs: {
@@ -1,6 +1,6 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
- import { within } from '@storybook/testing-library'
3
+ import { within } from '@storybook/test'
4
4
 
5
5
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
6
6
  const element = (await within(canvasElement).findByTestId(
@@ -1,6 +1,6 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
- import { within } from '@storybook/testing-library'
3
+ import { within } from '@storybook/test'
4
4
 
5
5
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
6
6
  const element = (await within(canvasElement).findByTestId(
@@ -1,5 +1,5 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
- import { within } from '@storybook/testing-library'
2
+ import { within } from '@storybook/test'
3
3
  import { expect } from '@/test/expect'
4
4
 
5
5
  export const defaultTest = async ({ canvasElement, args }: PlayAttributes) => {