@volverjs/ui-vue 0.0.10-beta.4 → 0.0.10-beta.41

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 (481) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +146 -49
  3. package/auto-imports.d.ts +7 -2
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +27 -20
  6. package/dist/Volver.d.ts +11 -11
  7. package/dist/components/VvAccordion/VvAccordion.es.js +190 -101
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +30 -8
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +450 -170
  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 +84 -33
  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 +228 -193
  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 +549 -485
  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 +7 -15
  27. package/dist/components/VvAvatar/VvAvatar.es.js +65 -22
  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 +128 -49
  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 +77 -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 +307 -262
  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 +95 -40
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +31 -11
  50. package/dist/components/VvButtonGroup/index.d.ts +11 -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 +315 -251
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +106 -34
  58. package/dist/components/VvCheckbox/index.d.ts +47 -14
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +238 -129
  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 +1377 -1059
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +606 -680
  66. package/dist/components/VvCombobox/index.d.ts +488 -26
  67. package/dist/components/VvDialog/VvDialog.es.js +180 -176
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +13 -4
  70. package/dist/components/VvDialog/index.d.ts +5 -0
  71. package/dist/components/VvDropdown/VvDropdown.es.js +165 -94
  72. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  73. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +111 -81
  74. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +66 -25
  75. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  76. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
  77. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
  78. package/dist/components/VvDropdown/index.d.ts +52 -10
  79. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +163 -53
  80. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  81. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
  82. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  84. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  85. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  86. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.es.js +24 -97
  88. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  89. package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
  90. package/dist/components/VvIcon/index.d.ts +33 -48
  91. package/dist/components/VvInputFile/VvInputFile.es.js +1789 -0
  92. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  93. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +391 -0
  94. package/dist/components/VvInputFile/index.d.ts +210 -0
  95. package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
  96. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
  97. package/dist/components/VvInputText/VvInputStepAction.d.ts +2 -2
  98. package/dist/components/VvInputText/VvInputText.es.js +1489 -563
  99. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  100. package/dist/components/VvInputText/VvInputText.vue.d.ts +207 -57
  101. package/dist/components/VvInputText/index.d.ts +105 -30
  102. package/dist/components/VvNav/VvNav.es.js +160 -75
  103. package/dist/components/VvNav/VvNav.umd.js +1 -1
  104. package/dist/components/VvNav/VvNav.vue.d.ts +32 -9
  105. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  106. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  107. package/dist/components/VvNav/index.d.ts +5 -2
  108. package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
  109. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  110. package/dist/components/VvProgress/VvProgress.es.js +73 -27
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +313 -250
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -31
  117. package/dist/components/VvRadio/index.d.ts +50 -17
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +236 -128
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +367 -300
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +232 -203
  125. package/dist/components/VvSelect/index.d.ts +195 -15
  126. package/dist/components/VvTab/VvTab.es.js +222 -97
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +31 -7
  129. package/dist/components/VvTab/index.d.ts +4 -1
  130. package/dist/components/VvTextarea/VvTextarea.es.js +258 -248
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +156 -49
  133. package/dist/components/VvTextarea/index.d.ts +68 -19
  134. package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +13 -6
  137. package/dist/components/VvTooltip/index.d.ts +5 -2
  138. package/dist/components/common/HintSlot.d.ts +4 -5
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +4575 -2534
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlert.d.ts +101 -6
  143. package/dist/composables/alert/useInjectAlert.d.ts +1 -6
  144. package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
  145. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -4
  146. package/dist/composables/group/useInjectedGroupState.d.ts +4 -5
  147. package/dist/composables/group/useProvideGroupState.d.ts +3 -3
  148. package/dist/composables/index.d.ts +1 -0
  149. package/dist/composables/index.es.js +94 -5
  150. package/dist/composables/index.umd.js +1 -1
  151. package/dist/composables/useBlurhash.d.ts +7 -0
  152. package/dist/composables/useComponentFocus.d.ts +1 -1
  153. package/dist/composables/useComponentIcon.d.ts +9 -8
  154. package/dist/composables/useOptions.d.ts +4 -4
  155. package/dist/composables/usePersistence.d.ts +3 -0
  156. package/dist/composables/useUniqueId.d.ts +1 -1
  157. package/dist/composables/useVolver.d.ts +1 -1
  158. package/dist/constants.d.ts +34 -32
  159. package/dist/directives/index.d.ts +3 -5
  160. package/dist/directives/index.es.js +104 -45
  161. package/dist/directives/index.umd.js +1 -1
  162. package/dist/directives/v-contextmenu.es.js +1 -1
  163. package/dist/directives/v-contextmenu.umd.js +1 -1
  164. package/dist/directives/v-tooltip.es.js +101 -39
  165. package/dist/directives/v-tooltip.umd.js +1 -1
  166. package/dist/icons.es.js +267 -267
  167. package/dist/icons.umd.js +1 -1
  168. package/dist/index.d.ts +3 -1
  169. package/dist/index.es.js +92 -18
  170. package/dist/index.umd.js +1 -1
  171. package/dist/props/index.d.ts +272 -81
  172. package/dist/resolvers/unplugin.d.ts +6 -1
  173. package/dist/resolvers/unplugin.es.js +87 -10
  174. package/dist/resolvers/unplugin.umd.js +1 -1
  175. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  176. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  177. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
  178. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1437 -495
  179. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  180. package/dist/stories/Alert/AlertModifiers.stories.d.ts +1 -1
  181. package/dist/stories/Alert/AlertSlots.stories.d.ts +1 -1
  182. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  183. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +1 -1
  184. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +1 -1
  185. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +2 -2
  186. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  187. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  188. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  189. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  190. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  191. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  192. package/dist/stories/Button/Button.settings.d.ts +2 -194
  193. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  194. package/dist/stories/Card/Card.settings.d.ts +2 -63
  195. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  196. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
  199. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
  200. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  201. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  202. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  203. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  204. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  205. package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
  206. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  207. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  208. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  209. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  210. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  211. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  213. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  214. package/dist/stories/Select/Select.settings.d.ts +2 -246
  215. package/dist/stories/Select/Select.stories.d.ts +1 -0
  216. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  217. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  218. package/dist/stories/argTypes.d.ts +27 -866
  219. package/dist/test/expect.d.ts +1 -1
  220. package/dist/test/options.d.ts +1 -1
  221. package/dist/test/sleep.d.ts +1 -1
  222. package/dist/types/alert.d.ts +9 -7
  223. package/dist/types/blurhash.d.ts +12 -0
  224. package/dist/types/generic.d.ts +1 -2
  225. package/dist/types/group.d.ts +37 -15
  226. package/dist/types/index.d.ts +7 -0
  227. package/dist/types/input-file.d.ts +16 -0
  228. package/dist/types/nav.d.ts +2 -2
  229. package/dist/utils/ObjectUtilities.d.ts +7 -8
  230. package/dist/workers/blurhash.d.ts +1 -0
  231. package/package.json +239 -246
  232. package/src/Volver.ts +245 -234
  233. package/src/assets/icons/detailed.json +1 -1
  234. package/src/assets/icons/normal.json +1 -1
  235. package/src/assets/icons/simple.json +1 -1
  236. package/src/components/VvAccordion/VvAccordion.vue +163 -100
  237. package/src/components/VvAccordion/index.ts +64 -79
  238. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +223 -105
  239. package/src/components/VvAccordionGroup/index.ts +42 -42
  240. package/src/components/VvAction/VvAction.vue +144 -130
  241. package/src/components/VvAlert/VvAlert.vue +72 -70
  242. package/src/components/VvAlert/index.ts +149 -147
  243. package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
  244. package/src/components/VvAlertGroup/index.ts +101 -117
  245. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  246. package/src/components/VvAvatar/index.ts +5 -5
  247. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  248. package/src/components/VvAvatarGroup/index.ts +21 -21
  249. package/src/components/VvBadge/VvBadge.vue +15 -14
  250. package/src/components/VvBadge/index.ts +2 -2
  251. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
  252. package/src/components/VvBreadcrumb/index.ts +3 -9
  253. package/src/components/VvButton/VvButton.vue +163 -152
  254. package/src/components/VvButton/index.ts +103 -110
  255. package/src/components/VvButtonGroup/VvButtonGroup.vue +72 -64
  256. package/src/components/VvButtonGroup/index.ts +22 -21
  257. package/src/components/VvCard/VvCard.vue +30 -30
  258. package/src/components/VvCard/index.ts +2 -2
  259. package/src/components/VvCheckbox/VvCheckbox.vue +185 -183
  260. package/src/components/VvCheckbox/index.ts +44 -44
  261. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
  262. package/src/components/VvCombobox/VvCombobox.vue +639 -619
  263. package/src/components/VvCombobox/index.ts +206 -164
  264. package/src/components/VvDialog/VvDialog.vue +141 -129
  265. package/src/components/VvDialog/index.ts +38 -36
  266. package/src/components/VvDropdown/VvDropdown.vue +466 -445
  267. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  268. package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
  269. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  270. package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
  271. package/src/components/VvDropdown/index.ts +61 -27
  272. package/src/components/VvIcon/README.md +1 -1
  273. package/src/components/VvIcon/VvIcon.vue +133 -133
  274. package/src/components/VvIcon/index.ts +84 -97
  275. package/src/components/VvInputFile/VvInputFile.vue +402 -0
  276. package/src/components/VvInputFile/index.ts +141 -0
  277. package/src/components/VvInputText/VvInputClearAction.ts +51 -47
  278. package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
  279. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  280. package/src/components/VvInputText/VvInputText.vue +638 -516
  281. package/src/components/VvInputText/VvInputTextActions.ts +86 -86
  282. package/src/components/VvInputText/index.ts +200 -185
  283. package/src/components/VvNav/VvNav.vue +40 -36
  284. package/src/components/VvNav/VvNavItem.vue +12 -12
  285. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  286. package/src/components/VvNav/index.ts +2 -2
  287. package/src/components/VvProgress/VvProgress.vue +27 -27
  288. package/src/components/VvProgress/index.ts +28 -28
  289. package/src/components/VvRadio/VvRadio.vue +115 -112
  290. package/src/components/VvRadio/index.ts +28 -28
  291. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
  292. package/src/components/VvSelect/VvSelect.vue +262 -241
  293. package/src/components/VvSelect/index.ts +88 -63
  294. package/src/components/VvTab/VvTab.vue +79 -69
  295. package/src/components/VvTab/index.ts +12 -12
  296. package/src/components/VvTextarea/VvTextarea.vue +218 -219
  297. package/src/components/VvTextarea/index.ts +35 -35
  298. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  299. package/src/components/VvTooltip/index.ts +12 -12
  300. package/src/components/common/HintSlot.ts +149 -150
  301. package/src/components/index.ts +10 -0
  302. package/src/composables/alert/useAlert.ts +76 -73
  303. package/src/composables/alert/useInjectAlert.ts +1 -1
  304. package/src/composables/alert/useProvideAlert.ts +10 -10
  305. package/src/composables/dropdown/useInjectDropdown.ts +6 -6
  306. package/src/composables/dropdown/useProvideDropdown.ts +63 -63
  307. package/src/composables/group/useInjectedGroupState.ts +46 -42
  308. package/src/composables/group/useProvideGroupState.ts +9 -15
  309. package/src/composables/index.ts +1 -0
  310. package/src/composables/useBlurhash.ts +68 -0
  311. package/src/composables/useComponentFocus.ts +9 -9
  312. package/src/composables/useComponentIcon.ts +36 -35
  313. package/src/composables/useDebouncedInput.ts +25 -25
  314. package/src/composables/useDefaults.ts +77 -76
  315. package/src/composables/useModifiers.ts +29 -29
  316. package/src/composables/useOptions.ts +52 -43
  317. package/src/composables/usePersistence.ts +74 -0
  318. package/src/composables/useTextCount.ts +44 -44
  319. package/src/composables/useUniqueId.ts +3 -2
  320. package/src/composables/useVolver.ts +1 -1
  321. package/src/constants.ts +97 -82
  322. package/src/directives/index.ts +3 -6
  323. package/src/directives/v-contextmenu.ts +34 -34
  324. package/src/directives/v-tooltip.ts +18 -9
  325. package/src/index.ts +6 -4
  326. package/src/props/index.ts +457 -380
  327. package/src/resolvers/unplugin.ts +146 -136
  328. package/src/shims.d.ts +4 -5
  329. package/src/stories/Accordion/Accordion.settings.ts +51 -50
  330. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  331. package/src/stories/Accordion/Accordion.test.ts +56 -54
  332. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  333. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
  334. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
  335. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
  336. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +35 -35
  337. package/src/stories/Alert/Alert.settings.ts +117 -116
  338. package/src/stories/Alert/Alert.stories.ts +30 -30
  339. package/src/stories/Alert/Alert.test.ts +78 -80
  340. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  341. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  342. package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
  343. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  344. package/src/stories/AlertGroup/AlertGroup.test.ts +67 -69
  345. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  346. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  347. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
  348. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  349. package/src/stories/Avatar/Avatar.stories.ts +23 -23
  350. package/src/stories/Avatar/Avatar.test.ts +22 -24
  351. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  352. package/src/stories/Avatar/AvatarModifiers.stories.ts +61 -61
  353. package/src/stories/Avatar/AvatarSlots.stories.ts +18 -18
  354. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
  355. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  356. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
  357. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  358. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  359. package/src/stories/Badge/Badge.settings.ts +21 -20
  360. package/src/stories/Badge/Badge.stories.ts +24 -24
  361. package/src/stories/Badge/Badge.test.ts +8 -8
  362. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  363. package/src/stories/Blurhash/BlurhashComposable.stories.ts +196 -0
  364. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
  365. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
  366. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  367. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +17 -17
  368. package/src/stories/Button/Button.settings.ts +146 -150
  369. package/src/stories/Button/Button.stories.ts +19 -19
  370. package/src/stories/Button/Button.test.ts +41 -42
  371. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  372. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  373. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  374. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  375. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  376. package/src/stories/Button/ButtonState.stories.ts +23 -23
  377. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  378. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
  379. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +20 -20
  380. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
  381. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  382. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +18 -18
  383. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  384. package/src/stories/Card/Card.settings.ts +49 -48
  385. package/src/stories/Card/Card.stories.ts +22 -22
  386. package/src/stories/Card/Card.test.ts +14 -16
  387. package/src/stories/Card/CardSlots.stories.ts +42 -42
  388. package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
  389. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  390. package/src/stories/Checkbox/Checkbox.test.ts +63 -66
  391. package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
  392. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  393. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  394. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  395. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +63 -67
  396. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  397. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  398. package/src/stories/Combobox/Combobox.settings.ts +407 -384
  399. package/src/stories/Combobox/Combobox.stories.ts +116 -107
  400. package/src/stories/Combobox/Combobox.test.ts +91 -91
  401. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
  402. package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
  403. package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
  404. package/src/stories/Combobox/ComboboxSlots.stories.ts +56 -55
  405. package/src/stories/Dialog/Dialog.settings.ts +49 -40
  406. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  407. package/src/stories/Dialog/Dialog.test.ts +49 -54
  408. package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
  409. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  410. package/src/stories/Dropdown/Dropdown.settings.ts +63 -62
  411. package/src/stories/Dropdown/Dropdown.stories.ts +59 -59
  412. package/src/stories/Dropdown/Dropdown.test.ts +9 -13
  413. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +16 -16
  414. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +18 -18
  415. package/src/stories/Dropdown/DropdownSlots.stories.ts +50 -50
  416. package/src/stories/Icon/Icon.settings.ts +66 -65
  417. package/src/stories/Icon/Icon.stories.ts +28 -29
  418. package/src/stories/Icon/IconsCollection.stories.ts +22 -22
  419. package/src/stories/InputFile/InputFile.settings.ts +37 -0
  420. package/src/stories/InputFile/InputFile.stories.ts +89 -0
  421. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  422. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  423. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  424. package/src/stories/InputText/InputText.settings.ts +246 -244
  425. package/src/stories/InputText/InputText.stories.ts +67 -67
  426. package/src/stories/InputText/InputText.test.ts +118 -121
  427. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  428. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  429. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  430. package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
  431. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  432. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  433. package/src/stories/Nav/Nav.settings.ts +27 -27
  434. package/src/stories/Nav/Nav.stories.ts +18 -18
  435. package/src/stories/Nav/Nav.test.ts +10 -12
  436. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  437. package/src/stories/Progress/Progress.settings.ts +24 -23
  438. package/src/stories/Progress/Progress.stories.ts +23 -23
  439. package/src/stories/Progress/Progress.test.ts +4 -4
  440. package/src/stories/Radio/Radio.settings.ts +9 -9
  441. package/src/stories/Radio/Radio.stories.ts +47 -47
  442. package/src/stories/Radio/Radio.test.ts +54 -57
  443. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  444. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  445. package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
  446. package/src/stories/RadioGroup/RadioGroup.test.ts +63 -67
  447. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
  448. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  449. package/src/stories/Select/Select.settings.ts +71 -70
  450. package/src/stories/Select/Select.stories.ts +75 -66
  451. package/src/stories/Select/Select.test.ts +67 -70
  452. package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
  453. package/src/stories/Select/SelectOptions.stories.ts +55 -55
  454. package/src/stories/Select/SelectSlots.stories.ts +21 -20
  455. package/src/stories/Tab/Tab.settings.ts +34 -34
  456. package/src/stories/Tab/Tab.stories.ts +17 -17
  457. package/src/stories/Tab/Tab.test.ts +17 -19
  458. package/src/stories/Textarea/Textarea.settings.ts +79 -77
  459. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  460. package/src/stories/Textarea/Textarea.test.ts +70 -73
  461. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  462. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  463. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  464. package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
  465. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  466. package/src/stories/Tooltip/Tooltip.test.ts +53 -54
  467. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  468. package/src/stories/argTypes.ts +506 -505
  469. package/src/test/expect.ts +72 -77
  470. package/src/test/options.ts +17 -16
  471. package/src/test/sleep.ts +3 -2
  472. package/src/test/types.d.ts +11 -11
  473. package/src/types/alert.ts +21 -17
  474. package/src/types/blurhash.ts +21 -0
  475. package/src/types/generic.ts +2 -3
  476. package/src/types/group.ts +34 -26
  477. package/src/types/index.ts +7 -0
  478. package/src/types/input-file.ts +18 -0
  479. package/src/types/nav.ts +13 -14
  480. package/src/utils/ObjectUtilities.ts +192 -188
  481. package/src/workers/blurhash.ts +9 -0
