@volverjs/ui-vue 0.0.1-beta.12 → 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 (431) 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 +42 -151
  13. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  14. package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -53
  15. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +0 -0
  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 +24 -104
  19. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +1 -1
  20. package/dist/components/VvButton/VvButton.es.js +298 -312
  21. package/dist/components/VvButton/VvButton.umd.js +1 -1
  22. package/dist/components/VvButton/VvButton.vue.d.ts +91 -163
  23. package/dist/components/VvButton/{VvButton.d.ts → index.d.ts} +46 -9
  24. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +59 -172
  25. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  26. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +30 -125
  27. package/dist/components/VvButtonGroup/{VvButtonGroup.d.ts → index.d.ts} +0 -0
  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 +34 -136
  47. package/dist/components/VvDropdown/{VvDropdown.d.ts → index.d.ts} +7 -3
  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 +187 -275
  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 +17 -103
  67. package/dist/components/VvProgress/{VvProgress.d.ts → index.d.ts} +1 -7
  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 +556 -510
  77. package/dist/components/VvSelect/VvSelect.umd.js +1 -2
  78. package/dist/components/VvSelect/VvSelect.vue.d.ts +75 -240
  79. package/dist/components/VvSelect/{VvSelect.d.ts → index.d.ts} +12 -5
  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 +103 -299
  83. package/dist/components/VvTextarea/{VvTextarea.d.ts → index.d.ts} +36 -13
  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 +2070 -895
  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/IGroupState.d.ts +2 -2
  92. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  93. package/dist/composables/group/useProvideGroupState.d.ts +1 -1
  94. package/dist/composables/icons/useComponentIcons.d.ts +2 -2
  95. package/dist/composables/textLimit/useTextLimit.d.ts +0 -3
  96. package/dist/constants.d.ts +4 -4
  97. package/dist/icons.d.ts +1881 -0
  98. package/dist/icons.es.js +4 -6
  99. package/dist/icons.umd.js +1 -1
  100. package/dist/index.es.js +2113 -932
  101. package/dist/index.umd.js +1 -2
  102. package/dist/props/index.d.ts +9 -3
  103. package/dist/resolvers/unplugin.d.ts +27 -0
  104. package/dist/resolvers/unplugin.es.js +40 -0
  105. package/dist/resolvers/unplugin.umd.js +1 -0
  106. package/dist/stories/Accordion/Accordion.test.d.ts +4 -0
  107. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  108. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  109. package/dist/stories/Button/Button.test.d.ts +3 -8
  110. package/dist/stories/Card/Card.test.d.ts +3 -0
  111. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  112. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  113. package/dist/stories/Icon/IconList.vue.d.ts +1 -43
  114. package/dist/stories/InputText/InputText.test.d.ts +6 -0
  115. package/dist/stories/Radio/Radio.test.d.ts +3 -0
  116. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +8 -0
  117. package/dist/stories/Select/Select.test.d.ts +3 -0
  118. package/dist/stories/Textarea/Textarea.test.d.ts +8 -0
  119. package/dist/stories/utils.d.ts +1 -3
  120. package/dist/test/sleep.d.ts +1 -0
  121. package/dist/utils/ObjectUtilities.d.ts +82 -95
  122. package/env.d.ts +1 -0
  123. package/package.json +102 -68
  124. package/src/Volver.ts +32 -3
  125. package/src/assets/icons/detailed.json +1 -1
  126. package/src/assets/icons/normal.json +1 -1
  127. package/src/assets/icons/simple.json +1 -1
  128. package/src/components/VvAccordion/VvAccordion.vue +80 -76
  129. package/src/components/VvAccordion/index.ts +69 -0
  130. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +77 -41
  131. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +8 -12
  132. package/src/components/VvBadge/VvBadge.vue +14 -10
  133. package/src/components/VvBadge/{VvBadge.ts → index.ts} +0 -0
  134. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +18 -19
  135. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -1
  136. package/src/components/VvButton/VvButton.vue +123 -113
  137. package/src/components/VvButton/index.ts +147 -0
  138. package/src/components/VvButtonGroup/VvButtonGroup.vue +21 -17
  139. package/src/components/VvButtonGroup/{VvButtonGroup.ts → index.ts} +0 -0
  140. package/src/components/VvCard/VvCard.vue +20 -22
  141. package/src/components/VvCard/{VvCard.ts → index.ts} +0 -0
  142. package/src/components/VvCheckbox/VvCheckbox.vue +124 -0
  143. package/src/components/VvCheckbox/index.ts +94 -0
  144. package/src/components/{VvCheckGroup/VvCheckGroup.vue → VvCheckboxGroup/VvCheckboxGroup.vue} +49 -54
  145. package/src/components/{VvCheckGroup/VvCheckGroup.ts → VvCheckboxGroup/index.ts} +9 -9
  146. package/src/components/VvDialog/VvDialog.vue +47 -50
  147. package/src/components/VvDialog/index.ts +10 -0
  148. package/src/components/VvDropdown/VvDropdown.vue +61 -40
  149. package/src/components/VvDropdown/{VvDropdown.ts → index.ts} +8 -4
  150. package/src/components/VvIcon/VvIcon.vue +31 -25
  151. package/src/components/VvIcon/{VvIcon.ts → index.ts} +9 -0
  152. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  153. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  154. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  155. package/src/components/VvInputText/VvInputText.vue +168 -170
  156. package/src/components/VvInputText/VvInputTextActions.ts +54 -108
  157. package/src/components/VvInputText/index.ts +135 -0
  158. package/src/components/VvNativeSelect/VvNativeSelect.vue +130 -68
  159. package/src/components/VvNativeSelect/{VvNativeSelect.ts → index.ts} +26 -7
  160. package/src/components/VvProgress/VvProgress.vue +25 -26
  161. package/src/components/VvProgress/{VvProgress.ts → index.ts} +4 -7
  162. package/src/components/VvRadio/VvRadio.vue +81 -108
  163. package/src/components/VvRadio/index.ts +78 -0
  164. package/src/components/VvRadioGroup/VvRadioGroup.vue +45 -45
  165. package/src/components/VvRadioGroup/{VvRadioGroup.ts → index.ts} +1 -1
  166. package/src/components/VvSelect/VvSelect.vue +90 -69
  167. package/src/components/VvSelect/{VvSelect.ts → index.ts} +12 -5
  168. package/src/components/VvTextarea/VvTextarea.vue +121 -128
  169. package/src/components/VvTextarea/{VvTextarea.ts → index.ts} +31 -11
  170. package/src/components/common/HintSlot.ts +157 -136
  171. package/src/components/index.ts +13 -6
  172. package/src/composables/debouncedInput/useDebouncedInput.ts +21 -15
  173. package/src/composables/focus/useComponentFocus.ts +6 -8
  174. package/src/composables/group/types/IAccordionGroupState.ts +1 -3
  175. package/src/composables/group/types/IGroupState.ts +2 -2
  176. package/src/composables/group/useInjectedGroupState.ts +20 -30
  177. package/src/composables/group/useProvideGroupState.ts +1 -2
  178. package/src/composables/icons/useComponentIcons.ts +2 -3
  179. package/src/composables/options/useOptions.ts +3 -0
  180. package/src/composables/textLimit/useTextLimit.ts +1 -4
  181. package/src/composables/useModifiers.ts +13 -15
  182. package/src/constants.ts +5 -7
  183. package/src/directives/{.README → .gitkeep} +0 -0
  184. package/src/icons.ts +7 -0
  185. package/src/index.ts +0 -1
  186. package/src/props/index.ts +7 -1
  187. package/src/resolvers/unplugin.ts +103 -0
  188. package/src/shims.d.ts +11 -0
  189. package/src/stories/Accordion/Accordion.stories.mdx +10 -9
  190. package/src/stories/Accordion/Accordion.test.ts +37 -0
  191. package/src/stories/Accordion/AccordionSlots.stories.mdx +40 -25
  192. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +10 -16
  193. package/src/stories/AccordionGroup/{accordionGroupTest.js → AccordionGroup.test.js} +15 -17
  194. package/src/stories/AccordionGroup/AccordionGroupCollapse.stories.mdx +38 -0
  195. package/src/stories/AccordionGroup/{AccordionItems.stories.mdx → AccordionGroupItems.stories.mdx} +7 -13
  196. package/src/stories/Badge/Badge.stories.mdx +8 -8
  197. package/src/stories/Badge/Badge.test.ts +16 -0
  198. package/src/stories/Badge/BadgeColor.stories.mdx +6 -7
  199. package/src/stories/Badge/BadgeDot.stories.mdx +4 -3
  200. package/src/stories/Badge/BadgeModifiers.stories.mdx +7 -6
  201. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +15 -7
  202. package/src/stories/Breadcrumb/Breadcrumb.test.ts +49 -0
  203. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +15 -7
  204. package/src/stories/Button/Button.stories.mdx +16 -17
  205. package/src/stories/Button/Button.test.ts +8 -12
  206. package/src/stories/Button/ButtonActive.stories.mdx +2 -1
  207. package/src/stories/Button/ButtonBadge.stories.mdx +2 -2
  208. package/src/stories/Button/ButtonDisabled.stories.mdx +1 -1
  209. package/src/stories/Button/ButtonIcon.stories.mdx +6 -3
  210. package/src/stories/Button/ButtonIconPosition.stories.mdx +1 -1
  211. package/src/stories/Button/ButtonLink.stories.mdx +1 -19
  212. package/src/stories/Button/ButtonLoading.stories.mdx +4 -4
  213. package/src/stories/Button/ButtonModifiers.stories.mdx +1 -1
  214. package/src/stories/Button/ButtonPressed.stories.mdx +31 -0
  215. package/src/stories/Button/ButtonSlots.stories.mdx +1 -1
  216. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +5 -6
  217. package/src/stories/ButtonGroup/{ButtonGroupTest.js → ButtonGroup.test.js} +6 -28
  218. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +5 -6
  219. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +3 -4
  220. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +3 -4
  221. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +3 -4
  222. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +3 -4
  223. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +11 -12
  224. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +3 -4
  225. package/src/stories/Card/Card.stories.mdx +7 -5
  226. package/src/stories/Card/Card.test.ts +26 -0
  227. package/src/stories/Card/CardSlots.stories.mdx +5 -5
  228. package/src/stories/Card/CardVariant.stories.mdx +5 -4
  229. package/src/stories/Checkbox/Checkbox.stories.mdx +51 -0
  230. package/src/stories/Checkbox/Checkbox.test.js +115 -0
  231. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +76 -0
  232. package/src/stories/{Check/CheckDisabled.stories.mdx → Checkbox/CheckboxDisabled.stories.mdx} +7 -7
  233. package/src/stories/Checkbox/CheckboxError.stories.mdx +43 -0
  234. package/src/stories/Checkbox/CheckboxHintLabel.stories.mdx +35 -0
  235. package/src/stories/{Check/CheckReadonly.stories.mdx → Checkbox/CheckboxReadonly.stories.mdx} +6 -8
  236. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +69 -0
  237. package/src/stories/{Check/CheckSwitch.stories.mdx → Checkbox/CheckboxSwitch.stories.mdx} +8 -8
  238. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +69 -0
  239. package/src/stories/CheckboxGroup/CheckboxGroupDisabled.stories.mdx +26 -0
  240. package/src/stories/CheckboxGroup/CheckboxGroupError.stories.mdx +28 -0
  241. package/src/stories/CheckboxGroup/CheckboxGroupHintLabel.stories.mdx +27 -0
  242. package/src/stories/CheckboxGroup/CheckboxGroupLabel.stories.mdx +26 -0
  243. package/src/stories/{CheckGroup/CheckGroupOptionLabel.stories.mdx → CheckboxGroup/CheckboxGroupOptionLabel.stories.mdx} +14 -11
  244. package/src/stories/{CheckGroup/CheckGroupOptionValue.stories.mdx → CheckboxGroup/CheckboxGroupOptionValue.stories.mdx} +13 -10
  245. package/src/stories/{CheckGroup/CheckGroupOptions.stories.mdx → CheckboxGroup/CheckboxGroupOptions.stories.mdx} +8 -8
  246. package/src/stories/CheckboxGroup/CheckboxGroupReadonly.stories.mdx +26 -0
  247. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +152 -0
  248. package/src/stories/CheckboxGroup/CheckboxGroupValid.stories.mdx +28 -0
  249. package/src/stories/CheckboxGroup/CheckboxGroupVertical.stories.mdx +26 -0
  250. package/src/stories/Dialog/Dialog.stories.mdx +5 -5
  251. package/src/stories/Dialog/Dialog.test.ts +26 -0
  252. package/src/stories/Dialog/DialogAutoClose.stories.mdx +1 -1
  253. package/src/stories/Dialog/DialogSize.stories.mdx +1 -1
  254. package/src/stories/Dropdown/Dropdown.stories.mdx +11 -7
  255. package/src/stories/Dropdown/Dropdown.test.ts +80 -0
  256. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +9 -2
  257. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +2 -2
  258. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +4 -2
  259. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +4 -2
  260. package/src/stories/Dropdown/DropdownOptions.stories.mdx +4 -4
  261. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +4 -2
  262. package/src/stories/Icon/Icon.stories.mdx +8 -8
  263. package/src/stories/Icon/{IconTest.js → Icon.test.js} +2 -5
  264. package/src/stories/Icon/IconList.vue +5 -6
  265. package/src/stories/Icon/IconPrefix.stories.mdx +2 -2
  266. package/src/stories/Icon/IconRemote.stories.mdx +2 -2
  267. package/src/stories/Icon/IconsList.stories.mdx +2 -18
  268. package/src/stories/InputText/InputText.stories.mdx +25 -19
  269. package/src/stories/InputText/InputText.test.ts +156 -0
  270. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +9 -2
  271. package/src/stories/InputText/InputTextAutofocus.stories.mdx +6 -3
  272. package/src/stories/InputText/InputTextDisabled.stories.mdx +10 -2
  273. package/src/stories/InputText/InputTextError.stories.mdx +10 -2
  274. package/src/stories/InputText/InputTextFloating.stories.mdx +10 -3
  275. package/src/stories/InputText/InputTextHintLabel.stories.mdx +10 -2
  276. package/src/stories/InputText/InputTextIcon.stories.mdx +6 -2
  277. package/src/stories/InputText/InputTextIconPosition.stories.mdx +10 -3
  278. package/src/stories/InputText/InputTextLabel.stories.mdx +8 -2
  279. package/src/stories/InputText/InputTextLoading.stories.mdx +10 -2
  280. package/src/stories/InputText/InputTextMax.stories.mdx +10 -3
  281. package/src/stories/InputText/InputTextMaxLength.stories.mdx +22 -5
  282. package/src/stories/InputText/InputTextMin.stories.mdx +10 -3
  283. package/src/stories/InputText/InputTextMinLength.stories.mdx +9 -2
  284. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +8 -2
  285. package/src/stories/InputText/InputTextReadonly.stories.mdx +6 -2
  286. package/src/stories/InputText/InputTextSlots.stories.mdx +4 -5
  287. package/src/stories/InputText/InputTextStep.stories.mdx +9 -3
  288. package/src/stories/InputText/InputTextType.stories.mdx +110 -13
  289. package/src/stories/InputText/InputTextValid.stories.mdx +10 -2
  290. package/src/stories/NativeSelect/NativeSelect.stories.mdx +15 -11
  291. package/src/stories/NativeSelect/NativeSelect.test.js +151 -0
  292. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +6 -7
  293. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +7 -3
  294. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +7 -3
  295. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +14 -12
  296. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +7 -3
  297. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +44 -38
  298. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +19 -11
  299. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +26 -30
  300. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +7 -3
  301. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +30 -30
  302. package/src/stories/Progress/Progress.stories.mdx +8 -11
  303. package/src/stories/Progress/{ProgressTest.js → Progress.test.js} +4 -10
  304. package/src/stories/Progress/ProgressDeterminate.stories.mdx +3 -6
  305. package/src/stories/Radio/Radio.stories.mdx +11 -17
  306. package/src/stories/Radio/Radio.test.ts +52 -0
  307. package/src/stories/Radio/RadioDisabled.stories.mdx +4 -7
  308. package/src/stories/Radio/RadioError.stories.mdx +8 -28
  309. package/src/stories/Radio/RadioHintLabel.stories.mdx +6 -7
  310. package/src/stories/Radio/RadioSlots.stories.mdx +21 -7
  311. package/src/stories/RadioGroup/RadioGroup.stories.mdx +20 -27
  312. package/src/stories/RadioGroup/RadioGroup.test.ts +139 -0
  313. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +6 -8
  314. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +9 -11
  315. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +8 -10
  316. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +6 -8
  317. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +11 -13
  318. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +9 -11
  319. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +7 -9
  320. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +6 -8
  321. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +39 -62
  322. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +9 -11
  323. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +6 -8
  324. package/src/stories/Select/Select.stories.mdx +32 -29
  325. package/src/stories/Select/Select.test.ts +104 -0
  326. package/src/stories/Select/SelectDisabled.stories.mdx +3 -3
  327. package/src/stories/Select/SelectMaxValues.stories.mdx +3 -3
  328. package/src/stories/Select/SelectMultiple.stories.mdx +5 -6
  329. package/src/stories/Select/SelectNative.stories.mdx +6 -8
  330. package/src/stories/Select/SelectOptions.stories.mdx +4 -4
  331. package/src/stories/Select/SelectSearchable.stories.mdx +13 -12
  332. package/src/stories/Select/SelectSeparator.stories.mdx +3 -3
  333. package/src/stories/Select/SelectUseObject.stories.mdx +3 -3
  334. package/src/stories/Textarea/Textarea.stories.mdx +6 -10
  335. package/src/stories/Textarea/Textarea.test.ts +204 -0
  336. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +3 -2
  337. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +3 -2
  338. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +3 -2
  339. package/src/stories/Textarea/TextareaDebounce.stories.mdx +7 -6
  340. package/src/stories/Textarea/TextareaDisabled.stories.mdx +9 -3
  341. package/src/stories/Textarea/TextareaError.stories.mdx +7 -2
  342. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +12 -2
  343. package/src/stories/Textarea/TextareaFloating.stories.mdx +7 -2
  344. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +7 -2
  345. package/src/stories/Textarea/TextareaIcon.stories.mdx +3 -2
  346. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +4 -2
  347. package/src/stories/Textarea/TextareaId.stories.mdx +3 -2
  348. package/src/stories/Textarea/TextareaLabel.stories.mdx +3 -2
  349. package/src/stories/Textarea/TextareaLimit.stories.mdx +5 -2
  350. package/src/stories/Textarea/TextareaLoading.stories.mdx +7 -2
  351. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +9 -3
  352. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +5 -4
  353. package/src/stories/Textarea/TextareaMinLength.stories.mdx +3 -2
  354. package/src/stories/Textarea/TextareaModifiers.stories.mdx +10 -2
  355. package/src/stories/Textarea/TextareaName.stories.mdx +3 -2
  356. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +4 -3
  357. package/src/stories/Textarea/TextareaReadonly.stories.mdx +8 -3
  358. package/src/stories/Textarea/TextareaRequired.stories.mdx +3 -2
  359. package/src/stories/Textarea/TextareaResizable.stories.mdx +7 -2
  360. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +4 -2
  361. package/src/stories/Textarea/TextareaSlots.stories.mdx +7 -8
  362. package/src/stories/Textarea/TextareaValid.stories.mdx +7 -1
  363. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +14 -4
  364. package/src/stories/utils.ts +1 -1
  365. package/src/stories/volver-ui-vue.stories.mdx +1 -1
  366. package/src/test/expect.ts +3 -1
  367. package/src/test/sleep.ts +2 -0
  368. package/src/test/types.d.ts +14 -1
  369. package/src/types/{.README → .gitkeep} +0 -0
  370. package/src/utils/ObjectUtilities.ts +247 -241
  371. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  372. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  373. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -18
  374. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  375. package/dist/components/VvCheck/VvCheck.es.js +0 -318
  376. package/dist/components/VvCheck/VvCheck.umd.js +0 -1
  377. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  378. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  379. package/dist/components/VvCheckGroup/VvCheckGroup.es.js +0 -451
  380. package/dist/components/VvCheckGroup/VvCheckGroup.umd.js +0 -2
  381. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  382. package/dist/components/VvDialog/constants.d.ts +0 -5
  383. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  384. package/dist/components/VvInputText/constants.d.ts +0 -55
  385. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  386. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  387. package/dist/components/VvTextarea/constants.d.ts +0 -19
  388. package/dist/stories/RadioGroup/RadioOption.test.d.ts +0 -4
  389. package/dist/stories/RadioGroup/RadioProperty.test.d.ts +0 -12
  390. package/dist/stories/RadioGroup/RadioSlots.test.d.ts +0 -6
  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/VvButton/VvButton.ts +0 -87
  395. package/src/components/VvButton/useButtonGroupProps.ts +0 -43
  396. package/src/components/VvCheck/VvCheck.ts +0 -48
  397. package/src/components/VvCheck/VvCheck.vue +0 -147
  398. package/src/components/VvCheck/useCheckProps.ts +0 -41
  399. package/src/components/VvDialog/VvDialog.ts +0 -17
  400. package/src/components/VvDialog/constants.ts +0 -5
  401. package/src/components/VvInputText/VvInputText.ts +0 -66
  402. package/src/components/VvInputText/constants.ts +0 -34
  403. package/src/components/VvRadio/VvRadio.ts +0 -25
  404. package/src/components/VvRadio/useRadioProps.ts +0 -40
  405. package/src/components/VvTextarea/constants.ts +0 -14
  406. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  407. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  408. package/src/stories/Accordion/accordionTest.js +0 -36
  409. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  410. package/src/stories/Badge/BadgeTest.js +0 -21
  411. package/src/stories/Button/ButtonSelected.stories.mdx +0 -30
  412. package/src/stories/Check/Check.stories.mdx +0 -62
  413. package/src/stories/Check/CheckBinary.stories.mdx +0 -75
  414. package/src/stories/Check/CheckError.stories.mdx +0 -64
  415. package/src/stories/Check/CheckErrorTests.js +0 -74
  416. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  417. package/src/stories/Check/CheckPropertyTest.js +0 -102
  418. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  419. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  420. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  421. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  422. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  423. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  424. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  425. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  426. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  427. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  428. package/src/stories/RadioGroup/RadioOption.test.ts +0 -45
  429. package/src/stories/RadioGroup/RadioProperty.test.ts +0 -87
  430. package/src/stories/RadioGroup/RadioSlots.test.ts +0 -29
  431. package/src/stories/stories.scss +0 -13
