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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/bin/icons.cjs +73 -0
  2. package/bin/icons.js +75 -0
  3. package/dist/Volver.d.ts +15 -2
  4. package/dist/components/VvAccordion/VvAccordion.es.js +133 -236
  5. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  6. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +32 -97
  7. package/dist/components/VvAccordion/index.d.ts +46 -0
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +199 -277
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +44 -151
  11. package/dist/components/VvAccordionGroup/{VvAccordionGroup.d.ts → index.d.ts} +9 -13
  12. package/dist/components/VvBadge/VvBadge.es.js +57 -13
  13. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  14. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -54
  15. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +1 -1
  16. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +55 -168
  17. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  18. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +25 -105
  19. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +2 -2
  20. package/dist/components/VvButton/VvButton.es.js +304 -333
  21. package/dist/components/VvButton/VvButton.umd.js +1 -1
  22. package/dist/components/VvButton/VvButton.vue.d.ts +92 -199
  23. package/dist/components/VvButton/{VvButton.d.ts → index.d.ts} +44 -38
  24. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +58 -181
  25. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  26. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +26 -181
  27. package/dist/components/VvButtonGroup/{VvButtonGroup.d.ts → index.d.ts} +2 -26
  28. package/dist/components/VvCard/VvCard.es.js +55 -166
  29. package/dist/components/VvCard/VvCard.umd.js +1 -1
  30. package/dist/components/VvCard/VvCard.vue.d.ts +16 -61
  31. package/dist/components/VvCard/{VvCard.d.ts → index.d.ts} +1 -1
  32. package/dist/components/VvCheckbox/VvCheckbox.es.js +344 -0
  33. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -0
  34. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +87 -0
  35. package/dist/components/VvCheckbox/index.d.ts +86 -0
  36. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +415 -0
  37. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -0
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +113 -0
  39. package/dist/components/{VvCheckGroup/VvCheckGroup.d.ts → VvCheckboxGroup/index.d.ts} +10 -10
  40. package/dist/components/VvDialog/VvDialog.es.js +108 -230
  41. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  42. package/dist/components/VvDialog/VvDialog.vue.d.ts +28 -132
  43. package/dist/components/VvDialog/{VvDialog.d.ts → index.d.ts} +2 -6
  44. package/dist/components/VvDropdown/VvDropdown.es.js +167 -186
  45. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  46. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +35 -137
  47. package/dist/components/VvDropdown/{VvDropdown.d.ts → index.d.ts} +8 -4
  48. package/dist/components/VvIcon/VvIcon.es.js +62 -174
  49. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  50. package/dist/components/VvIcon/VvIcon.vue.d.ts +36 -150
  51. package/dist/components/VvIcon/{VvIcon.d.ts → index.d.ts} +9 -0
  52. package/dist/components/VvInputText/VvInputClearAction.d.ts +36 -0
  53. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +56 -0
  54. package/dist/components/VvInputText/VvInputStepAction.d.ts +37 -0
  55. package/dist/components/VvInputText/VvInputText.es.js +586 -577
  56. package/dist/components/VvInputText/VvInputText.umd.js +1 -2
  57. package/dist/components/VvInputText/VvInputText.vue.d.ts +188 -276
  58. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  59. package/dist/components/VvInputText/index.d.ts +175 -0
  60. package/dist/components/VvNativeSelect/VvNativeSelect.es.js +299 -347
  61. package/dist/components/VvNativeSelect/VvNativeSelect.umd.js +1 -2
  62. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +78 -190
  63. package/dist/components/VvNativeSelect/{VvNativeSelect.d.ts → index.d.ts} +35 -8
  64. package/dist/components/VvProgress/VvProgress.es.js +45 -162
  65. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  66. package/dist/components/VvProgress/VvProgress.vue.d.ts +18 -104
  67. package/dist/components/VvProgress/{VvProgress.d.ts → index.d.ts} +2 -8
  68. package/dist/components/VvRadio/VvRadio.es.js +292 -267
  69. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  70. package/dist/components/VvRadio/VvRadio.vue.d.ts +52 -122
  71. package/dist/components/VvRadio/index.d.ts +64 -0
  72. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +342 -380
  73. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -2
  74. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +58 -213
  75. package/dist/components/VvRadioGroup/{VvRadioGroup.d.ts → index.d.ts} +2 -2
  76. package/dist/components/VvSelect/VvSelect.es.js +602 -368
  77. package/dist/components/VvSelect/VvSelect.umd.js +1 -2
  78. package/dist/components/VvSelect/VvSelect.vue.d.ts +78 -236
  79. package/dist/components/VvSelect/{VvSelect.d.ts → index.d.ts} +17 -6
  80. package/dist/components/VvTextarea/VvTextarea.es.js +372 -481
  81. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -2
  82. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +104 -300
  83. package/dist/components/VvTextarea/{VvTextarea.d.ts → index.d.ts} +37 -14
  84. package/dist/components/common/HintSlot.d.ts +10 -4
  85. package/dist/components/index.d.ts +13 -6
  86. package/dist/components/index.es.js +2091 -947
  87. package/dist/components/index.umd.js +1 -2
  88. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +2 -2
  89. package/dist/composables/focus/useComponentFocus.d.ts +3 -3
  90. package/dist/composables/group/types/IAccordionGroupState.d.ts +1 -3
  91. package/dist/composables/group/types/IButtonGroupState.d.ts +4 -0
  92. package/dist/composables/group/types/IGroupState.d.ts +2 -2
  93. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  94. package/dist/composables/group/useProvideGroupState.d.ts +1 -1
  95. package/dist/composables/icons/useComponentIcons.d.ts +2 -2
  96. package/dist/composables/textLimit/useTextLimit.d.ts +0 -3
  97. package/dist/constants.d.ts +4 -4
  98. package/dist/icons.d.ts +1881 -0
  99. package/dist/icons.es.js +4 -6
  100. package/dist/icons.umd.js +1 -1
  101. package/dist/index.es.js +2106 -957
  102. package/dist/index.umd.js +1 -2
  103. package/dist/props/index.d.ts +11 -4
  104. package/dist/resolvers/unplugin.d.ts +27 -0
  105. package/dist/resolvers/unplugin.es.js +40 -0
  106. package/dist/resolvers/unplugin.umd.js +1 -0
  107. package/dist/stories/Accordion/Accordion.test.d.ts +4 -0
  108. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  109. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  110. package/dist/stories/Button/Button.test.d.ts +3 -8
  111. package/dist/stories/Card/Card.test.d.ts +3 -0
  112. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  113. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  114. package/dist/stories/Icon/IconList.vue.d.ts +1 -43
  115. package/dist/stories/InputText/InputText.test.d.ts +6 -0
  116. package/dist/stories/Radio/Radio.test.d.ts +3 -0
  117. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +8 -0
  118. package/dist/stories/Select/Select.test.d.ts +3 -0
  119. package/dist/stories/Textarea/Textarea.test.d.ts +8 -0
  120. package/dist/stories/utils.d.ts +1 -3
  121. package/dist/test/sleep.d.ts +1 -0
  122. package/dist/utils/ObjectUtilities.d.ts +82 -95
  123. package/env.d.ts +1 -0
  124. package/package.json +102 -68
  125. package/src/Volver.ts +32 -3
  126. package/src/assets/icons/detailed.json +1 -1
  127. package/src/assets/icons/normal.json +1 -1
  128. package/src/assets/icons/simple.json +1 -1
  129. package/src/components/VvAccordion/VvAccordion.vue +80 -76
  130. package/src/components/VvAccordion/index.ts +69 -0
  131. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +77 -41
  132. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +8 -12
  133. package/src/components/VvBadge/VvBadge.vue +16 -7
  134. package/src/components/VvBadge/index.ts +6 -0
  135. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +18 -19
  136. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -1
  137. package/src/components/VvButton/VvButton.vue +125 -124
  138. package/src/components/VvButton/index.ts +147 -0
  139. package/src/components/VvButtonGroup/VvButtonGroup.vue +26 -33
  140. package/src/components/VvButtonGroup/{VvButtonGroup.ts → index.ts} +4 -17
  141. package/src/components/VvCard/VvCard.vue +20 -22
  142. package/src/components/VvCard/{VvCard.ts → index.ts} +0 -0
  143. package/src/components/VvCheckbox/VvCheckbox.vue +124 -0
  144. package/src/components/VvCheckbox/index.ts +94 -0
  145. package/src/components/{VvCheckGroup/VvCheckGroup.vue → VvCheckboxGroup/VvCheckboxGroup.vue} +49 -54
  146. package/src/components/{VvCheckGroup/VvCheckGroup.ts → VvCheckboxGroup/index.ts} +9 -9
  147. package/src/components/VvDialog/VvDialog.vue +47 -50
  148. package/src/components/VvDialog/index.ts +10 -0
  149. package/src/components/VvDropdown/VvDropdown.vue +61 -40
  150. package/src/components/VvDropdown/{VvDropdown.ts → index.ts} +8 -4
  151. package/src/components/VvIcon/VvIcon.vue +31 -25
  152. package/src/components/VvIcon/{VvIcon.ts → index.ts} +9 -0
  153. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  154. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  155. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  156. package/src/components/VvInputText/VvInputText.vue +168 -170
  157. package/src/components/VvInputText/VvInputTextActions.ts +54 -108
  158. package/src/components/VvInputText/index.ts +135 -0
  159. package/src/components/VvNativeSelect/VvNativeSelect.vue +130 -68
  160. package/src/components/VvNativeSelect/{VvNativeSelect.ts → index.ts} +26 -7
  161. package/src/components/VvProgress/VvProgress.vue +25 -26
  162. package/src/components/VvProgress/{VvProgress.ts → index.ts} +4 -7
  163. package/src/components/VvRadio/VvRadio.vue +81 -108
  164. package/src/components/VvRadio/index.ts +78 -0
  165. package/src/components/VvRadioGroup/VvRadioGroup.vue +45 -45
  166. package/src/components/VvRadioGroup/{VvRadioGroup.ts → index.ts} +1 -1
  167. package/src/components/VvSelect/VvSelect.vue +91 -64
  168. package/src/components/VvSelect/{VvSelect.ts → index.ts} +16 -5
  169. package/src/components/VvTextarea/VvTextarea.vue +121 -128
  170. package/src/components/VvTextarea/{VvTextarea.ts → index.ts} +31 -11
  171. package/src/components/common/HintSlot.ts +157 -136
  172. package/src/components/index.ts +13 -6
  173. package/src/composables/debouncedInput/useDebouncedInput.ts +21 -15
  174. package/src/composables/focus/useComponentFocus.ts +6 -8
  175. package/src/composables/group/types/IAccordionGroupState.ts +1 -3
  176. package/src/composables/group/types/IButtonGroupState.ts +4 -0
  177. package/src/composables/group/types/IGroupState.ts +2 -2
  178. package/src/composables/group/useInjectedGroupState.ts +20 -30
  179. package/src/composables/group/useProvideGroupState.ts +1 -2
  180. package/src/composables/icons/useComponentIcons.ts +2 -3
  181. package/src/composables/options/useOptions.ts +3 -0
  182. package/src/composables/textLimit/useTextLimit.ts +1 -4
  183. package/src/composables/useModifiers.ts +13 -15
  184. package/src/constants.ts +5 -7
  185. package/src/directives/{.README → .gitkeep} +0 -0
  186. package/src/icons.ts +7 -0
  187. package/src/index.ts +0 -1
  188. package/src/props/index.ts +10 -2
  189. package/src/resolvers/unplugin.ts +103 -0
  190. package/src/shims.d.ts +11 -0
  191. package/src/stories/Accordion/Accordion.stories.mdx +10 -9
  192. package/src/stories/Accordion/Accordion.test.ts +37 -0
  193. package/src/stories/Accordion/AccordionSlots.stories.mdx +40 -25
  194. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +10 -16
  195. package/src/stories/AccordionGroup/{accordionGroupTest.js → AccordionGroup.test.js} +15 -17
  196. package/src/stories/AccordionGroup/AccordionGroupCollapse.stories.mdx +38 -0
  197. package/src/stories/AccordionGroup/{AccordionItems.stories.mdx → AccordionGroupItems.stories.mdx} +7 -13
  198. package/src/stories/Badge/Badge.stories.mdx +8 -8
  199. package/src/stories/Badge/Badge.test.ts +16 -0
  200. package/src/stories/Badge/BadgeColor.stories.mdx +10 -11
  201. package/src/stories/Badge/BadgeDot.stories.mdx +4 -3
  202. package/src/stories/Badge/BadgeModifiers.stories.mdx +66 -0
  203. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +15 -7
  204. package/src/stories/Breadcrumb/Breadcrumb.test.ts +49 -0
  205. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +15 -7
  206. package/src/stories/Button/Button.stories.mdx +16 -17
  207. package/src/stories/Button/Button.test.ts +8 -12
  208. package/src/stories/Button/ButtonActive.stories.mdx +28 -0
  209. package/src/stories/Button/ButtonBadge.stories.mdx +2 -2
  210. package/src/stories/Button/ButtonDisabled.stories.mdx +28 -0
  211. package/src/stories/Button/ButtonIcon.stories.mdx +6 -3
  212. package/src/stories/Button/ButtonIconPosition.stories.mdx +1 -2
  213. package/src/stories/Button/ButtonLink.stories.mdx +1 -19
  214. package/src/stories/Button/ButtonLoading.stories.mdx +4 -4
  215. package/src/stories/Button/ButtonModifiers.stories.mdx +104 -47
  216. package/src/stories/Button/ButtonPressed.stories.mdx +31 -0
  217. package/src/stories/Button/ButtonSlots.stories.mdx +1 -1
  218. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +5 -6
  219. package/src/stories/ButtonGroup/{ButtonGroupTest.js → ButtonGroup.test.js} +6 -28
  220. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +6 -7
  221. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +5 -6
  222. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +4 -5
  223. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +3 -4
  224. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +4 -5
  225. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +11 -12
  226. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +3 -4
  227. package/src/stories/Card/Card.stories.mdx +7 -5
  228. package/src/stories/Card/Card.test.ts +26 -0
  229. package/src/stories/Card/CardSlots.stories.mdx +5 -5
  230. package/src/stories/Card/CardVariant.stories.mdx +5 -4
  231. package/src/stories/Checkbox/Checkbox.stories.mdx +51 -0
  232. package/src/stories/Checkbox/Checkbox.test.js +115 -0
  233. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +76 -0
  234. package/src/stories/{Check/CheckDisabled.stories.mdx → Checkbox/CheckboxDisabled.stories.mdx} +7 -7
  235. package/src/stories/Checkbox/CheckboxError.stories.mdx +43 -0
  236. package/src/stories/Checkbox/CheckboxHintLabel.stories.mdx +35 -0
  237. package/src/stories/{Check/CheckReadonly.stories.mdx → Checkbox/CheckboxReadonly.stories.mdx} +6 -8
  238. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +69 -0
  239. package/src/stories/{Check/CheckSwitch.stories.mdx → Checkbox/CheckboxSwitch.stories.mdx} +8 -8
  240. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +69 -0
  241. package/src/stories/CheckboxGroup/CheckboxGroupDisabled.stories.mdx +26 -0
  242. package/src/stories/CheckboxGroup/CheckboxGroupError.stories.mdx +28 -0
  243. package/src/stories/CheckboxGroup/CheckboxGroupHintLabel.stories.mdx +27 -0
  244. package/src/stories/CheckboxGroup/CheckboxGroupLabel.stories.mdx +26 -0
  245. package/src/stories/{CheckGroup/CheckGroupOptionLabel.stories.mdx → CheckboxGroup/CheckboxGroupOptionLabel.stories.mdx} +14 -11
  246. package/src/stories/{CheckGroup/CheckGroupOptionValue.stories.mdx → CheckboxGroup/CheckboxGroupOptionValue.stories.mdx} +13 -10
  247. package/src/stories/{CheckGroup/CheckGroupOptions.stories.mdx → CheckboxGroup/CheckboxGroupOptions.stories.mdx} +8 -8
  248. package/src/stories/CheckboxGroup/CheckboxGroupReadonly.stories.mdx +26 -0
  249. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +152 -0
  250. package/src/stories/CheckboxGroup/CheckboxGroupValid.stories.mdx +28 -0
  251. package/src/stories/CheckboxGroup/CheckboxGroupVertical.stories.mdx +26 -0
  252. package/src/stories/Dialog/Dialog.stories.mdx +5 -5
  253. package/src/stories/Dialog/Dialog.test.ts +26 -0
  254. package/src/stories/Dialog/DialogAutoClose.stories.mdx +1 -1
  255. package/src/stories/Dialog/DialogSize.stories.mdx +1 -1
  256. package/src/stories/Dropdown/Dropdown.stories.mdx +11 -7
  257. package/src/stories/Dropdown/Dropdown.test.ts +80 -0
  258. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +9 -2
  259. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +2 -2
  260. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +4 -2
  261. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +4 -2
  262. package/src/stories/Dropdown/DropdownOptions.stories.mdx +4 -4
  263. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +4 -2
  264. package/src/stories/Icon/Icon.stories.mdx +8 -8
  265. package/src/stories/Icon/{IconTest.js → Icon.test.js} +2 -5
  266. package/src/stories/Icon/IconList.vue +5 -6
  267. package/src/stories/Icon/IconPrefix.stories.mdx +2 -2
  268. package/src/stories/Icon/IconRemote.stories.mdx +2 -2
  269. package/src/stories/Icon/IconsList.stories.mdx +2 -18
  270. package/src/stories/InputText/InputText.stories.mdx +25 -19
  271. package/src/stories/InputText/InputText.test.ts +156 -0
  272. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +9 -2
  273. package/src/stories/InputText/InputTextAutofocus.stories.mdx +6 -3
  274. package/src/stories/InputText/InputTextDisabled.stories.mdx +10 -2
  275. package/src/stories/InputText/InputTextError.stories.mdx +10 -2
  276. package/src/stories/InputText/InputTextFloating.stories.mdx +10 -3
  277. package/src/stories/InputText/InputTextHintLabel.stories.mdx +10 -2
  278. package/src/stories/InputText/InputTextIcon.stories.mdx +6 -2
  279. package/src/stories/InputText/InputTextIconPosition.stories.mdx +10 -3
  280. package/src/stories/InputText/InputTextLabel.stories.mdx +8 -2
  281. package/src/stories/InputText/InputTextLoading.stories.mdx +10 -2
  282. package/src/stories/InputText/InputTextMax.stories.mdx +10 -3
  283. package/src/stories/InputText/InputTextMaxLength.stories.mdx +22 -5
  284. package/src/stories/InputText/InputTextMin.stories.mdx +10 -3
  285. package/src/stories/InputText/InputTextMinLength.stories.mdx +9 -2
  286. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +8 -2
  287. package/src/stories/InputText/InputTextReadonly.stories.mdx +6 -2
  288. package/src/stories/InputText/InputTextSlots.stories.mdx +4 -5
  289. package/src/stories/InputText/InputTextStep.stories.mdx +9 -3
  290. package/src/stories/InputText/InputTextType.stories.mdx +110 -13
  291. package/src/stories/InputText/InputTextValid.stories.mdx +10 -2
  292. package/src/stories/NativeSelect/NativeSelect.stories.mdx +15 -11
  293. package/src/stories/NativeSelect/NativeSelect.test.js +151 -0
  294. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +6 -7
  295. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +7 -3
  296. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +7 -3
  297. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +14 -12
  298. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +7 -3
  299. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +44 -38
  300. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +19 -11
  301. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +26 -30
  302. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +7 -3
  303. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +30 -30
  304. package/src/stories/Progress/Progress.stories.mdx +8 -11
  305. package/src/stories/Progress/{ProgressTest.js → Progress.test.js} +4 -10
  306. package/src/stories/Progress/ProgressDeterminate.stories.mdx +3 -6
  307. package/src/stories/Radio/Radio.stories.mdx +11 -17
  308. package/src/stories/Radio/Radio.test.ts +52 -0
  309. package/src/stories/Radio/RadioDisabled.stories.mdx +4 -7
  310. package/src/stories/Radio/RadioError.stories.mdx +8 -28
  311. package/src/stories/Radio/RadioHintLabel.stories.mdx +6 -7
  312. package/src/stories/Radio/RadioSlots.stories.mdx +21 -7
  313. package/src/stories/RadioGroup/RadioGroup.stories.mdx +20 -27
  314. package/src/stories/RadioGroup/RadioGroup.test.ts +139 -0
  315. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +6 -8
  316. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +9 -11
  317. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +13 -15
  318. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +12 -9
  319. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +16 -30
  320. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +15 -29
  321. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +9 -25
  322. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +6 -8
  323. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +48 -70
  324. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +9 -11
  325. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +6 -8
  326. package/src/stories/Select/Select.stories.mdx +32 -29
  327. package/src/stories/Select/Select.test.ts +104 -0
  328. package/src/stories/Select/SelectDisabled.stories.mdx +3 -3
  329. package/src/stories/Select/SelectMaxValues.stories.mdx +3 -3
  330. package/src/stories/Select/SelectMultiple.stories.mdx +5 -6
  331. package/src/stories/Select/SelectNative.stories.mdx +43 -0
  332. package/src/stories/Select/SelectOptions.stories.mdx +4 -4
  333. package/src/stories/Select/SelectSearchable.stories.mdx +13 -12
  334. package/src/stories/Select/SelectSeparator.stories.mdx +3 -3
  335. package/src/stories/Select/SelectUseObject.stories.mdx +3 -3
  336. package/src/stories/Textarea/Textarea.stories.mdx +6 -10
  337. package/src/stories/Textarea/Textarea.test.ts +204 -0
  338. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +3 -2
  339. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +3 -2
  340. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +3 -2
  341. package/src/stories/Textarea/TextareaDebounce.stories.mdx +7 -6
  342. package/src/stories/Textarea/TextareaDisabled.stories.mdx +9 -3
  343. package/src/stories/Textarea/TextareaError.stories.mdx +7 -2
  344. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +12 -2
  345. package/src/stories/Textarea/TextareaFloating.stories.mdx +7 -2
  346. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +7 -2
  347. package/src/stories/Textarea/TextareaIcon.stories.mdx +3 -2
  348. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +4 -2
  349. package/src/stories/Textarea/TextareaId.stories.mdx +3 -2
  350. package/src/stories/Textarea/TextareaLabel.stories.mdx +3 -2
  351. package/src/stories/Textarea/TextareaLimit.stories.mdx +5 -2
  352. package/src/stories/Textarea/TextareaLoading.stories.mdx +7 -2
  353. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +9 -3
  354. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +5 -4
  355. package/src/stories/Textarea/TextareaMinLength.stories.mdx +3 -2
  356. package/src/stories/Textarea/TextareaModifiers.stories.mdx +10 -2
  357. package/src/stories/Textarea/TextareaName.stories.mdx +3 -2
  358. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +4 -3
  359. package/src/stories/Textarea/TextareaReadonly.stories.mdx +8 -3
  360. package/src/stories/Textarea/TextareaRequired.stories.mdx +3 -2
  361. package/src/stories/Textarea/TextareaResizable.stories.mdx +7 -2
  362. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +4 -2
  363. package/src/stories/Textarea/TextareaSlots.stories.mdx +7 -8
  364. package/src/stories/Textarea/TextareaValid.stories.mdx +7 -1
  365. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +14 -4
  366. package/src/stories/utils.ts +1 -1
  367. package/src/stories/volver-ui-vue.stories.mdx +1 -1
  368. package/src/test/expect.ts +3 -1
  369. package/src/test/sleep.ts +2 -0
  370. package/src/test/types.d.ts +14 -1
  371. package/src/types/{.README → .gitkeep} +0 -0
  372. package/src/utils/ObjectUtilities.ts +247 -241
  373. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  374. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  375. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -23
  376. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  377. package/dist/components/VvCheck/VvCheck.es.js +0 -318
  378. package/dist/components/VvCheck/VvCheck.umd.js +0 -1
  379. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  380. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  381. package/dist/components/VvCheckGroup/VvCheckGroup.es.js +0 -451
  382. package/dist/components/VvCheckGroup/VvCheckGroup.umd.js +0 -2
  383. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  384. package/dist/components/VvDialog/constants.d.ts +0 -5
  385. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  386. package/dist/components/VvInputText/constants.d.ts +0 -55
  387. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  388. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  389. package/dist/components/VvTextarea/constants.d.ts +0 -19
  390. package/dist/stories/RadioGroup/RadioProperty.test.d.ts +0 -12
  391. package/src/assets/icons/index.js +0 -7
  392. package/src/components/VvAccordion/VvAccordion.ts +0 -34
  393. package/src/components/VvAccordion/useAccordionProps.ts +0 -45
  394. package/src/components/VvBadge/VvBadge.ts +0 -4
  395. package/src/components/VvButton/VvButton.ts +0 -117
  396. package/src/components/VvButton/useButtonGroupProps.ts +0 -51
  397. package/src/components/VvCheck/VvCheck.ts +0 -48
  398. package/src/components/VvCheck/VvCheck.vue +0 -147
  399. package/src/components/VvCheck/useCheckProps.ts +0 -41
  400. package/src/components/VvDialog/VvDialog.ts +0 -17
  401. package/src/components/VvDialog/constants.ts +0 -5
  402. package/src/components/VvInputText/VvInputText.ts +0 -66
  403. package/src/components/VvInputText/constants.ts +0 -34
  404. package/src/components/VvRadio/VvRadio.ts +0 -25
  405. package/src/components/VvRadio/useRadioProps.ts +0 -40
  406. package/src/components/VvTextarea/constants.ts +0 -14
  407. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  408. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  409. package/src/stories/Accordion/accordionTest.js +0 -36
  410. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  411. package/src/stories/Badge/BadgeTest.js +0 -21
  412. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  413. package/src/stories/Button/test.js +0 -41
  414. package/src/stories/Check/Check.stories.mdx +0 -62
  415. package/src/stories/Check/CheckBinary.stories.mdx +0 -75
  416. package/src/stories/Check/CheckError.stories.mdx +0 -64
  417. package/src/stories/Check/CheckErrorTests.js +0 -74
  418. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  419. package/src/stories/Check/CheckPropertyTest.js +0 -102
  420. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  421. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  422. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  423. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  424. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  425. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  426. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  427. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  428. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  429. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  430. package/src/stories/Radio/RadioTest.js +0 -90
  431. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  432. package/src/stories/RadioGroup/RadioProperty.test.ts +0 -87
  433. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  434. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  435. package/src/stories/stories.scss +0 -35