@@ -2,478 +2,555 @@ import type { PropType } from 'vue'
2
2
  import type { Option } from '@/types/generic'
3
3
  import type { NavItem } from '@/types/nav'
4
4
  import type {
5
- AutoPlacementOptions,
6
- FlipOptions,
7
- OffsetOptions,
8
- ShiftOptions,
9
- SizeOptions,
5
+ AutoPlacementOptions,
6
+ FlipOptions,
7
+ OffsetOptions,
8
+ ShiftOptions,
9
+ SizeOptions,
10
10
  } from '@/types/floating-ui'
11
11
  import {
12
- Placement,
13
- Strategy,
14
- Position,
15
- Side,
16
- AnchorTarget,
17
- ButtonType,
12
+ Placement,
13
+ Strategy,
14
+ Position,
15
+ Side,
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
- /**
22
- * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
23
- * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
24
- */
25
- to: {
26
- type: [String, Object],
27
- },
28
- /**
29
- * Anchor href
30
- */
31
- href: String,
32
- /**
33
- * Anchor target
34
- */
35
- target: {
36
- type: String as PropType<`${AnchorTarget}`>,
37
- validator: (value: AnchorTarget) =>
38
- Object.values(AnchorTarget).includes(value),
39
- },
40
- /**
41
- * Anchor rel
42
- */
43
- rel: {
44
- type: String,
45
- default: 'noopener noreferrer',
46
- },
23
+ /**
24
+ * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
25
+ * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
26
+ */
27
+ to: {
28
+ type: [String, Object],
29
+ },
30
+ /**
31
+ * Anchor href
32
+ */
33
+ href: String,
34
+ /**
35
+ * Anchor target
36
+ */
37
+ target: String,
38
+ /**
39
+ * Anchor rel
40
+ */
41
+ rel: {
42
+ type: String,
43
+ default: 'noopener noreferrer',
44
+ },
47
45
  }
