@volverjs/ui-vue 0.0.10-beta.5 → 0.0.10-beta.51

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