@@ -1,307 +1,332 @@
1
- import { inject as V, computed as c, unref as g, toRef as q, toRefs as D, watch as x, defineComponent as F, useAttrs as L, ref as G, openBlock as $, createElementBlock as P, mergeProps as A, createElementVNode as Z, renderSlot as w, createTextVNode as N, toDisplayString as T } from "vue";
2
- import { useFocus as U } from "@vueuse/core";
3
- const h = {
4
- equals(e, t, r) {
5
- return r ? this.resolveFieldData(e, r) === this.resolveFieldData(t, r) : this.deepEquals(e, t);
6
- },
7
- deepEquals(e, t) {
8
- if (e === t)
9
- return !0;
10
- if (e && t && typeof e == "object" && typeof t == "object") {
11
- const r = Array.isArray(e), s = Array.isArray(t);
12
- let n, o, i;
13
- if (r && s) {
14
- if (o = e.length, o != t.length)
15
- return !1;
16
- for (n = o; n-- !== 0; )
17
- if (!this.deepEquals(e[n], t[n]))
18
- return !1;
19
- return !0;
20
- }
21
- if (r != s)
22
- return !1;
23
- const a = e instanceof Date, l = t instanceof Date;
24
- if (a != l)
25
- return !1;
26
- if (a && l)
27
- return e.getTime() == t.getTime();
28
- const f = e instanceof RegExp, d = t instanceof RegExp;
29
- if (f != d)
30
- return !1;
31
- if (f && d)
32
- return e.toString() == t.toString();
33
- const p = Object.keys(e);
34
- if (o = p.length, o !== Object.keys(t).length)
1
+ import { unref as f, computed as c, inject as D, toRef as I, toRefs as x, h as P, defineComponent as G, useSlots as $, ref as H, openBlock as N, createElementBlock as T, normalizeClass as M, withDirectives as Z, createElementVNode as q, isRef as z, vModelRadio as F, renderSlot as U, createTextVNode as w, toDisplayString as J, createVNode as K } from "vue";
2
+ import { toReactive as Q } from "@vueuse/core";
3
+ function b(t, e, r) {
4
+ return r ? C(t, r) === C(e, r) : k(t, e);
5
+ }
6
+ function k(t, e) {
7
+ if (t === e)
8
+ return !0;
9
+ if (t && e && typeof t == "object" && typeof e == "object") {
10
+ const r = Array.isArray(t), u = Array.isArray(e);
11
+ let s, o, n;
12
+ if (r && u) {
13
+ if (o = t.length, o != e.length)
35
14
  return !1;
36
- for (n = o; n-- !== 0; )
37
- if (!Object.prototype.hasOwnProperty.call(t, p[n]))
38
- return !1;
39
- for (n = o; n-- !== 0; )
40
- if (i = p[n], !this.deepEquals(e[i], t[i]))
15
+ for (s = o; s-- !== 0; )
16
+ if (!k(t[s], e[s]))
41
17
  return !1;
42
18
  return !0;
43
19
  }
44
- return e !== e && t !== t;
45
- },
46
- resolveFieldData(e, t) {
47
- if (e && Object.keys(e).length && t) {
48
- if (t.indexOf(".") === -1)
49
- return e[t];
50
- {
51
- const r = t.split(".");
52
- let s = e;
53
- for (let n = 0, o = r.length; n < o; ++n) {
54
- if (e == null)
55
- return null;
56
- s = s[r[n]];
57
- }
58
- return s;
20
+ if (r != u)
21
+ return !1;
22
+ const d = t instanceof Date, i = e instanceof Date;
23
+ if (d != i)
24
+ return !1;
25
+ if (d && i)
26
+ return t.getTime() == e.getTime();
27
+ const l = t instanceof RegExp, v = e instanceof RegExp;
28
+ if (l != v)
29
+ return !1;
30
+ if (l && v)
31
+ return t.toString() == e.toString();
32
+ const a = Object.keys(t);
33
+ if (o = a.length, o !== Object.keys(e).length)
34
+ return !1;
35
+ for (s = o; s-- !== 0; )
36
+ if (!Object.prototype.hasOwnProperty.call(e, a[s]))
37
+ return !1;
38
+ for (s = o; s-- !== 0; )
39
+ if (n = a[s], !k(t[n], e[n]))
40
+ return !1;
41
+ return !0;
42
+ }
43
+ return t !== t && e !== e;
44
+ }
45
+ function C(t, e) {
46
+ if (t && Object.keys(t).length && e) {
47
+ if (e.indexOf(".") === -1)
48
+ return t[e];
49
+ {
50
+ const r = e.split(".");
51
+ let u = t;
52
+ for (let s = 0, o = r.length; s < o; ++s) {
53
+ if (t == null)
54
+ return null;
55
+ u = u[r[s]];
59
56
  }
60
- } else
61
- return null;
62
- },
63
- isFunction(e) {
64
- return !!(e && e.constructor && e.call && e.apply);
65
- },
66
- findIndexInList(e, t) {
67
- let r = -1;
68
- if (t) {
69
- for (let s = 0; s < t.length; s++)
70
- if (this.equals(t[s], e)) {
71
- r = s;
72
- break;
73
- }
74
- }
75
- return r;
76
- },
77
- contains(e, t) {
78
- if (e != null && t && t.length) {
79
- for (const r of t)
80
- if (this.equals(e, r))
81
- return !0;
57
+ return u;
82
58
  }
83
- return !1;
84
- },
85
- isEmpty(e) {
86
- return e == null || e === "" || Array.isArray(e) && e.length === 0 || !(e instanceof Date) && typeof e == "object" && Object.keys(e).length === 0;
87
- },
88
- isNotEmpty(e) {
89
- return !this.isEmpty(e);
90
- },
91
- pickBy(e, t) {
92
- return Object.fromEntries(
93
- Object.entries(e).filter(([r]) => t(r))
94
- );
95
- },
96
- removeFromList(e, t) {
97
- const r = this.findIndexInList(e, t);
98
- return r > -1 ? t.filter((s, n) => n !== r) : t;
99
- },
100
- isString(e) {
101
- return typeof e == "string" || e instanceof String;
102
- },
103
- propsToObject(e) {
104
- return Object.keys(e).reduce((t, r) => {
105
- var s, n, o, i, a;
106
- return this.isFunction(e[r]) ? t[r] = e[r]() : Array.isArray(e[r]) ? t[r] = e[r][0]() : (s = e[r]) != null && s.type && (Array.isArray(e[r].type) ? t[r] = ((n = e[r]) == null ? void 0 : n.default) || ((o = e[r]) == null ? void 0 : o.type[0]()) : t[r] = ((i = e[r]) == null ? void 0 : i.default) || ((a = e[r]) == null ? void 0 : a.type())), t;
107
- }, {});
108
- },
109
- filterArray(e, t, r) {
110
- return e.filter((s) => t.some((n) => typeof n == "string" ? s[r] == n : this.equals(
111
- s[r],
112
- n[r]
113
- )));
114
- },
115
- kebabCase(e) {
116
- var t, r;
117
- if (e)
118
- return (r = (t = e.match(
119
- /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
120
- )) == null ? void 0 : t.join("-")) == null ? void 0 : r.toLowerCase();
59
+ } else
60
+ return null;
61
+ }
62
+ function W(t, e) {
63
+ let r = -1;
64
+ if (e) {
65
+ for (let u = 0; u < e.length; u++)
66
+ if (b(e[u], t)) {
67
+ r = u;
68
+ break;
69
+ }
121
70
  }
122
- }, z = {
71
+ return r;
72
+ }
73
+ function X(t, e) {
74
+ if (t != null && e && e.length) {
75
+ for (const r of e)
76
+ if (b(t, r))
77
+ return !0;
78
+ }
79
+ return !1;
80
+ }
81
+ function E(t) {
82
+ return ((e) => e == null || e === "" || Array.isArray(e) && e.length === 0 || !(e instanceof Date) && typeof e == "object" && Object.keys(e).length === 0)(f(t));
83
+ }
84
+ function Y(t, e) {
85
+ const r = W(t, e);
86
+ return r > -1 ? e.filter((u, s) => s !== r) : e;
87
+ }
88
+ function L(t) {
89
+ return typeof t == "string" || t instanceof String;
90
+ }
91
+ function B(t) {
92
+ var e, r;
93
+ if (t)
94
+ return (r = (e = t.match(
95
+ /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
96
+ )) == null ? void 0 : e.join("-")) == null ? void 0 : r.toLowerCase();
97
+ }
98
+ function ee(t, e) {
99
+ const r = { [`${t}`]: !0 };
100
+ return {
101
+ bemCssClasses: c(() => Object.keys(e).reduce((s, o) => {
102
+ const n = f(e[o]) || !1;
103
+ if (!n)
104
+ return s;
105
+ if (o === "modifiers") {
106
+ const d = Array.isArray(n) ? n : n.split(" ");
107
+ return {
108
+ ...s,
109
+ ...d.reduce(
110
+ (i, l) => ({
111
+ ...i,
112
+ [`${t}--${B(l)}`]: !0
113
+ }),
114
+ {}
115
+ )
116
+ };
117
+ } else
118
+ return {
119
+ ...s,
120
+ [`${t}--${B(o)}`]: n
121
+ };
122
+ }, r) || {})
123
+ };
124
+ }
125
+ const te = {
123
126
  valid: Boolean,
124
127
  validLabel: [String, Array]
125
- }, M = {
128
+ }, re = {
126
129
  error: Boolean,
127
130
  errorLabel: [String, Array]
128
- }, W = {
129
- ...z,
130
- ...M,
131
- value: null,
132
- modelValue: { type: [Object, Number, Boolean, String] },
133
- label: { type: String, default: "" },
134
- disabled: Boolean,
135
- readonly: Boolean
136
- }, H = [
137
- "click",
138
- "update:modelValue",
139
- "change",
140
- "focus",
141
- "blur"
142
- ];
143
- function J(e) {
144
- const t = V(e, void 0), r = c(() => h.isNotEmpty(t));
145
- function s(n, o, i) {
146
- if (t != null && t.value) {
147
- const a = g(t.value)[n];
148
- return c({
149
- get() {
150
- return a == null ? void 0 : a.value;
151
- },
152
- set(l) {
153
- a.value = l;
154
- }
155
- });
156
- } else {
157
- const a = q(o, n);
131
+ }, ne = {
132
+ hintLabel: { type: String, default: "" }
133
+ };
134
+ function se(t) {
135
+ const e = D(t, void 0), r = c(() => !E(e));
136
+ function u(s, o, n) {
137
+ if (e != null && e.value) {
138
+ const i = f(e.value)[s];
158
139
  return c({
159
140
  get() {
160
- return a.value;
141
+ return i == null ? void 0 : i.value;
161
142
  },
162
143
  set(l) {
163
- i && i(`update:${n}`, l);
144
+ i.value = l;
164
145
  }
165
146
  });
166
147
  }
148
+ const d = I(o, s);
149
+ return c({
150
+ get() {
151
+ return d.value;
152
+ },
153
+ set(i) {
154
+ n && n(`update:${s}`, i);
155
+ }
156
+ });
167
157
  }
168
158
  return {
169
- group: t,
159
+ group: e,
170
160
  isInGroup: r,
171
- getGroupOrLocalRef: s
161
+ getGroupOrLocalRef: u
172
162
  };
173
163
  }
174
- const K = Symbol("VV_RADIO_GROUP");
175
- function Q(e, t) {
176
- const { group: r, isInGroup: s, getGroupOrLocalRef: n } = J(K), { valid: o, error: i } = D(e), a = n("modelValue", e, t), l = n("readonly", e), f = n("disabled", e);
164
+ const oe = "VV_RADIO_GROUP", ue = {
165
+ ...te,
166
+ ...re,
167
+ ...ne,
168
+ id: [String, Number],
169
+ name: { type: String, required: !0 },
170
+ value: [String, Number, Boolean],
171
+ modelValue: [Object, Number, Boolean, String],
172
+ label: String,
173
+ disabled: Boolean,
174
+ readonly: Boolean,
175
+ tabindex: { type: [String, Number], default: 0 }
176
+ }, ie = ["click", "update:modelValue", "change", "blur"];
177
+ function ae(t, e) {
178
+ const { group: r, isInGroup: u, getGroupOrLocalRef: s } = se(oe), { valid: o, error: n } = x(t), d = s("modelValue", t, e), i = s("readonly", t), l = s("disabled", t);
177
179
  return {
178
- group: r,
179
- isInGroup: s,
180
180
  valid: o,
181
- error: i,
182
- modelValue: a,
183
- readonly: l,
184
- disabled: f
181
+ error: n,
182
+ group: r,
183
+ isInGroup: u,
184
+ modelValue: d,
185
+ readonly: i,
186
+ disabled: l
185
187
  };
186
188
  }
187
- function X(e, t) {
188
- const { focused: r } = U(e);
189
- return x(r, (s) => {
190
- t(s ? "focus" : "blur", e.value);
191
- }), {
192
- focused: r
193
- };
189
+ function O(t) {
190
+ return Array.isArray(t) ? t.filter((e) => L(e)).join(" ") : t;
194
191
  }
195
- function v(e, t) {
196
- const r = { [`${e}`]: !0 };
192
+ function le(t, e) {
193
+ const {
194
+ error: r,
195
+ valid: u,
196
+ hint: s,
197
+ loading: o
198
+ } = e, {
199
+ hintLabel: n,
200
+ modelValue: d,
201
+ valid: i,
202
+ validLabel: l,
203
+ error: v,
204
+ errorLabel: a,
205
+ ...V
206
+ } = x(t), p = C(V, "loading"), y = C(V, "loadingLabel"), g = c(() => v.value ? !!(v.value && r || a != null && a.value && Array.isArray(a.value) && a.value.length > 0 || a != null && a.value && !E(a)) : !1), h = c(
207
+ () => !!(n && n.value || s)
208
+ ), A = c(
209
+ () => !!(l && l.value || u)
210
+ ), R = c(
211
+ () => !!(p != null && p.value && o || p != null && p.value && (y != null && y.value))
212
+ ), m = c(
213
+ () => h.value || A || g.value || R.value
214
+ );
197
215
  return {
198
- bemCssClasses: c(() => Object.keys(t).reduce((n, o) => {
199
- const i = g(t[o]) || !1;
200
- if (!i)
201
- return n;
202
- if (o === "modifiers") {
203
- const a = Array.isArray(i) ? i : [i];
204
- return {
205
- ...n,
206
- ...a.reduce(
207
- (l, f) => ({
208
- ...l,
209
- [`${e}--${h.kebabCase(
210
- f
211
- )}`]: !0
212
- }),
213
- {}
214
- )
215
- };
216
- } else
216
+ hasErrors: g,
217
+ hasHint: h,
218
+ hasValid: A,
219
+ hasLoading: R,
220
+ HintSlot: {
221
+ name: "HintSlot",
222
+ props: {
223
+ params: {
224
+ type: Object,
225
+ default: () => ({})
226
+ }
227
+ },
228
+ setup(S) {
229
+ const j = c(() => {
230
+ const _ = Q({
231
+ hintLabel: n,
232
+ modelValue: d,
233
+ valid: i,
234
+ validLabel: l,
235
+ error: v,
236
+ errorLabel: a,
237
+ loading: p,
238
+ loadingLabel: y,
239
+ ...S.params
240
+ });
241
+ return v != null && v.value ? (r == null ? void 0 : r(_)) || O(a == null ? void 0 : a.value) || (n == null ? void 0 : n.value) : i != null && i.value ? (u == null ? void 0 : u(_)) || O(l == null ? void 0 : l.value) || (n == null ? void 0 : n.value) : p != null && p.value ? (o == null ? void 0 : o(_)) || O(y == null ? void 0 : y.value) || (n == null ? void 0 : n.value) : (s == null ? void 0 : s(_)) || O(n == null ? void 0 : n.value) || (n == null ? void 0 : n.value);
242
+ });
217
243
  return {
218
- ...n,
219
- [`${e}--${h.kebabCase(o)}`]: i
244
+ isVisible: m,
245
+ hasErrors: g,
246
+ hasValid: A,
247
+ hintContent: j
220
248
  };
221
- }, r) || {})
249
+ },
250
+ render() {
251
+ if (this.isVisible)
252
+ return P(
253
+ "small",
254
+ {
255
+ role: this.hasErrors || this.hasValid ? "alert" : void 0
256
+ },
257
+ this.hintContent
258
+ );
259
+ }
260
+ }
222
261
  };
223
262
  }
224
- const Y = {
225
- inheritAttrs: !1
226
- }, re = /* @__PURE__ */ F({
227
- ...Y,
228
- __name: "VvRadio",
229
- props: W,
230
- emits: H,
231
- setup(e, { emit: t }) {
232
- const r = e, s = L(), { disabled: n, readonly: o, modelValue: i, valid: a, error: l } = Q(
263
+ const ce = ["for"], fe = ["id", "name", "disabled", "value", "tabindex", "aria-invalid"], de = {
264
+ name: "VvRadio"
265
+ }, ye = /* @__PURE__ */ G({
266
+ ...de,
267
+ props: ue,
268
+ emits: ie,
269
+ setup(t, { emit: e }) {
270
+ const r = t, u = $(), { disabled: s, readonly: o, modelValue: n, valid: d, error: i } = ae(
233
271
  r,
234
- t
235
- ), f = G(), d = c(() => Array.isArray(i.value) ? h.contains(r.value, i.value) : h.equals(r.value, i.value)), { focused: p } = X(f, t), { bemCssClasses: b } = v("vv-input-radio", {
236
- valid: a,
237
- invalid: l
238
- }), { bemCssClasses: C } = v(
239
- "vv-input-radio__input",
240
- {
241
- checked: d,
242
- disabled: n,
243
- readonly: o
272
+ e
273
+ ), l = H(), v = c(
274
+ () => r.id !== void 0 ? String(r.id) : void 0
275
+ ), a = c(() => s.value || o.value), V = c(() => a.value ? -1 : r.tabindex), p = c(() => {
276
+ if (r.error === !0)
277
+ return !0;
278
+ if (r.valid === !0)
279
+ return !1;
280
+ }), y = c(
281
+ () => Array.isArray(n.value) ? X(r.value, n.value) : b(r.value, n.value)
282
+ ), g = c(
283
+ () => ["string", "number", "boolean"].includes(typeof r.value) ? r.value : !0
284
+ ), h = c({
285
+ get() {
286
+ return y.value ? g.value : null;
287
+ },
288
+ set(m) {
289
+ if (Array.isArray(n.value)) {
290
+ n.value = m ? [...n.value, r.value] : Y(r.value, n.value);
291
+ return;
292
+ }
293
+ n.value = r.value, e("change", m);
244
294
  }
245
- ), k = c(() => {
246
- const { class: u } = s;
247
- return {
248
- class: u,
249
- ...b.value
250
- };
251
- }), O = c(() => ({
252
- "focus-visible": p.value,
253
- ...C.value
254
- })), R = c(() => {
255
- const { id: u, name: y, style: m } = s, j = h.pickBy(
256
- s,
257
- (S) => S.startsWith("data-")
258
- );
259
- return {
260
- for: u || y,
261
- style: m,
262
- ...j
263
- };
264
- }), _ = c(() => {
265
- const { id: u = "", name: y = "" } = s;
266
- return {
267
- type: "radio",
268
- id: u || y,
269
- name: y,
270
- value: r.value,
271
- disabled: n.value,
272
- readonly: o.value,
273
- checked: d.value,
274
- ...E.value
275
- };
276
- }), E = c(() => {
277
- const { name: u } = s, y = h.pickBy(
278
- s,
279
- (m) => m.startsWith("aria-")
280
- );
281
- return {
282
- "aria-label": u,
283
- "aria-checked": d.value,
284
- ...y
285
- };
286
- });
287
- function I() {
288
- d.value || t("change", r.value), i.value = r.value;
289
- }
290
- function B(u) {
291
- n.value || (t("click", u), p.value = !0);
292
- }
293
- return (u, y) => ($(), P("label", A({ class: g(k) }, g(R), { onClick: B }), [
294
- Z("input", A({
295
+ }), { bemCssClasses: A } = ee("vv-radio", {
296
+ valid: d,
297
+ invalid: i,
298
+ disabled: s,
299
+ readonly: o
300
+ }), { HintSlot: R } = le(r, u);
301
+ return (m, S) => (N(), T("label", {
302
+ class: M(f(A)),
303
+ for: f(v)
304
+ }, [
305
+ Z(q("input", {
306
+ id: f(v),
295
307
  ref_key: "input",
296
- ref: f,
297
- class: g(O)
298
- }, g(_), { onInput: I }), null, 16),
299
- w(u.$slots, "default", { value: g(i) }, () => [
300
- N(T(u.label), 1)
301
- ])
302
- ], 16));
308
+ ref: l,
309
+ "onUpdate:modelValue": S[0] || (S[0] = (j) => z(h) ? h.value = j : null),
310
+ type: "radio",
311
+ class: "vv-radio__input",
312
+ name: m.name,
313
+ disabled: f(a),
314
+ value: f(g),
315
+ tabindex: f(V),
316
+ "aria-invalid": f(p)
317
+ }, null, 8, fe), [
318
+ [F, f(h)]
319
+ ]),
320
+ U(m.$slots, "default", { value: f(n) }, () => [
321
+ w(J(m.label), 1)
322
+ ]),
323
+ K(f(R), {
324
+ class: "vv-radio__hint",
325
+ params: { value: f(n) }
326
+ }, null, 8, ["params"])
327
+ ], 10, ce));
303
328
  }
304
329
  });
305
330
  export {
306
- re as default
331
+ ye as default
307
332
  };
@@ -1 +1 @@
1
- (function(s,h){typeof exports=="object"&&typeof module<"u"?module.exports=h(require("vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["vue","@vueuse/core"],h):(s=typeof globalThis<"u"?globalThis:s||self,s.VvRadio=h(s.vue,s.core))})(this,function(s,h){"use strict";const d={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),o=Array.isArray(t);let n,i,a;if(r&&o){if(i=e.length,i!=t.length)return!1;for(n=i;n--!==0;)if(!this.deepEquals(e[n],t[n]))return!1;return!0}if(r!=o)return!1;const l=e instanceof Date,c=t instanceof Date;if(l!=c)return!1;if(l&&c)return e.getTime()==t.getTime();const f=e instanceof RegExp,y=t instanceof RegExp;if(f!=y)return!1;if(f&&y)return e.toString()==t.toString();const m=Object.keys(e);if(i=m.length,i!==Object.keys(t).length)return!1;for(n=i;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,m[n]))return!1;for(n=i;n--!==0;)if(a=m[n],!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 o=e;for(let n=0,i=r.length;n<i;++n){if(e==null)return null;o=o[r[n]]}return o}}else return null},isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},findIndexInList(e,t){let r=-1;if(t){for(let o=0;o<t.length;o++)if(this.equals(t[o],e)){r=o;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((o,n)=>n!==r):t},isString(e){return typeof e=="string"||e instanceof String},propsToObject(e){return Object.keys(e).reduce((t,r)=>{var o,n,i,a,l;return this.isFunction(e[r])?t[r]=e[r]():Array.isArray(e[r])?t[r]=e[r][0]():(o=e[r])!=null&&o.type&&(Array.isArray(e[r].type)?t[r]=((n=e[r])==null?void 0:n.default)||((i=e[r])==null?void 0:i.type[0]()):t[r]=((a=e[r])==null?void 0:a.default)||((l=e[r])==null?void 0:l.type())),t},{})},filterArray(e,t,r){return e.filter(o=>t.some(n=>typeof n=="string"?o[r]==n:this.equals(o[r],n[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()}},b={...{valid:Boolean,validLabel:[String,Array]},...{error:Boolean,errorLabel:[String,Array]},value:null,modelValue:{type:[Object,Number,Boolean,String]},label:{type:String,default:""},disabled:Boolean,readonly:Boolean},C=["click","update:modelValue","change","focus","blur"];function k(e){const t=s.inject(e,void 0),r=s.computed(()=>d.isNotEmpty(t));function o(n,i,a){if(t!=null&&t.value){const l=s.unref(t.value)[n];return s.computed({get(){return l==null?void 0:l.value},set(c){l.value=c}})}else{const l=s.toRef(i,n);return s.computed({get(){return l.value},set(c){a&&a(`update:${n}`,c)}})}}return{group:t,isInGroup:r,getGroupOrLocalRef:o}}const O=Symbol("VV_RADIO_GROUP");function _(e,t){const{group:r,isInGroup:o,getGroupOrLocalRef:n}=k(O),{valid:i,error:a}=s.toRefs(e),l=n("modelValue",e,t),c=n("readonly",e),f=n("disabled",e);return{group:r,isInGroup:o,valid:i,error:a,modelValue:l,readonly:c,disabled:f}}function R(e,t){const{focused:r}=h.useFocus(e);return s.watch(r,o=>{t(o?"focus":"blur",e.value)}),{focused:r}}function A(e,t){const r={[`${e}`]:!0};return{bemCssClasses:s.computed(()=>Object.keys(t).reduce((n,i)=>{const a=s.unref(t[i])||!1;if(!a)return n;if(i==="modifiers"){const l=Array.isArray(a)?a:[a];return{...n,...l.reduce((c,f)=>({...c,[`${e}--${d.kebabCase(f)}`]:!0}),{})}}else return{...n,[`${e}--${d.kebabCase(i)}`]:a}},r)||{})}}const E={inheritAttrs:!1};return s.defineComponent({...E,__name:"VvRadio",props:b,emits:C,setup(e,{emit:t}){const r=e,o=s.useAttrs(),{disabled:n,readonly:i,modelValue:a,valid:l,error:c}=_(r,t),f=s.ref(),y=s.computed(()=>Array.isArray(a.value)?d.contains(r.value,a.value):d.equals(r.value,a.value)),{focused:m}=R(f,t),{bemCssClasses:I}=A("vv-input-radio",{valid:l,invalid:c}),{bemCssClasses:j}=A("vv-input-radio__input",{checked:y,disabled:n,readonly:i}),B=s.computed(()=>{const{class:u}=o;return{class:u,...I.value}}),S=s.computed(()=>({"focus-visible":m.value,...j.value})),V=s.computed(()=>{const{id:u,name:p,style:g}=o,F=d.pickBy(o,L=>L.startsWith("data-"));return{for:u||p,style:g,...F}}),q=s.computed(()=>{const{id:u="",name:p=""}=o;return{type:"radio",id:u||p,name:p,value:r.value,disabled:n.value,readonly:i.value,checked:y.value,...x.value}}),x=s.computed(()=>{const{name:u}=o,p=d.pickBy(o,g=>g.startsWith("aria-"));return{"aria-label":u,"aria-checked":y.value,...p}});function D(){y.value||t("change",r.value),a.value=r.value}function P(u){n.value||(t("click",u),m.value=!0)}return(u,p)=>(s.openBlock(),s.createElementBlock("label",s.mergeProps({class:s.unref(B)},s.unref(V),{onClick:P}),[s.createElementVNode("input",s.mergeProps({ref_key:"input",ref:f,class:s.unref(S)},s.unref(q),{onInput:D}),null,16),s.renderSlot(u.$slots,"default",{value:s.unref(a)},()=>[s.createTextVNode(s.toDisplayString(u.label),1)])],16))}})});
1
+ (function(r,h){typeof exports=="object"&&typeof module<"u"?module.exports=h(require("vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["vue","@vueuse/core"],h):(r=typeof globalThis<"u"?globalThis:r||self,r.VvRadio=h(r.vue,r.core))})(this,function(r,h){"use strict";function C(t,e,n){return n?V(t,n)===V(e,n):k(t,e)}function k(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){const n=Array.isArray(t),u=Array.isArray(e);let s,i,o;if(n&&u){if(i=t.length,i!=e.length)return!1;for(s=i;s--!==0;)if(!k(t[s],e[s]))return!1;return!0}if(n!=u)return!1;const f=t instanceof Date,a=e instanceof Date;if(f!=a)return!1;if(f&&a)return t.getTime()==e.getTime();const c=t instanceof RegExp,d=e instanceof RegExp;if(c!=d)return!1;if(c&&d)return t.toString()==e.toString();const l=Object.keys(t);if(i=l.length,i!==Object.keys(e).length)return!1;for(s=i;s--!==0;)if(!Object.prototype.hasOwnProperty.call(e,l[s]))return!1;for(s=i;s--!==0;)if(o=l[s],!k(t[o],e[o]))return!1;return!0}return t!==t&&e!==e}function V(t,e){if(t&&Object.keys(t).length&&e){if(e.indexOf(".")===-1)return t[e];{const n=e.split(".");let u=t;for(let s=0,i=n.length;s<i;++s){if(t==null)return null;u=u[n[s]]}return u}}else return null}function E(t,e){let n=-1;if(e){for(let u=0;u<e.length;u++)if(C(e[u],t)){n=u;break}}return n}function D(t,e){if(t!=null&&e&&e.length){for(const n of e)if(C(t,n))return!0}return!1}function x(t){return(e=>e==null||e===""||Array.isArray(e)&&e.length===0||!(e instanceof Date)&&typeof e=="object"&&Object.keys(e).length===0)(r.unref(t))}function I(t,e){const n=E(t,e);return n>-1?e.filter((u,s)=>s!==n):e}function P(t){return typeof t=="string"||t instanceof String}function B(t){var e,n;if(t)return(n=(e=t.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:e.join("-"))==null?void 0:n.toLowerCase()}function G(t,e){const n={[`${t}`]:!0};return{bemCssClasses:r.computed(()=>Object.keys(e).reduce((s,i)=>{const o=r.unref(e[i])||!1;if(!o)return s;if(i==="modifiers"){const f=Array.isArray(o)?o:o.split(" ");return{...s,...f.reduce((a,c)=>({...a,[`${t}--${B(c)}`]:!0}),{})}}else return{...s,[`${t}--${B(i)}`]:o}},n)||{})}}const T={valid:Boolean,validLabel:[String,Array]},$={error:Boolean,errorLabel:[String,Array]},H={hintLabel:{type:String,default:""}};function q(t){const e=r.inject(t,void 0),n=r.computed(()=>!x(e));function u(s,i,o){if(e!=null&&e.value){const a=r.unref(e.value)[s];return r.computed({get(){return a==null?void 0:a.value},set(c){a.value=c}})}const f=r.toRef(i,s);return r.computed({get(){return f.value},set(a){o&&o(`update:${s}`,a)}})}return{group:e,isInGroup:n,getGroupOrLocalRef:u}}const N="VV_RADIO_GROUP",M={...T,...$,...H,id:[String,Number],name:{type:String,required:!0},value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String],label:String,disabled:Boolean,readonly:Boolean,tabindex:{type:[String,Number],default:0}},Z=["click","update:modelValue","change","blur"];function z(t,e){const{group:n,isInGroup:u,getGroupOrLocalRef:s}=q(N),{valid:i,error:o}=r.toRefs(t),f=s("modelValue",t,e),a=s("readonly",t),c=s("disabled",t);return{valid:i,error:o,group:n,isInGroup:u,modelValue:f,readonly:a,disabled:c}}function R(t){return Array.isArray(t)?t.filter(e=>P(e)).join(" "):t}function F(t,e){const{error:n,valid:u,hint:s,loading:i}=e,{hintLabel:o,modelValue:f,valid:a,validLabel:c,error:d,errorLabel:l,..._}=r.toRefs(t),p=V(_,"loading"),m=V(_,"loadingLabel"),g=r.computed(()=>d.value?!!(d.value&&n||l!=null&&l.value&&Array.isArray(l.value)&&l.value.length>0||l!=null&&l.value&&!x(l)):!1),v=r.computed(()=>!!(o&&o.value||s)),A=r.computed(()=>!!(c&&c.value||u)),S=r.computed(()=>!!(p!=null&&p.value&&i||p!=null&&p.value&&(m!=null&&m.value))),y=r.computed(()=>v.value||A||g.value||S.value);return{hasErrors:g,hasHint:v,hasValid:A,hasLoading:S,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(O){const b=r.computed(()=>{const j=h.toReactive({hintLabel:o,modelValue:f,valid:a,validLabel:c,error:d,errorLabel:l,loading:p,loadingLabel:m,...O.params});return d!=null&&d.value?(n==null?void 0:n(j))||R(l==null?void 0:l.value)||(o==null?void 0:o.value):a!=null&&a.value?(u==null?void 0:u(j))||R(c==null?void 0:c.value)||(o==null?void 0:o.value):p!=null&&p.value?(i==null?void 0:i(j))||R(m==null?void 0:m.value)||(o==null?void 0:o.value):(s==null?void 0:s(j))||R(o==null?void 0:o.value)||(o==null?void 0:o.value)});return{isVisible:y,hasErrors:g,hasValid:A,hintContent:b}},render(){if(this.isVisible)return r.h("small",{role:this.hasErrors||this.hasValid?"alert":void 0},this.hintContent)}}}}const U=["for"],w=["id","name","disabled","value","tabindex","aria-invalid"],J={name:"VvRadio"};return r.defineComponent({...J,props:M,emits:Z,setup(t,{emit:e}){const n=t,u=r.useSlots(),{disabled:s,readonly:i,modelValue:o,valid:f,error:a}=z(n,e),c=r.ref(),d=r.computed(()=>n.id!==void 0?String(n.id):void 0),l=r.computed(()=>s.value||i.value),_=r.computed(()=>l.value?-1:n.tabindex),p=r.computed(()=>{if(n.error===!0)return!0;if(n.valid===!0)return!1}),m=r.computed(()=>Array.isArray(o.value)?D(n.value,o.value):C(n.value,o.value)),g=r.computed(()=>["string","number","boolean"].includes(typeof n.value)?n.value:!0),v=r.computed({get(){return m.value?g.value:null},set(y){if(Array.isArray(o.value)){o.value=y?[...o.value,n.value]:I(n.value,o.value);return}o.value=n.value,e("change",y)}}),{bemCssClasses:A}=G("vv-radio",{valid:f,invalid:a,disabled:s,readonly:i}),{HintSlot:S}=F(n,u);return(y,O)=>(r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass(r.unref(A)),for:r.unref(d)},[r.withDirectives(r.createElementVNode("input",{id:r.unref(d),ref_key:"input",ref:c,"onUpdate:modelValue":O[0]||(O[0]=b=>r.isRef(v)?v.value=b:null),type:"radio",class:"vv-radio__input",name:y.name,disabled:r.unref(l),value:r.unref(g),tabindex:r.unref(_),"aria-invalid":r.unref(p)},null,8,w),[[r.vModelRadio,r.unref(v)]]),r.renderSlot(y.$slots,"default",{value:r.unref(o)},()=>[r.createTextVNode(r.toDisplayString(y.label),1)]),r.createVNode(r.unref(S),{class:"vv-radio__hint",params:{value:r.unref(o)}},null,8,["params"])],10,U))}})});