48
46
 
49
47
  export const ValidProps = {
50
- /**
51
- * Valid status
52
- */
53
- valid: Boolean,
54
- /**
55
- * Valid label
56
- */
57
- validLabel: [String, Array],
48
+ /**
49
+ * Valid status
50
+ */
51
+ valid: { type: Boolean, default: false },
52
+ /**
53
+ * Valid label
54
+ */
55
+ validLabel: { type: [String, Array], default: undefined },
58
56
  }
59
57
 
60
58
  export const InvalidProps = {
61
- /**
62
- * Invalid status
63
- */
64
- invalid: Boolean,
65
- /**
66
- * Invalid label
67
- */
68
- invalidLabel: [String, Array],
59
+ /**
60
+ * Invalid status
61
+ */
62
+ invalid: {
63
+ type: Boolean,
64
+ default: false,
65
+ },
66
+ /**
67
+ * Invalid label
68
+ */
69
+ invalidLabel: { type: [String, Array], default: undefined },
69
70
  }
70
71
 
71
72
  export const LoadingProps = {
72
- /**
73
- * Loading status
74
- */
75
- loading: Boolean,
76
- /**
77
- * Loading label
78
- */
79
- loadingLabel: {
80
- type: String,
81
- default: 'Loading...',
82
- },
73
+ /**
74
+ * Loading status
75
+ */
76
+ loading: {
77
+ type: Boolean,
78
+ default: false,
79
+ },
80
+ /**
81
+ * Loading label
82
+ */
83
+ loadingLabel: {
84
+ type: String,
85
+ default: 'Loading...',
86
+ },
83
87
  }