@@ -1 +1 @@
1
- (function(n,B){typeof exports=="object"&&typeof module<"u"?module.exports=B(require("vue"),require("uuid"),require("@iconify/vue")):typeof define=="function"&&define.amd?define(["vue","uuid","@iconify/vue"],B):(n=typeof globalThis<"u"?globalThis:n||self,n.VvButton=B(n.vue,n.uuid,n.vue$1))})(this,function(n,B,_){"use strict";var b=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(b||{}),k=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(k||{}),O=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(O||{});const j={icon:String,iconPosition:{type:String,default:"left",validator:e=>e in b},label:String,loading:Boolean,loadingIcon:{type:String,default:"eos-icons:bubble-loading"},loadingLabel:{type:String,default:"Loading..."},to:{type:[String,Object]},href:String,target:{type:String,validator:e=>e in O},block:Boolean,active:Boolean,rounded:Boolean,disabled:Boolean,fullBleed:Boolean,action:Boolean,actionQuiet:Boolean,selected:Boolean,modifiers:[Array,String]},y={equals(e,t,r){return r?this.resolveFieldData(e,r)===this.resolveFieldData(t,r):this.deepEquals(e,t)},deepEquals(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){const r=Array.isArray(e),i=Array.isArray(t);let o,c,a;if(r&&i){if(c=e.length,c!=t.length)return!1;for(o=c;o--!==0;)if(!this.deepEquals(e[o],t[o]))return!1;return!0}if(r!=i)return!1;const u=e instanceof Date,f=t instanceof Date;if(u!=f)return!1;if(u&&f)return e.getTime()==t.getTime();const p=e instanceof RegExp,l=t instanceof RegExp;if(p!=l)return!1;if(p&&l)return e.toString()==t.toString();const s=Object.keys(e);if(c=s.length,c!==Object.keys(t).length)return!1;for(o=c;o--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[o]))return!1;for(o=c;o--!==0;)if(a=s[o],!this.deepEquals(e[a],t[a]))return!1;return!0}return e!==e&&t!==t},resolveFieldData(e,t){if(e&&Object.keys(e).length&&t){if(t.indexOf(".")===-1)return e[t];{const r=t.split(".");let i=e;for(let o=0,c=r.length;o<c;++o){if(e==null)return null;i=i[r[o]]}return i}}else return null},isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},findIndexInList(e,t){let r=-1;if(t){for(let i=0;i<t.length;i++)if(this.equals(t[i],e)){r=i;break}}return r},contains(e,t){if(e!=null&&t&&t.length){for(const r of t)if(this.equals(e,r))return!0}return!1},isEmpty(e){return e==null||e===""||Array.isArray(e)&&e.length===0||!(e instanceof Date)&&typeof e=="object"&&Object.keys(e).length===0},isNotEmpty(e){return!this.isEmpty(e)},pickBy(e,t){return Object.fromEntries(Object.entries(e).filter(([r])=>t(r)))},removeFromList(e,t){const r=this.findIndexInList(e,t);return r>-1?t.filter((i,o)=>o!==r):t},isString(e){return typeof e=="string"||e instanceof String},propsToObject(e){return Object.keys(e).reduce((t,r)=>{var i,o,c,a,u;return this.isFunction(e[r])?t[r]=e[r]():Array.isArray(e[r])?t[r]=e[r][0]():(i=e[r])!=null&&i.type&&(Array.isArray(e[r].type)?t[r]=((o=e[r])==null?void 0:o.default)||((c=e[r])==null?void 0:c.type[0]()):t[r]=((a=e[r])==null?void 0:a.default)||((u=e[r])==null?void 0:u.type())),t},{})},filterArray(e,t,r){return e.filter(i=>t.some(o=>typeof o=="string"?i[r]==o:this.equals(i[r],o[r])))},kebabCase(e){var t,r;if(e)return(r=(t=e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:t.join("-"))==null?void 0:r.toLowerCase()}},L="ds",V={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}};function E(e,t){const r={[`${e}`]:!0};return{bemCssClasses:n.computed(()=>Object.keys(t).reduce((o,c)=>{const a=n.unref(t[c])||!1;if(!a)return o;if(c==="modifiers"){const u=Array.isArray(a)?a:[a];return{...o,...u.reduce((f,p)=>({...f,[`${e}--${y.kebabCase(p)}`]:!0}),{})}}else return{...o,[`${e}--${y.kebabCase(c)}`]:a}},r)||{})}}const w=n.defineComponent({__name:"VvIcon",props:V,setup(e){const t=e,r=n.ref(!0),{modifiers:i}=n.toRefs(t),o=n.inject(L),{bemCssClasses:c}=E("vv-icon",{modifiers:i}),a=n.computed(()=>t.provider||(o==null?void 0:o.provider)),u=n.computed(()=>{const l=t.name||"",s=`@${a.value}:${t.prefix}:${t.name}`;return _.iconExists(l)?l:_.iconExists(s)?s:(o==null?void 0:o.iconsCollections.find(d=>{const m=`@${a.value}:${d.prefix}:${l}`;if(_.iconExists(m))return m}))||l});function f(l){let s=null;if(typeof window>"u"){const{JSDOM:S}=require("jsdom");s=new S().window}return(s?new s.DOMParser:new window.DOMParser).parseFromString(l,"text/html").querySelector("svg")}function p(l){const s=f(l),d=(s==null?void 0:s.innerHTML.trim())||"";s&&d&&_.addIcon(`@${a.value}:${t.prefix}:${t.name}`,{body:d,height:s.viewBox.baseVal.height,width:s.viewBox.baseVal.width})}return o&&(t.src?(r.value=!1,o.fetchIcon(t.src).then(l=>{l&&(p(l),r.value=!0)}).catch(l=>{throw new Error(`During fetch icon: ${l==null?void 0:l.message}`)})):t.svg&&p(t.svg)),(l,s)=>r.value?(n.openBlock(),n.createBlock(n.unref(_.Icon),n.mergeProps({key:0,class:n.unref(c)},{...l.$props,provider:n.unref(a),icon:n.unref(u)}),null,16,["class"])):n.createCommentVNode("",!0)}});function q(e){const t=n.inject(e,void 0),r=n.computed(()=>y.isNotEmpty(t));function i(o,c,a){if(t!=null&&t.value){const u=n.unref(t.value)[o];return n.computed({get(){return u==null?void 0:u.value},set(f){u.value=f}})}else{const u=n.toRef(c,o);return n.computed({get(){return u.value},set(f){a&&a(`update:${o}`,f)}})}}return{group:t,isInGroup:r,getGroupOrLocalRef:i}}const D=Symbol("VV_BUTTON_GROUP");function I(e){const{group:t,isInGroup:r,getGroupOrLocalRef:i}=q(D),{modifiers:o,fullBleed:c,iconPosition:a,icon:u,label:f,block:p,selected:l}=n.toRefs(e),s=i("modelValue",e),d=i("disabled",e),m=i("toggle",e),h=i("rounded",e),S=i("action",e),C=i("actionQuiet",e);return{modelValue:s,disabled:d,toggle:m,isInGroup:r,group:t,modifiers:o,action:S,actionQuiet:C,selected:l,block:p,rounded:h,fullBleed:c,iconPosition:a,icon:u,label:f}}const R={key:1,class:"vv-button__label"},x={key:1,class:"vv-button__label"};return n.defineComponent({__name:"VvButton",props:j,setup(e){const t=e,r=n.useAttrs(),i=(r==null?void 0:r.name)||B.v4(),{modifiers:o,action:c,actionQuiet:a,block:u,rounded:f,fullBleed:p,iconPosition:l,icon:s,label:d,modelValue:m,disabled:h,toggle:S,isInGroup:C}=I(t),$=n.computed(()=>{switch(!0){case h.value:return k.button;case t.to!==void 0:return k.routerLink;case t.href!==void 0:return k.a;default:return k.button}}),P=n.computed(()=>S.value?Array.isArray(m.value)?y.contains(i,m.value):y.equals(i,m.value):t.active),F=n.computed(()=>S.value?Array.isArray(m.value)?y.contains(i,m.value):y.equals(i,m.value):t.selected),{bemCssClasses:N}=E("vv-button",{modifiers:o,active:P,action:c,actionQuiet:a,selected:F,block:u,rounded:f,fullBleed:p,disabled:h,reverse:n.computed(()=>[b.right,b.bottom].includes(l.value)),column:n.computed(()=>[b.top,b.bottom].includes(l.value)),iconOnly:n.computed(()=>(s==null?void 0:s.value)&&!(d!=null&&d.value))}),G=n.computed(()=>({...M.value,"aria-label":t.label||r["aria-label"],"aria-disabled":h.value,role:"button",class:N.value,to:t.to})),M=n.computed(()=>{const g=$.value===k.a;let A={};return g&&(A=h.value?{href:"javascript:;"}:{target:t.target,href:t.href}),A});function T(){C.value&&(m.value=i)}return(g,A)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref($)),n.mergeProps(n.unref(G),{onClickPassive:T}),{default:n.withCtx(()=>[n.renderSlot(g.$slots,"default",{},()=>[g.loading?n.renderSlot(g.$slots,"loading",{key:0},()=>[g.loadingIcon?(n.openBlock(),n.createBlock(w,{key:0,class:"vv-button__loading-icon",name:g.loadingIcon},null,8,["name"])):n.createCommentVNode("",!0),g.loadingLabel?(n.openBlock(),n.createElementBlock("span",R,n.toDisplayString(g.loadingLabel),1)):n.createCommentVNode("",!0)]):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.renderSlot(g.$slots,"before"),n.unref(s)?(n.openBlock(),n.createBlock(w,{key:0,class:"vv-button__icon",name:n.unref(s)},null,8,["name"])):n.createCommentVNode("",!0),n.unref(d)?(n.openBlock(),n.createElementBlock("span",x,[n.renderSlot(g.$slots,"label",{},()=>[n.createTextVNode(n.toDisplayString(n.unref(d)),1)])])):n.createCommentVNode("",!0),n.renderSlot(g.$slots,"after")],64))])]),_:3},16))}})});
1
+ (function(e,k){typeof exports=="object"&&typeof module<"u"?module.exports=k(require("vue"),require("nanoid"),require("@iconify/vue")):typeof define=="function"&&define.amd?define(["vue","nanoid","@iconify/vue"],k):(e=typeof globalThis<"u"?globalThis:e||self,e.VvButton=k(e.vue,e.nanoid,e.vue$1))})(this,function(e,k,b){"use strict";function $(n,t,o){return o?w(n,o)===w(t,o):_(n,t)}function _(n,t){if(n===t)return!0;if(n&&t&&typeof n=="object"&&typeof t=="object"){const o=Array.isArray(n),f=Array.isArray(t);let r,c,l;if(o&&f){if(c=n.length,c!=t.length)return!1;for(r=c;r--!==0;)if(!_(n[r],t[r]))return!1;return!0}if(o!=f)return!1;const i=n instanceof Date,u=t instanceof Date;if(i!=u)return!1;if(i&&u)return n.getTime()==t.getTime();const d=n instanceof RegExp,s=t instanceof RegExp;if(d!=s)return!1;if(d&&s)return n.toString()==t.toString();const a=Object.keys(n);if(c=a.length,c!==Object.keys(t).length)return!1;for(r=c;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,a[r]))return!1;for(r=c;r--!==0;)if(l=a[r],!_(n[l],t[l]))return!1;return!0}return n!==n&&t!==t}function w(n,t){if(n&&Object.keys(n).length&&t){if(t.indexOf(".")===-1)return n[t];{const o=t.split(".");let f=n;for(let r=0,c=o.length;r<c;++r){if(n==null)return null;f=f[o[r]]}return f}}else return null}function L(n,t){if(n!=null&&t&&t.length){for(const o of t)if($(n,o))return!0}return!1}function x(n){return(t=>t==null||t===""||Array.isArray(t)&&t.length===0||!(t instanceof Date)&&typeof t=="object"&&Object.keys(t).length===0)(e.unref(n))}function B(n){var t,o;if(n)return(o=(t=n.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:t.join("-"))==null?void 0:o.toLowerCase()}const O="ds";function V(n,t){const o={[`${n}`]:!0};return{bemCssClasses:e.computed(()=>Object.keys(t).reduce((r,c)=>{const l=e.unref(t[c])||!1;if(!l)return r;if(c==="modifiers"){const i=Array.isArray(l)?l:l.split(" ");return{...r,...i.reduce((u,d)=>({...u,[`${n}--${B(d)}`]:!0}),{})}}else return{...r,[`${n}--${B(c)}`]:l}},o)||{})}}const E={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}},D={name:"VvIcon"},A=e.defineComponent({...D,props:E,setup(n){const t=n,o=e.ref(!0),{modifiers:f}=e.toRefs(t),r=e.inject(O),{bemCssClasses:c}=V("vv-icon",{modifiers:f}),l=e.computed(()=>t.provider||(r==null?void 0:r.provider)),i=e.computed(()=>{const s=t.name||"",a=`@${l.value}:${t.prefix}:${t.name}`;return b.iconExists(s)?s:b.iconExists(a)?a:(r==null?void 0:r.iconsCollections.find(g=>{const y=`@${l.value}:${g.prefix}:${s}`;if(b.iconExists(y))return y}))||s});function u(s){let a=null;if(typeof window>"u"){const{JSDOM:S}=require("jsdom");a=new S().window}return(a?new a.DOMParser:new window.DOMParser).parseFromString(s,"text/html").querySelector("svg")}function d(s){const a=u(s),g=(a==null?void 0:a.innerHTML.trim())||"";a&&g&&b.addIcon(`@${l.value}:${t.prefix}:${t.name}`,{body:g,height:a.viewBox.baseVal.height,width:a.viewBox.baseVal.width})}return r&&(t.src&&!b.iconExists(`@${l.value}:${t.prefix}:${t.name}`)?(o.value=!1,r.fetchIcon(t.src).then(s=>{s&&(d(s),o.value=!0)}).catch(s=>{throw new Error(`During fetch icon: ${s==null?void 0:s.message}`)})):t.svg&&d(t.svg)),(s,a)=>o.value?(e.openBlock(),e.createBlock(e.unref(b.Icon),e.mergeProps({key:0,class:e.unref(c)},{...s.$props,provider:e.unref(l),icon:e.unref(i)}),null,16,["class"])):e.createCommentVNode("",!0)}}),R={disabled:Boolean},I={modifiers:[String,Array]};function N(n){const t=e.inject(n,void 0),o=e.computed(()=>!x(t));function f(r,c,l){if(t!=null&&t.value){const u=e.unref(t.value)[r];return e.computed({get(){return u==null?void 0:u.value},set(d){u.value=d}})}const i=e.toRef(c,r);return e.computed({get(){return i.value},set(u){l&&l(`update:${r}`,u)}})}return{group:t,isInGroup:o,getGroupOrLocalRef:f}}const G="VV_BUTTON_GROUP";var h=(n=>(n.left="left",n.right="right",n.top="top",n.bottom="bottom",n))(h||{}),P=(n=>(n.button="button",n.submit="submit",n.reset="reset",n))(P||{}),m=(n=>(n.nuxtLink="nuxt-link",n.routerLink="router-link",n.a="a",n.button="button",n))(m||{}),j=(n=>(n._blank="_blank",n._self="_self",n._parent="_parent",n._top="_top",n))(j||{});const q={...I,...R,icon:{type:[String,Object],default:""},iconPosition:{type:String,default:"left",validator:n=>n in h},label:[String,Number],loading:Boolean,loadingIcon:{type:String,default:"eos-icons:bubble-loading"},loadingLabel:{type:String,default:"Loading..."},to:{type:[String,Object]},href:String,target:{type:String,validator:n=>n in j},active:Boolean,pressed:Boolean,rel:{type:String,default:"noopener noreferrer"},type:{type:String,default:"button",validator:n=>n in P}};function v(n){const{group:t,isInGroup:o,getGroupOrLocalRef:f}=N(G),{iconPosition:r,icon:c,label:l,pressed:i}=e.toRefs(n),u=f("modelValue",n),d=f("disabled",n),s=f("toggle",n),a=f("modifiers",n);return{modelValue:u,disabled:d,toggle:s,isInGroup:o,group:t,modifiers:a,pressed:i,iconPosition:r,icon:c,label:l}}const F={key:1,class:"vv-button__label"},M={key:1,class:"vv-button__label"},U={name:"VvButton"};return e.defineComponent({...U,props:q,setup(n){const t=n,o=e.useAttrs(),f=e.useSlots(),r=(o==null?void 0:o.name)||k.nanoid(),{modifiers:c,iconPosition:l,icon:i,label:u,modelValue:d,disabled:s,toggle:a,isInGroup:g}=v(t),y=e.inject(O),C=e.computed(()=>{switch(!0){case s.value:return m.button;case t.to!==void 0:return y!=null&&y.nuxt?m.nuxtLink:m.routerLink;case t.href!==void 0:return m.a;default:return m.button}}),S=e.computed(()=>a.value?Array.isArray(d.value)?L(r,d.value):$(r,d.value):t.pressed),{bemCssClasses:Z}=V("vv-button",{modifiers:c,active:t.active,pressed:S,disabled:s,reverse:e.computed(()=>[h.right,h.bottom].includes(l.value)),column:e.computed(()=>[h.top,h.bottom].includes(l.value)),iconOnly:e.computed(()=>(i==null?void 0:i.value)&&!(u!=null&&u.value)&&!f.default)}),z=e.computed(()=>typeof(i==null?void 0:i.value)=="string"?{name:i==null?void 0:i.value}:i==null?void 0:i.value),T=e.computed(()=>{const p={class:Z.value,"aria-label":o["aria-label"],"aria-pressed":S.value?!0:void 0};switch(C.value){case m.a:return{...p,role:"button",href:t.href,target:t.target,rel:t.rel};case m.routerLink:case m.nuxtLink:return{...p,role:"button",to:t.to,target:t.target};default:return{...p,type:t.type,disabled:s.value}}});function H(){g.value&&(d.value=r)}return(p,X)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(C)),e.mergeProps(e.unref(T),{onClickPassive:H}),{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default",{},()=>[p.loading?e.renderSlot(p.$slots,"loading",{key:0},()=>[p.loadingIcon?(e.openBlock(),e.createBlock(A,{key:0,class:"vv-button__loading-icon",name:p.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),p.loadingLabel?(e.openBlock(),e.createElementBlock("span",F,e.toDisplayString(p.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(p.$slots,"before"),e.unref(i)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(z)),null,16)):e.createCommentVNode("",!0),e.unref(u)?(e.openBlock(),e.createElementBlock("span",M,[e.renderSlot(p.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(u)),1)])])):e.createCommentVNode("",!0),e.renderSlot(p.$slots,"after")],64))])]),_:3},16))}})});
@@ -1,182 +1,19 @@
1
- import { ButtonIconPosition } from './VvButton';
2
- declare const _default: {
3
- new (...args: any[]): {
4
- $: import("vue").ComponentInternalInstance;
5
- $data: {};
6
- $props: Partial<{
7
- disabled: boolean;
8
- iconPosition: ButtonIconPosition;
9
- loading: boolean;
10
- loadingIcon: string;
11
- loadingLabel: string;
12
- block: boolean;
13
- active: boolean;
14
- rounded: boolean;
15
- fullBleed: boolean;
16
- action: boolean;
17
- actionQuiet: boolean;
18
- selected: boolean;
19
- }> & Omit<Readonly<import("vue").ExtractPropTypes<{
20
- icon: StringConstructor;
21
- iconPosition: {
22
- type: import("vue").PropType<ButtonIconPosition>;
23
- default: ButtonIconPosition;
24
- validator: (value: string) => boolean;
25
- };
26
- label: StringConstructor;
27
- loading: BooleanConstructor;
28
- loadingIcon: {
29
- type: StringConstructor;
30
- default: string;
31
- };
32
- loadingLabel: {
33
- type: StringConstructor;
34
- default: string;
35
- };
36
- to: {
37
- type: (StringConstructor | ObjectConstructor)[];
38
- };
39
- href: StringConstructor;
40
- target: {
41
- type: import("vue").PropType<import("./VvButton").ButtonTarget>;
42
- validator: (value: string) => boolean;
43
- };
44
- block: BooleanConstructor;
45
- active: BooleanConstructor;
46
- rounded: BooleanConstructor;
47
- disabled: BooleanConstructor;
48
- fullBleed: BooleanConstructor;
49
- action: BooleanConstructor;
50
- actionQuiet: BooleanConstructor;
51
- selected: BooleanConstructor;
52
- modifiers: (StringConstructor | ArrayConstructor)[];
53
- }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "iconPosition" | "loading" | "loadingIcon" | "loadingLabel" | "block" | "active" | "rounded" | "fullBleed" | "action" | "actionQuiet" | "selected">;
54
- $attrs: {
55
- [x: string]: unknown;
56
- };
57
- $refs: {
58
- [x: string]: unknown;
59
- };
60
- $slots: Readonly<{
61
- [name: string]: import("vue").Slot | undefined;
62
- }>;
63
- $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
64
- $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
65
- $emit: (event: string, ...args: any[]) => void;
66
- $el: any;
67
- $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
68
- icon: StringConstructor;
69
- iconPosition: {
70
- type: import("vue").PropType<ButtonIconPosition>;
71
- default: ButtonIconPosition;
72
- validator: (value: string) => boolean;
73
- };
74
- label: StringConstructor;
75
- loading: BooleanConstructor;
76
- loadingIcon: {
77
- type: StringConstructor;
78
- default: string;
79
- };
80
- loadingLabel: {
81
- type: StringConstructor;
82
- default: string;
83
- };
84
- to: {
85
- type: (StringConstructor | ObjectConstructor)[];
86
- };
87
- href: StringConstructor;
88
- target: {
89
- type: import("vue").PropType<import("./VvButton").ButtonTarget>;
90
- validator: (value: string) => boolean;
91
- };
92
- block: BooleanConstructor;
93
- active: BooleanConstructor;
94
- rounded: BooleanConstructor;
95
- disabled: BooleanConstructor;
96
- fullBleed: BooleanConstructor;
97
- action: BooleanConstructor;
98
- actionQuiet: BooleanConstructor;
99
- selected: BooleanConstructor;
100
- modifiers: (StringConstructor | ArrayConstructor)[];
101
- }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
102
- disabled: boolean;
103
- iconPosition: ButtonIconPosition;
104
- loading: boolean;
105
- loadingIcon: string;
106
- loadingLabel: string;
107
- block: boolean;
108
- active: boolean;
109
- rounded: boolean;
110
- fullBleed: boolean;
111
- action: boolean;
112
- actionQuiet: boolean;
113
- selected: boolean;
114
- }, {}, string> & {
115
- beforeCreate?: ((() => void) | (() => void)[]) | undefined;
116
- created?: ((() => void) | (() => void)[]) | undefined;
117
- beforeMount?: ((() => void) | (() => void)[]) | undefined;
118
- mounted?: ((() => void) | (() => void)[]) | undefined;
119
- beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
120
- updated?: ((() => void) | (() => void)[]) | undefined;
121
- activated?: ((() => void) | (() => void)[]) | undefined;
122
- deactivated?: ((() => void) | (() => void)[]) | undefined;
123
- beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
124
- beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
125
- destroyed?: ((() => void) | (() => void)[]) | undefined;
126
- unmounted?: ((() => void) | (() => void)[]) | undefined;
127
- renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
128
- renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
129
- errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
130
- };
131
- $forceUpdate: () => void;
132
- $nextTick: typeof import("vue").nextTick;
133
- $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
134
- } & Readonly<import("vue").ExtractPropTypes<{
135
- icon: StringConstructor;
136
- iconPosition: {
137
- type: import("vue").PropType<ButtonIconPosition>;
138
- default: ButtonIconPosition;
139
- validator: (value: string) => boolean;
140
- };
141
- label: StringConstructor;
142
- loading: BooleanConstructor;
143
- loadingIcon: {
144
- type: StringConstructor;
145
- default: string;
146
- };
147
- loadingLabel: {
148
- type: StringConstructor;
149
- default: string;
150
- };
151
- to: {
152
- type: (StringConstructor | ObjectConstructor)[];
153
- };
154
- href: StringConstructor;
155
- target: {
156
- type: import("vue").PropType<import("./VvButton").ButtonTarget>;
157
- validator: (value: string) => boolean;
158
- };
159
- block: BooleanConstructor;
160
- active: BooleanConstructor;
161
- rounded: BooleanConstructor;
162
- disabled: BooleanConstructor;
163
- fullBleed: BooleanConstructor;
164
- action: BooleanConstructor;
165
- actionQuiet: BooleanConstructor;
166
- selected: BooleanConstructor;
167
- modifiers: (StringConstructor | ArrayConstructor)[];
168
- }>> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
169
- __isFragment?: undefined;
170
- __isTeleport?: undefined;
171
- __isSuspense?: undefined;
172
- } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
173
- icon: StringConstructor;
1
+ import { ButtonIconPosition } from '@/components/VvButton';
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
+ icon: {
4
+ type: (ObjectConstructor | StringConstructor)[];
5
+ default: string;
6
+ };
174
7
  iconPosition: {
175
8
  type: import("vue").PropType<ButtonIconPosition>;
176
9
  default: ButtonIconPosition;
177
10
  validator: (value: string) => boolean;
178
11
  };
179
- label: StringConstructor;
12
+ label: (StringConstructor | NumberConstructor)[];
13
+ /**
14
+ * @description The component pressed state by prop or group.
15
+ * @returns {string} The component tag.
16
+ */
180
17
  loading: BooleanConstructor;
181
18
  loadingIcon: {
182
19
  type: StringConstructor;
@@ -187,42 +24,98 @@ declare const _default: {
187
24
  default: string;
188
25
  };
189
26
  to: {
190
- type: (StringConstructor | ObjectConstructor)[];
27
+ type: (ObjectConstructor | StringConstructor)[];
191
28
  };
192
29
  href: StringConstructor;
193
30
  target: {
194
- type: import("vue").PropType<import("./VvButton").ButtonTarget>;
31
+ type: import("vue").PropType<import("@/components/VvButton").ButtonTarget>;
195
32
  validator: (value: string) => boolean;
196
33
  };
197
- block: BooleanConstructor;
198
34
  active: BooleanConstructor;
199
- rounded: BooleanConstructor;
35
+ pressed: BooleanConstructor;
36
+ rel: {
37
+ type: StringConstructor;
38
+ default: string; /**
39
+ * @description Define icon attributes.
40
+ * @returns {Object} The icon attributes.
41
+ */
42
+ };
43
+ type: {
44
+ type: StringConstructor;
45
+ default: import("@/components/VvButton").ButtonType;
46
+ validator: (value: string) => boolean;
47
+ };
200
48
  disabled: BooleanConstructor;
201
- fullBleed: BooleanConstructor;
202
- action: BooleanConstructor;
203
- actionQuiet: BooleanConstructor;
204
- selected: BooleanConstructor;
205
- modifiers: (StringConstructor | ArrayConstructor)[];
206
- }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
49
+ modifiers: import("vue").PropType<string | string[]>;
50
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
51
+ icon: {
52
+ type: (ObjectConstructor | StringConstructor)[];
53
+ default: string;
54
+ };
55
+ iconPosition: {
56
+ type: import("vue").PropType<ButtonIconPosition>;
57
+ default: ButtonIconPosition;
58
+ validator: (value: string) => boolean;
59
+ };
60
+ label: (StringConstructor | NumberConstructor)[];
61
+ /**
62
+ * @description The component pressed state by prop or group.
63
+ * @returns {string} The component tag.
64
+ */
65
+ loading: BooleanConstructor;
66
+ loadingIcon: {
67
+ type: StringConstructor;
68
+ default: string;
69
+ };
70
+ loadingLabel: {
71
+ type: StringConstructor;
72
+ default: string;
73
+ };
74
+ to: {
75
+ type: (ObjectConstructor | StringConstructor)[];
76
+ };
77
+ href: StringConstructor;
78
+ target: {
79
+ type: import("vue").PropType<import("@/components/VvButton").ButtonTarget>;
80
+ validator: (value: string) => boolean;
81
+ };
82
+ active: BooleanConstructor;
83
+ pressed: BooleanConstructor;
84
+ rel: {
85
+ type: StringConstructor;
86
+ default: string; /**
87
+ * @description Define icon attributes.
88
+ * @returns {Object} The icon attributes.
89
+ */
90
+ };
91
+ type: {
92
+ type: StringConstructor;
93
+ default: import("@/components/VvButton").ButtonType;
94
+ validator: (value: string) => boolean;
95
+ };
96
+ disabled: BooleanConstructor;
97
+ modifiers: import("vue").PropType<string | string[]>;
98
+ }>>, {
207
99
  disabled: boolean;
100
+ type: string;
101
+ icon: string | Record<string, any>;
208
102
  iconPosition: ButtonIconPosition;
209
103
  loading: boolean;
210
104
  loadingIcon: string;
211
105
  loadingLabel: string;
212
- block: boolean;
213
106
  active: boolean;
214
- rounded: boolean;
215
- fullBleed: boolean;
216
- action: boolean;
217
- actionQuiet: boolean;
218
- selected: boolean;
219
- }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
220
- $slots: {
221
- default: (_: {}) => any;
222
- loading: (_: {}) => any;
223
- before: (_: {}) => any;
224
- label: (_: {}) => any;
225
- after: (_: {}) => any;
226
- };
227
- });
107
+ pressed: boolean;
108
+ rel: string;
109
+ }>, {
110
+ default: (_: {}) => any;
111
+ loading: (_: {}) => any;
112
+ before: (_: {}) => any;
113
+ label: (_: {}) => any;
114
+ after: (_: {}) => any;
115
+ }>;
228
116
  export default _default;