84
88
 
85
89
  export const DisabledProps = {
86
- /**
87
- * Whether the form control is disabled
88
- */
89
- disabled: Boolean,
90
+ /**
91
+ * Whether the form control is disabled
92
+ */
93
+ disabled: {
94
+ type: Boolean,
95
+ default: false,
96
+ },
90
97
  }
91
98
 
92
99
  export const SelectedProps = {
93
- /**
94
- * Whether the item is selected
95
- */
96
- selected: Boolean,
100
+ /**
101
+ * Whether the item is selected
102
+ */
103
+ selected: {
104
+ type: Boolean,
105
+ default: false,
106
+ },
97
107
  }
98
108
 
99
109
  export const ActiveProps = {
100
- /**
101
- * Whether the item is active
102
- */
103
- active: Boolean,
110
+ /**
111
+ * Whether the item is active
112
+ */
113
+ active: {
114
+ type: Boolean,
115
+ default: false,
116
+ },
104
117
  }
105
118
 
106
119
  export const CurrentProps = {
107
- /**
108
- * Whether the item is current
109
- */
110
- current: Boolean,
120
+ /**
121
+ * Whether the item is current
122
+ */
123
+ current: {
124
+ type: Boolean,
125
+ default: false,
126
+ },
111
127
  }
112
128
 
113
129
  export const PressedProps = {
114
- /**
115
- * Whether the item is pressed
116
- */
117
- pressed: Boolean,
130
+ /**
131
+ * Whether the item is pressed
132
+ */
133
+ pressed: {
134
+ type: Boolean,
135
+ default: false,
136
+ },
118
137
  }
119
138
 
120
139
  export const LabelProps = {
121
- /**
122
- * The item label
123
- */
124
- label: [String, Number],
140
+ /**
141
+ * The item label
142
+ */
143
+ label: {
144
+ type: [String, Number],
145
+ default: undefined,
146
+ },
125
147
  }
126
148
 
127
149
  export const ReadonlyProps = {
128
- /**
129
- * The value is not editable
130
- */
131
- readonly: Boolean,
150
+ /**
151
+ * The value is not editable
152
+ */
153
+ readonly: {
154
+ type: Boolean,
155
+ default: false,
156
+ },
132
157
  }
133
158
 
134
159
  export const ModifiersProps = {
135
- /**
136
- * Component BEM modifiers
137
- */
138
- modifiers: [String, Array] as PropType<string | string[]>,
160
+ /**
161
+ * Component BEM modifiers
162
+ */
163
+ modifiers: {
164
+ type: [String, Array] as PropType<string | string[]>,
165
+ default: undefined,
166
+ },
139
167
  }
140
168
 
141
169
  export const HintProps = {
142
- hintLabel: { type: String, default: '' },
170
+ hintLabel: { type: String, default: '' },
143
171
  }
144
172
 
145
173
  export const OptionsProps = {
146
- /**
147
- * List of options, can be string[] or object[]
148
- */
149
- options: {
150
- type: Array as PropType<(Option | string)[]>,
151
- default: () => [],
152
- },
153
- /**
154
- * Used when options are objects: key to use for option label
155
- */
156
- labelKey: { type: [String, Function], default: 'label' },
157
- /**
158
- * Used when options are objects: key to use for option label
159
- */
160
- valueKey: { type: [String, Function], default: 'value' },
161
- /**
162
- * Used when options are objects: key to use for option disabled
163
- */
164
- disabledKey: { type: [String, Function], default: 'disabled' },
174
+ /**
175
+ * List of options, can be string[] or object[]
176
+ */
177
+ options: {
178
+ type: Array as PropType<(Option | string)[]>,
179
+ default: () => [],
180
+ },
181
+ /**
182
+ * Used when options are objects: key to use for option label
183
+ */
184
+ labelKey: { type: [String, Function], default: 'label' },
185
+ /**
186
+ * Used when options are objects: key to use for option label
187
+ */
188
+ valueKey: { type: [String, Function], default: 'value' },
189
+ /**
190
+ * Used when options are objects: key to use for option disabled
191
+ */
192
+ disabledKey: { type: [String, Function], default: 'disabled' },
165
193
  }
166
194
 
167
195
  export const CountProps = {
168
- /**
169
- * Show character limit
170
- */
171
- count: {
172
- type: [Boolean, String],
173
- default: false,
174
- validator: (value: string) =>
175
- [true, false, 'limit', 'countdown'].includes(value),
176
- },
196
+ /**
197
+ * Show character limit
198
+ */
199
+ count: {
200
+ type: [Boolean, String],
201
+ default: false,
202
+ validator: (value: string) =>
203
+ [true, false, 'limit', 'countdown'].includes(value),
204
+ },
177
205
  }
178
206
 
179
207
  export const DebounceProps = {
180
- /**
181
- * Milliseconds to wait before emitting the input event
182
- */
183
- debounce: [Number, String],
208
+ /**
209
+ * Milliseconds to wait before emitting the input event
210
+ */
211
+ debounce: {
212
+ type: [Number, String],
213
+ default: undefined,
214
+ },
184
215
  }
185
216
 