117
+ type __VLS_WithTemplateSlots<T, S> = T & {
118
+ new (): {
119
+ $slots: S;
120
+ };
121
+ };
@@ -1,10 +1,16 @@
1
- import type { PropType, ExtractPropTypes } from 'vue';
1
+ import { type PropType, type ExtractPropTypes, type Ref } from 'vue';
2
+ import type IButtonGroupState from '@/composables/group/types/IButtonGroupState';
2
3
  export declare enum ButtonIconPosition {
3
4
  left = "left",
4
5
  right = "right",
5
6
  top = "top",
6
7
  bottom = "bottom"
7
8
  }
9
+ export declare enum ButtonType {
10
+ button = "button",
11
+ submit = "submit",
12
+ reset = "reset"
13
+ }
8
14
  export declare enum ButtonTag {
9
15
  nuxtLink = "nuxt-link",
10
16
  routerLink = "router-link",
@@ -22,7 +28,10 @@ export declare const VvButtonProps: {
22
28
  /**
23
29
  * Button icon
24
30
  */
25
- icon: StringConstructor;
31
+ icon: {
32
+ type: (ObjectConstructor | StringConstructor)[];
33
+ default: string;
34
+ };
26
35
  /**
27
36
  * Button icon position
28
37
  */
@@ -34,7 +43,7 @@ export declare const VvButtonProps: {
34
43
  /**
35
44
  * Button label
36
45
  */
37
- label: StringConstructor;
46
+ label: (StringConstructor | NumberConstructor)[];
38
47
  /**
39
48
  * Loading status
40
49
  */
@@ -58,7 +67,7 @@ export declare const VvButtonProps: {
58
67
  * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
59
68
  */
60
69
  to: {
61
- type: (StringConstructor | ObjectConstructor)[];
70
+ type: (ObjectConstructor | StringConstructor)[];
62
71
  };
63
72
  /**
64
73
  * Link href
@@ -71,45 +80,42 @@ export declare const VvButtonProps: {
71
80
  type: PropType<ButtonTarget>;
72
81
  validator: (value: string) => boolean;
73
82
  };
74
- /**
75
- * Create block level button that span the full width of a parent.
76
- */
77
- block: BooleanConstructor;
78
- /**
79
- * Button active state.
80
- */
81
83
  active: BooleanConstructor;
82
84
  /**
83
- * Button rounded.
84
- */
85
- rounded: BooleanConstructor;
86
- /**
87
- * Button disabled
88
- */
89
- disabled: BooleanConstructor;
90
- /**
91
- * Button with min-width
85
+ * Button pressed mode
92
86
  */
93
- fullBleed: BooleanConstructor;
87
+ pressed: BooleanConstructor;
94
88
  /**
95
- * Button action mode
89
+ * Link rel
96
90
  */
97
- action: BooleanConstructor;
98
- /**
99
- * Button action mode
100
- */
101
- actionQuiet: BooleanConstructor;
102
- /**
103
- * Button selected mode
104
- */
105
- selected: BooleanConstructor;
91
+ rel: {
92
+ type: StringConstructor;
93
+ default: string;
94
+ };
106
95
  /**
107
- * The variant of the button
108
- * @values
109
- * @defaultvalue default
96
+ * Button type
110
97
  */
111
- modifiers: (StringConstructor | ArrayConstructor)[];
98
+ type: {
99
+ type: StringConstructor;
100
+ default: ButtonType;
101
+ validator: (value: string) => boolean;
102
+ };
103
+ disabled: BooleanConstructor;
104
+ modifiers: PropType<string | string[]>;
105
+ };
106
+ export type VvButtonPropsTypes = ExtractPropTypes<typeof VvButtonProps>;
107
+ /**
108
+ * Merges local and group props
109
+ */
110
+ export declare function useGroupProps(props: VvButtonPropsTypes): {
111
+ modelValue: import("vue").WritableComputedRef<unknown>;
112
+ disabled: Ref<boolean>;
113
+ toggle: Ref<boolean>;
114
+ isInGroup: import("vue").ComputedRef<boolean>;
115
+ group: Ref<IButtonGroupState> | undefined;
116
+ modifiers: Ref<string | string[]>;
117
+ pressed: Ref<boolean>;
118
+ iconPosition: Ref<ButtonIconPosition>;
119
+ icon: Ref<string | Record<string, any>>;
120
+ label: Ref<string | number | undefined> | undefined;
112
121
  };
113
- declare type _VvButtonPropsType = typeof VvButtonProps;
114
- export declare type VvButtonPropsTypes = ExtractPropTypes<_VvButtonPropsType>;
115
- export {};