186
217
  export const IconProps = {
187
- /**
188
- * VvIcon name or props
189
- * @see VVIcon
190
- */
191
- icon: { type: [String, Object] },
192
- /**
193
- * VvIcon position
194
- */
195
- iconPosition: {
196
- type: String as PropType<`${Position}`>,
197
- default: Position.before,
198
- validation: (value: Position) =>
199
- Object.values(Position).includes(value),
200
- },
218
+ /**
219
+ * VvIcon name or props
220
+ * @see VVIcon
221
+ */
222
+ icon: {
223
+ type: [String, Object] as PropType<string | VvIconProps>,
224
+ default: undefined,
225
+ },
226
+ /**
227
+ * VvIcon position
228
+ */
229
+ iconPosition: {
230
+ type: String as PropType<`${Position}`>,
231
+ default: Position.before,
232
+ validation: (value: Position) =>
233
+ Object.values(Position).includes(value),
234
+ },
201
235
  }
202
236
 
203
237
  export const TabindexProps = {
204
- /**
205
- * Global attribute tabindex
206
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
207
- */
208
- tabindex: { type: [String, Number], default: 0 },
238
+ /**
239
+ * Global attribute tabindex
240
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
241
+ */
242
+ tabindex: { type: [String, Number], default: 0 },
209
243
  }
210
244
 
211
245
  export const FloatingLabelProps = {
212
- /**
213
- * If true the label will be floating
214
- */
215
- floating: Boolean,
246
+ /**
247
+ * If true the label will be floating
248
+ */
249
+ floating: {
250
+ type: Boolean,
251
+ default: false,
252
+ },
216
253
  }
217
254
 
218
255
  export const UnselectableProps = {
219
- /**
220
- * If true the input will be unselectable
221
- */
222
- unselectable: { type: Boolean, default: true },
256
+ /**
257
+ * If true the input will be unselectable
258
+ */
259
+ unselectable: { type: Boolean, default: true },
223
260
  }
224
261
 
225
262
  export const IdProps = {
226
- /**
227
- * Global attribute id
228
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
229
- */
230
- id: [String, Number],
263
+ /**
264
+ * Global attribute id
265
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
266
+ */
267
+ id: [String, Number],
231
268
  }
232
269
 
233
270
  export const DropdownProps = {
234
- /**
235
- * Dropdown placement
236
- */
237
- placement: {
238
- type: String as PropType<`${Side}` | `${Placement}`>,
239
- default: Side.bottom,
240
- validator: (value: Side & Placement) =>
241
- Object.values(Side).includes(value) ||
242
- Object.values(Placement).includes(value),
243
- },
244
- /**
245
- * Dropdown strategy
246
- */
247
- strategy: {
248
- type: String as PropType<`${Strategy}`>,
249
- default: undefined,
250
- validator: (value: Strategy) => Object.values(Strategy).includes(value),
251
- },
252
- /**
253
- * Dropdown show / hide transition name
254
- */
255
- transitionName: {
256
- type: String,
257
- },
258
- /**
259
- * Offset of the dropdown from the trigger
260
- * @see https://floating-ui.com/docs/offset
261
- */
262
- offset: {
263
- type: [Number, String, Object] as PropType<
271
+ /**
272
+ * Dropdown placement
273
+ */
274
+ placement: {
275
+ type: String as PropType<`${Side}` | `${Placement}`>,
276
+ default: Side.bottom,
277
+ validator: (value: Side & Placement) =>
278
+ Object.values(Side).includes(value)
279
+ || Object.values(Placement).includes(value),
280
+ },
281
+ /**
282
+ * Dropdown strategy
283
+ */
284
+ strategy: {
285
+ type: String as PropType<`${Strategy}`>,
286
+ default: undefined,
287
+ validator: (value: Strategy) => Object.values(Strategy).includes(value),
288
+ },
289
+ /**
290
+ * Dropdown show / hide transition name
291
+ */
292
+ transitionName: {
293
+ type: String,
294
+ default: undefined,
295
+ },
296
+ /**
297
+ * Offset of the dropdown from the trigger
298
+ * @see https://floating-ui.com/docs/offset
299
+ */
300
+ offset: {
301
+ type: [Number, String, Object] as PropType<
264
302
  OffsetOptions | number | string
265
303
  >,
266
- default: 0,
267
- },
268
- /**
269
- * Move dropdown to the side if there is no space in the default position
270
- * @see https://floating-ui.com/docs/shift
271
- */
272
- shift: {
273
- type: [Boolean, Object] as PropType<ShiftOptions | boolean>,
274
- default: false,
275
- },
276
- /**
277
- * Flip dropdown position if there is no space in the default position
278
- * @see https://floating-ui.com/docs/flip
279
- */
280
- flip: {
281
- type: [Boolean, Object] as PropType<FlipOptions | boolean>,
282
- default: true,
283
- },
284
- /**
285
- * Size of the dropdown
286
- * @see https://floating-ui.com/docs/size
287
- */
288
- size: {
289
- type: [Boolean, Object] as PropType<SizeOptions | boolean>,
290
- default: () => ({ padding: 10 }),
291
- },
292
- /**
293
- * Automatically change the position of the dropdown
294
- * @see https://floating-ui.com/docs/autoPlacement
295
- */
296
- autoPlacement: {
297
- type: [Boolean, Object] as PropType<AutoPlacementOptions | boolean>,
298
- default: false,
299
- },
300
- /**
301
- * Add arrow to the dropdown
302
- * @see https://floating-ui.com/docs/arrow
303
- */
304
- arrow: {
305
- type: Boolean,
306
- default: false,
307
- },
308
- /**
309
- * Keep open dropdown on click outside
310
- */
311
- keepOpen: {
312
- type: Boolean,
313
- default: false,
314
- },
315
- /**
316
- * Autofocus first item on dropdown open
317
- */
318
- autofocusFirst: {
319
- type: Boolean,
320
- default: true,
321
- },
322
- /**
323
- * Set dropdown width to the same as the trigger
324
- */
325
- triggerWidth: {
326
- type: Boolean,
327
- },
304
+ default: 0,
305
+ },
306
+ /**
307
+ * Move dropdown to the side if there is no space in the default position
308
+ * @see https://floating-ui.com/docs/shift
309
+ */
310
+ shift: {
311
+ type: [Boolean, Object] as PropType<ShiftOptions | boolean>,
312
+ default: false,
313
+ },
314
+ /**
315
+ * Flip dropdown position if there is no space in the default position
316
+ * @see https://floating-ui.com/docs/flip
317
+ */
318
+ flip: {
319
+ type: [Boolean, Object] as PropType<FlipOptions | boolean>,
320
+ default: true,
321
+ },
322
+ /**
323
+ * Size of the dropdown
324
+ * @see https://floating-ui.com/docs/size
325
+ */
326
+ size: {
327
+ type: [Boolean, Object] as PropType<SizeOptions | boolean>,
328
+ default: () => ({ padding: 10 }),
329
+ },
330
+ /**
331
+ * Automatically change the position of the dropdown
332
+ * @see https://floating-ui.com/docs/autoPlacement
333
+ */
334
+ autoPlacement: {
335
+ type: [Boolean, Object] as PropType<AutoPlacementOptions | boolean>,
336
+ default: false,
337
+ },
338
+ /**
339
+ * Add arrow to the dropdown
340
+ * @see https://floating-ui.com/docs/arrow
341
+ */
342
+ arrow: {
343
+ type: Boolean,
344
+ default: false,
345
+ },
346
+ /**
347
+ * Keep open dropdown on click outside
348
+ */
349
+ keepOpen: {
350
+ type: Boolean,
351
+ default: false,
352
+ },
353
+ /**
354
+ * Autofocus first item on dropdown open
355
+ */
356
+ autofocusFirst: {
357
+ type: Boolean,
358
+ default: true,
359
+ },
360
+ /**
361
+ * Set dropdown width to the same as the trigger
362
+ */
363
+ triggerWidth: {
364
+ type: Boolean,
365
+ default: false,
366
+ },
328
367
  }
329
368
 
330
369
  export const IdNameProps = {
331
- ...IdProps,
332
- /**
333
- * Input / Textarea name
334
- * Name of the form control. Submitted with the form as part of a name/value pair
335
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name
336
- */
337
- name: { type: String, required: true },
370
+ ...IdProps,
371
+ /**
372
+ * Input / Textarea name
373
+ * Name of the form control. Submitted with the form as part of a name/value pair
374
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name
375
+ */
376
+ name: { type: String, required: true },
338
377
  }
339
378
 
340
379
  export const AutofocusProps = {
341
- /**
342
- * Global attribute autofocus
343
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
344
- */
345
- autofocus: Boolean,
380
+ /**
381
+ * Global attribute autofocus
382
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
383
+ */
384
+ autofocus: {
385
+ type: Boolean,
386
+ default: false,
387
+ },
346
388
  }
347
389
 
348
390
  export const AutocompleteProps = {
349
- /**
350
- * Global attribute autocomplete
351
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
352
- */
353
- autocomplete: { type: String, default: 'off' },
391
+ /**
392
+ * Global attribute autocomplete
393
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
394
+ */
395
+ autocomplete: { type: String, default: 'off' },
354
396
  }
355
397
 
356
398
  export const InputTextareaProps = {
357
- ...IdNameProps,
358
- ...AutofocusProps,
359
- ...AutocompleteProps,
360
- ...TabindexProps,
361
- ...DisabledProps,
362
- ...ReadonlyProps,
363
- ...ValidProps,
364
- ...InvalidProps,
365
- ...HintProps,
366
- ...LoadingProps,
367
- ...ModifiersProps,
368
- ...CountProps,
369
- ...DebounceProps,
370
- ...IconProps,
371
- ...FloatingLabelProps,
372
- ...LabelProps,
373
- /**
374
- * Input / Textarea minlength
375
- * Minimum length (number of characters) of value
376
- * Available for input types: text, search, url, tel, email, password
377
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
378
- */
379
- minlength: [String, Number],
380
- /**
381
- * Input / Textarea maxlength
382
- * Maximum length (number of characters) of value
383
- * Available for input types: text, search, url, tel, email, password
384
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
385
- */
386
- maxlength: [String, Number],
387
- /**
388
- * Input / Textarea placeholder
389
- * Text that appears in the form control when it has no value set
390
- * Available for input types: text, search, url, tel, email, password, number
391
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder
392
- */
393
- placeholder: String,
394
- /**
395
- * Input / Textarea required
396
- * A value is required or must be check for the form to be submittable
397
- * Available for all input types except color
398
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#required
399
- */
400
- required: Boolean,
399
+ ...IdNameProps,
400
+ ...AutofocusProps,
401
+ ...AutocompleteProps,
402
+ ...TabindexProps,
403
+ ...DisabledProps,
404
+ ...ReadonlyProps,
405
+ ...ValidProps,
406
+ ...InvalidProps,
407
+ ...HintProps,
408
+ ...LoadingProps,
409
+ ...ModifiersProps,
410
+ ...CountProps,
411
+ ...DebounceProps,
412
+ ...IconProps,
413
+ ...FloatingLabelProps,
414
+ ...LabelProps,
415
+ /**
416
+ * Input / Textarea minlength
417
+ * Minimum length (number of characters) of value
418
+ * Available for input types: text, search, url, tel, email, password
419
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
420
+ */
421
+ minlength: { type: [String, Number], default: undefined },
422
+ /**
423
+ * Input / Textarea maxlength
424
+ * Maximum length (number of characters) of value
425
+ * Available for input types: text, search, url, tel, email, password
426
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
427
+ */
428
+ maxlength: { type: [String, Number], default: undefined },
429
+ /**
430
+ * Input / Textarea placeholder
431
+ * Text that appears in the form control when it has no value set
432
+ * Available for input types: text, search, url, tel, email, password, number
433
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder
434
+ */
435
+ placeholder: {
436
+ type: String,
437
+ default: undefined,
438
+ },
439
+ /**
440
+ * Input / Textarea required
441
+ * A value is required or must be check for the form to be submittable
442
+ * Available for all input types except color
443
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#required
444
+ */
445
+ required: {
446
+ type: Boolean,
447
+ default: false,
448
+ },
401
449
  }
402
450
 
403
451
  export const CheckboxRadioProps = {
404
- ...IdNameProps,
405
- ...TabindexProps,
406
- ...ValidProps,
407
- ...InvalidProps,
408
- ...HintProps,
409
- ...DisabledProps,
410
- ...ReadonlyProps,
411
- ...ModifiersProps,
412
- ...LabelProps,
413
- ...LoadingProps,
414
- /**
415
- * Input value
416
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value
417
- */
418
- value: [String, Number, Boolean],
419
- /**
420
- * Input value
421
- */
422
- modelValue: [Object, Number, Boolean, String],
452
+ ...IdNameProps,
453
+ ...TabindexProps,
454
+ ...ValidProps,
455
+ ...InvalidProps,
456
+ ...HintProps,
457
+ ...DisabledProps,
458
+ ...ReadonlyProps,
459
+ ...ModifiersProps,
460
+ ...LabelProps,
461
+ ...LoadingProps,
462
+ /**
463
+ * Input value
464
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value
465
+ */
466
+ value: {
467
+ type: [String, Number, Boolean],
468
+ default: undefined,
469
+ },
470
+ /**
471
+ * Input value
472
+ */
473
+ modelValue: {
474
+ type: [Object, Number, Boolean, String],
475
+ default: undefined,
476
+ },
423
477
  }
424
478
 
425
479
  export const CheckboxRadioGroupProps = {
426
- ...ValidProps,
427
- ...InvalidProps,
428
- ...OptionsProps,
429
- ...HintProps,
430
- ...DisabledProps,
431
- ...ReadonlyProps,
432
- ...ModifiersProps,
433
- ...LabelProps,
434
- ...LoadingProps,
435
- /**
436
- * Input value
437
- */
438
- modelValue: [String, Array, Boolean, Number, Symbol],
439
- /**
440
- * Input name
441
- */
442
- name: { type: String, required: true },
443
- /**
444
- * If true, the group will be displayed in a vertical column
445
- */
446
- vertical: Boolean,
480
+ ...ValidProps,
481
+ ...InvalidProps,
482
+ ...OptionsProps,
483
+ ...HintProps,
484
+ ...DisabledProps,
485
+ ...ReadonlyProps,
486
+ ...ModifiersProps,
487
+ ...LabelProps,
488
+ ...LoadingProps,
489
+ /**
490
+ * Input value
491
+ */
492
+ modelValue: {
493
+ type: [String, Array, Boolean, Number, Symbol],
494
+ default: undefined,
495
+ },
496
+ /**
497
+ * Input name
498
+ */
499
+ name: { type: String, required: true },
500
+ /**
501
+ * If true, the group will be displayed in a vertical column
502
+ */
503
+ vertical: {
504
+ type: Boolean,
505
+ default: false,
506
+ },
447
507
  }
448
508
 
449
509
  export const ActionProps = {
450
- ...DisabledProps,
451
- ...LabelProps,
452
- ...PressedProps,
453
- ...ActiveProps,
454
- ...CurrentProps,
455
- ...LinkProps,
456
- /**
457
- * Button type
458
- */
459
- type: {
460
- type: String as PropType<`${ButtonType}`>,
461
- default: ButtonType.button,
462
- validator: (value: ButtonType) =>
463
- Object.values(ButtonType).includes(value),
464
- },
465
- /**
466
- * Button aria-label
467
- */
468
- ariaLabel: {
469
- type: String,
470
- default: undefined,
471
- },
510
+ ...DisabledProps,
511
+ ...LabelProps,
512
+ ...PressedProps,
513
+ ...ActiveProps,
514
+ ...CurrentProps,
515
+ ...LinkProps,
516
+ /**
517
+ * Button type
518
+ */
519
+ type: {
520
+ type: String as PropType<`${ButtonType}`>,
521
+ default: ButtonType.button,
522
+ validator: (value: ButtonType) =>
523
+ Object.values(ButtonType).includes(value),
524
+ },
525
+ /**
526
+ * Button aria-label
527
+ */
528
+ ariaLabel: {
529
+ type: String,
530
+ default: undefined,
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 = {
475
- items: {
476
- type: Array as PropType<NavItem[]>,
477
- default: () => [],
478
- },
542
+ items: {
543
+ type: Array as PropType<NavItem[]>,
544
+ default: () => [],
545
+ },
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,
479
556
  }