@volverjs/ui-vue 0.0.1-beta.12 → 0.0.1-beta.17

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 (432) hide show
  1. package/README.md +1 -1
  2. package/bin/icons.cjs +73 -0
  3. package/bin/icons.js +75 -0
  4. package/dist/Volver.d.ts +15 -2
  5. package/dist/components/VvAccordion/VvAccordion.es.js +133 -236
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +32 -97
  8. package/dist/components/VvAccordion/index.d.ts +46 -0
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +199 -277
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +44 -151
  12. package/dist/components/VvAccordionGroup/{VvAccordionGroup.d.ts → index.d.ts} +9 -13
  13. package/dist/components/VvBadge/VvBadge.es.js +42 -151
  14. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  15. package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -53
  16. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +0 -0
  17. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +55 -168
  18. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  19. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +24 -104
  20. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +1 -1
  21. package/dist/components/VvButton/VvButton.es.js +298 -312
  22. package/dist/components/VvButton/VvButton.umd.js +1 -1
  23. package/dist/components/VvButton/VvButton.vue.d.ts +91 -163
  24. package/dist/components/VvButton/{VvButton.d.ts → index.d.ts} +46 -9
  25. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +59 -172
  26. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  27. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +30 -125
  28. package/dist/components/VvButtonGroup/{VvButtonGroup.d.ts → index.d.ts} +0 -0
  29. package/dist/components/VvCard/VvCard.es.js +55 -166
  30. package/dist/components/VvCard/VvCard.umd.js +1 -1
  31. package/dist/components/VvCard/VvCard.vue.d.ts +16 -61
  32. package/dist/components/VvCard/{VvCard.d.ts → index.d.ts} +1 -1
  33. package/dist/components/VvCheckbox/VvCheckbox.es.js +344 -0
  34. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -0
  35. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +87 -0
  36. package/dist/components/VvCheckbox/index.d.ts +86 -0
  37. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +415 -0
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -0
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +113 -0
  40. package/dist/components/{VvCheckGroup/VvCheckGroup.d.ts → VvCheckboxGroup/index.d.ts} +10 -10
  41. package/dist/components/VvDialog/VvDialog.es.js +108 -230
  42. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  43. package/dist/components/VvDialog/VvDialog.vue.d.ts +28 -132
  44. package/dist/components/VvDialog/{VvDialog.d.ts → index.d.ts} +2 -6
  45. package/dist/components/VvDropdown/VvDropdown.es.js +167 -186
  46. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  47. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +34 -136
  48. package/dist/components/VvDropdown/{VvDropdown.d.ts → index.d.ts} +7 -3
  49. package/dist/components/VvIcon/VvIcon.es.js +62 -174
  50. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  51. package/dist/components/VvIcon/VvIcon.vue.d.ts +36 -150
  52. package/dist/components/VvIcon/{VvIcon.d.ts → index.d.ts} +9 -0
  53. package/dist/components/VvInputText/VvInputClearAction.d.ts +36 -0
  54. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +56 -0
  55. package/dist/components/VvInputText/VvInputStepAction.d.ts +37 -0
  56. package/dist/components/VvInputText/VvInputText.es.js +586 -577
  57. package/dist/components/VvInputText/VvInputText.umd.js +1 -2
  58. package/dist/components/VvInputText/VvInputText.vue.d.ts +187 -275
  59. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  60. package/dist/components/VvInputText/index.d.ts +175 -0
  61. package/dist/components/VvNativeSelect/VvNativeSelect.es.js +299 -347
  62. package/dist/components/VvNativeSelect/VvNativeSelect.umd.js +1 -2
  63. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +78 -190
  64. package/dist/components/VvNativeSelect/{VvNativeSelect.d.ts → index.d.ts} +35 -8
  65. package/dist/components/VvProgress/VvProgress.es.js +45 -162
  66. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  67. package/dist/components/VvProgress/VvProgress.vue.d.ts +17 -103
  68. package/dist/components/VvProgress/{VvProgress.d.ts → index.d.ts} +1 -7
  69. package/dist/components/VvRadio/VvRadio.es.js +292 -267
  70. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  71. package/dist/components/VvRadio/VvRadio.vue.d.ts +52 -122
  72. package/dist/components/VvRadio/index.d.ts +64 -0
  73. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +342 -380
  74. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -2
  75. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +58 -213
  76. package/dist/components/VvRadioGroup/{VvRadioGroup.d.ts → index.d.ts} +2 -2
  77. package/dist/components/VvSelect/VvSelect.es.js +556 -510
  78. package/dist/components/VvSelect/VvSelect.umd.js +1 -2
  79. package/dist/components/VvSelect/VvSelect.vue.d.ts +75 -240
  80. package/dist/components/VvSelect/{VvSelect.d.ts → index.d.ts} +12 -5
  81. package/dist/components/VvTextarea/VvTextarea.es.js +372 -481
  82. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -2
  83. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +103 -299
  84. package/dist/components/VvTextarea/{VvTextarea.d.ts → index.d.ts} +36 -13
  85. package/dist/components/common/HintSlot.d.ts +10 -4
  86. package/dist/components/index.d.ts +13 -6
  87. package/dist/components/index.es.js +2070 -895
  88. package/dist/components/index.umd.js +1 -2
  89. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +2 -2
  90. package/dist/composables/focus/useComponentFocus.d.ts +3 -3
  91. package/dist/composables/group/types/IAccordionGroupState.d.ts +1 -3
  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 +2113 -932
  102. package/dist/index.umd.js +1 -2
  103. package/dist/props/index.d.ts +9 -3
  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 +103 -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 +14 -10
  134. package/src/components/VvBadge/{VvBadge.ts → index.ts} +0 -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 +123 -113
  138. package/src/components/VvButton/index.ts +147 -0
  139. package/src/components/VvButtonGroup/VvButtonGroup.vue +21 -17
  140. package/src/components/VvButtonGroup/{VvButtonGroup.ts → index.ts} +0 -0
  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 +90 -69
  168. package/src/components/VvSelect/{VvSelect.ts → index.ts} +12 -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/IGroupState.ts +2 -2
  177. package/src/composables/group/useInjectedGroupState.ts +20 -30
  178. package/src/composables/group/useProvideGroupState.ts +1 -2
  179. package/src/composables/icons/useComponentIcons.ts +2 -3
  180. package/src/composables/options/useOptions.ts +3 -0
  181. package/src/composables/textLimit/useTextLimit.ts +1 -4
  182. package/src/composables/useModifiers.ts +13 -15
  183. package/src/constants.ts +5 -7
  184. package/src/directives/{.README → .gitkeep} +0 -0
  185. package/src/icons.ts +7 -0
  186. package/src/index.ts +0 -1
  187. package/src/props/index.ts +7 -1
  188. package/src/resolvers/unplugin.ts +103 -0
  189. package/src/shims.d.ts +11 -0
  190. package/src/stories/Accordion/Accordion.stories.mdx +10 -9
  191. package/src/stories/Accordion/Accordion.test.ts +37 -0
  192. package/src/stories/Accordion/AccordionSlots.stories.mdx +40 -25
  193. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +10 -16
  194. package/src/stories/AccordionGroup/{accordionGroupTest.js → AccordionGroup.test.js} +15 -17
  195. package/src/stories/AccordionGroup/AccordionGroupCollapse.stories.mdx +38 -0
  196. package/src/stories/AccordionGroup/{AccordionItems.stories.mdx → AccordionGroupItems.stories.mdx} +7 -13
  197. package/src/stories/Badge/Badge.stories.mdx +8 -8
  198. package/src/stories/Badge/Badge.test.ts +16 -0
  199. package/src/stories/Badge/BadgeColor.stories.mdx +6 -7
  200. package/src/stories/Badge/BadgeDot.stories.mdx +4 -3
  201. package/src/stories/Badge/BadgeModifiers.stories.mdx +7 -6
  202. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +15 -7
  203. package/src/stories/Breadcrumb/Breadcrumb.test.ts +49 -0
  204. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +15 -7
  205. package/src/stories/Button/Button.stories.mdx +16 -17
  206. package/src/stories/Button/Button.test.ts +8 -12
  207. package/src/stories/Button/ButtonActive.stories.mdx +2 -1
  208. package/src/stories/Button/ButtonBadge.stories.mdx +2 -2
  209. package/src/stories/Button/ButtonDisabled.stories.mdx +1 -1
  210. package/src/stories/Button/ButtonIcon.stories.mdx +6 -3
  211. package/src/stories/Button/ButtonIconPosition.stories.mdx +1 -1
  212. package/src/stories/Button/ButtonLink.stories.mdx +1 -19
  213. package/src/stories/Button/ButtonLoading.stories.mdx +4 -4
  214. package/src/stories/Button/ButtonModifiers.stories.mdx +1 -1
  215. package/src/stories/Button/ButtonPressed.stories.mdx +31 -0
  216. package/src/stories/Button/ButtonSlots.stories.mdx +1 -1
  217. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +5 -6
  218. package/src/stories/ButtonGroup/{ButtonGroupTest.js → ButtonGroup.test.js} +6 -28
  219. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +5 -6
  220. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +3 -4
  221. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +3 -4
  222. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +3 -4
  223. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +3 -4
  224. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +11 -12
  225. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +3 -4
  226. package/src/stories/Card/Card.stories.mdx +7 -5
  227. package/src/stories/Card/Card.test.ts +26 -0
  228. package/src/stories/Card/CardSlots.stories.mdx +5 -5
  229. package/src/stories/Card/CardVariant.stories.mdx +5 -4
  230. package/src/stories/Checkbox/Checkbox.stories.mdx +51 -0
  231. package/src/stories/Checkbox/Checkbox.test.js +115 -0
  232. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +76 -0
  233. package/src/stories/{Check/CheckDisabled.stories.mdx → Checkbox/CheckboxDisabled.stories.mdx} +7 -7
  234. package/src/stories/Checkbox/CheckboxError.stories.mdx +43 -0
  235. package/src/stories/Checkbox/CheckboxHintLabel.stories.mdx +35 -0
  236. package/src/stories/{Check/CheckReadonly.stories.mdx → Checkbox/CheckboxReadonly.stories.mdx} +6 -8
  237. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +69 -0
  238. package/src/stories/{Check/CheckSwitch.stories.mdx → Checkbox/CheckboxSwitch.stories.mdx} +8 -8
  239. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +69 -0
  240. package/src/stories/CheckboxGroup/CheckboxGroupDisabled.stories.mdx +26 -0
  241. package/src/stories/CheckboxGroup/CheckboxGroupError.stories.mdx +28 -0
  242. package/src/stories/CheckboxGroup/CheckboxGroupHintLabel.stories.mdx +27 -0
  243. package/src/stories/CheckboxGroup/CheckboxGroupLabel.stories.mdx +26 -0
  244. package/src/stories/{CheckGroup/CheckGroupOptionLabel.stories.mdx → CheckboxGroup/CheckboxGroupOptionLabel.stories.mdx} +14 -11
  245. package/src/stories/{CheckGroup/CheckGroupOptionValue.stories.mdx → CheckboxGroup/CheckboxGroupOptionValue.stories.mdx} +13 -10
  246. package/src/stories/{CheckGroup/CheckGroupOptions.stories.mdx → CheckboxGroup/CheckboxGroupOptions.stories.mdx} +8 -8
  247. package/src/stories/CheckboxGroup/CheckboxGroupReadonly.stories.mdx +26 -0
  248. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +152 -0
  249. package/src/stories/CheckboxGroup/CheckboxGroupValid.stories.mdx +28 -0
  250. package/src/stories/CheckboxGroup/CheckboxGroupVertical.stories.mdx +26 -0
  251. package/src/stories/Dialog/Dialog.stories.mdx +5 -5
  252. package/src/stories/Dialog/Dialog.test.ts +26 -0
  253. package/src/stories/Dialog/DialogAutoClose.stories.mdx +1 -1
  254. package/src/stories/Dialog/DialogSize.stories.mdx +1 -1
  255. package/src/stories/Dropdown/Dropdown.stories.mdx +11 -7
  256. package/src/stories/Dropdown/Dropdown.test.ts +80 -0
  257. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +9 -2
  258. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +2 -2
  259. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +4 -2
  260. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +4 -2
  261. package/src/stories/Dropdown/DropdownOptions.stories.mdx +4 -4
  262. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +4 -2
  263. package/src/stories/Icon/Icon.stories.mdx +8 -8
  264. package/src/stories/Icon/{IconTest.js → Icon.test.js} +2 -5
  265. package/src/stories/Icon/IconList.vue +5 -6
  266. package/src/stories/Icon/IconPrefix.stories.mdx +2 -2
  267. package/src/stories/Icon/IconRemote.stories.mdx +2 -2
  268. package/src/stories/Icon/IconsList.stories.mdx +2 -18
  269. package/src/stories/InputText/InputText.stories.mdx +25 -19
  270. package/src/stories/InputText/InputText.test.ts +156 -0
  271. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +9 -2
  272. package/src/stories/InputText/InputTextAutofocus.stories.mdx +6 -3
  273. package/src/stories/InputText/InputTextDisabled.stories.mdx +10 -2
  274. package/src/stories/InputText/InputTextError.stories.mdx +10 -2
  275. package/src/stories/InputText/InputTextFloating.stories.mdx +10 -3
  276. package/src/stories/InputText/InputTextHintLabel.stories.mdx +10 -2
  277. package/src/stories/InputText/InputTextIcon.stories.mdx +6 -2
  278. package/src/stories/InputText/InputTextIconPosition.stories.mdx +10 -3
  279. package/src/stories/InputText/InputTextLabel.stories.mdx +8 -2
  280. package/src/stories/InputText/InputTextLoading.stories.mdx +10 -2
  281. package/src/stories/InputText/InputTextMax.stories.mdx +10 -3
  282. package/src/stories/InputText/InputTextMaxLength.stories.mdx +22 -5
  283. package/src/stories/InputText/InputTextMin.stories.mdx +10 -3
  284. package/src/stories/InputText/InputTextMinLength.stories.mdx +9 -2
  285. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +8 -2
  286. package/src/stories/InputText/InputTextReadonly.stories.mdx +6 -2
  287. package/src/stories/InputText/InputTextSlots.stories.mdx +4 -5
  288. package/src/stories/InputText/InputTextStep.stories.mdx +9 -3
  289. package/src/stories/InputText/InputTextType.stories.mdx +110 -13
  290. package/src/stories/InputText/InputTextValid.stories.mdx +10 -2
  291. package/src/stories/NativeSelect/NativeSelect.stories.mdx +15 -11
  292. package/src/stories/NativeSelect/NativeSelect.test.js +151 -0
  293. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +6 -7
  294. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +7 -3
  295. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +7 -3
  296. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +14 -12
  297. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +7 -3
  298. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +44 -38
  299. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +19 -11
  300. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +26 -30
  301. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +7 -3
  302. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +30 -30
  303. package/src/stories/Progress/Progress.stories.mdx +8 -11
  304. package/src/stories/Progress/{ProgressTest.js → Progress.test.js} +4 -10
  305. package/src/stories/Progress/ProgressDeterminate.stories.mdx +3 -6
  306. package/src/stories/Radio/Radio.stories.mdx +11 -17
  307. package/src/stories/Radio/Radio.test.ts +52 -0
  308. package/src/stories/Radio/RadioDisabled.stories.mdx +4 -7
  309. package/src/stories/Radio/RadioError.stories.mdx +8 -28
  310. package/src/stories/Radio/RadioHintLabel.stories.mdx +6 -7
  311. package/src/stories/Radio/RadioSlots.stories.mdx +21 -7
  312. package/src/stories/RadioGroup/RadioGroup.stories.mdx +20 -27
  313. package/src/stories/RadioGroup/RadioGroup.test.ts +139 -0
  314. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +6 -8
  315. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +9 -11
  316. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +8 -10
  317. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +6 -8
  318. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +11 -13
  319. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +9 -11
  320. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +7 -9
  321. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +6 -8
  322. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +39 -62
  323. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +9 -11
  324. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +6 -8
  325. package/src/stories/Select/Select.stories.mdx +32 -29
  326. package/src/stories/Select/Select.test.ts +104 -0
  327. package/src/stories/Select/SelectDisabled.stories.mdx +3 -3
  328. package/src/stories/Select/SelectMaxValues.stories.mdx +3 -3
  329. package/src/stories/Select/SelectMultiple.stories.mdx +5 -6
  330. package/src/stories/Select/SelectNative.stories.mdx +6 -8
  331. package/src/stories/Select/SelectOptions.stories.mdx +4 -4
  332. package/src/stories/Select/SelectSearchable.stories.mdx +13 -12
  333. package/src/stories/Select/SelectSeparator.stories.mdx +3 -3
  334. package/src/stories/Select/SelectUseObject.stories.mdx +3 -3
  335. package/src/stories/Textarea/Textarea.stories.mdx +6 -10
  336. package/src/stories/Textarea/Textarea.test.ts +204 -0
  337. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +3 -2
  338. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +3 -2
  339. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +3 -2
  340. package/src/stories/Textarea/TextareaDebounce.stories.mdx +7 -6
  341. package/src/stories/Textarea/TextareaDisabled.stories.mdx +9 -3
  342. package/src/stories/Textarea/TextareaError.stories.mdx +7 -2
  343. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +12 -2
  344. package/src/stories/Textarea/TextareaFloating.stories.mdx +7 -2
  345. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +7 -2
  346. package/src/stories/Textarea/TextareaIcon.stories.mdx +3 -2
  347. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +4 -2
  348. package/src/stories/Textarea/TextareaId.stories.mdx +3 -2
  349. package/src/stories/Textarea/TextareaLabel.stories.mdx +3 -2
  350. package/src/stories/Textarea/TextareaLimit.stories.mdx +5 -2
  351. package/src/stories/Textarea/TextareaLoading.stories.mdx +7 -2
  352. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +9 -3
  353. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +5 -4
  354. package/src/stories/Textarea/TextareaMinLength.stories.mdx +3 -2
  355. package/src/stories/Textarea/TextareaModifiers.stories.mdx +10 -2
  356. package/src/stories/Textarea/TextareaName.stories.mdx +3 -2
  357. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +4 -3
  358. package/src/stories/Textarea/TextareaReadonly.stories.mdx +8 -3
  359. package/src/stories/Textarea/TextareaRequired.stories.mdx +3 -2
  360. package/src/stories/Textarea/TextareaResizable.stories.mdx +7 -2
  361. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +4 -2
  362. package/src/stories/Textarea/TextareaSlots.stories.mdx +7 -8
  363. package/src/stories/Textarea/TextareaValid.stories.mdx +7 -1
  364. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +14 -4
  365. package/src/stories/utils.ts +1 -1
  366. package/src/stories/volver-ui-vue.stories.mdx +1 -1
  367. package/src/test/expect.ts +3 -1
  368. package/src/test/sleep.ts +2 -0
  369. package/src/test/types.d.ts +14 -1
  370. package/src/types/{.README → .gitkeep} +0 -0
  371. package/src/utils/ObjectUtilities.ts +247 -241
  372. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  373. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  374. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -18
  375. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  376. package/dist/components/VvCheck/VvCheck.es.js +0 -318
  377. package/dist/components/VvCheck/VvCheck.umd.js +0 -1
  378. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  379. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  380. package/dist/components/VvCheckGroup/VvCheckGroup.es.js +0 -451
  381. package/dist/components/VvCheckGroup/VvCheckGroup.umd.js +0 -2
  382. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  383. package/dist/components/VvDialog/constants.d.ts +0 -5
  384. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  385. package/dist/components/VvInputText/constants.d.ts +0 -55
  386. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  387. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  388. package/dist/components/VvTextarea/constants.d.ts +0 -19
  389. package/dist/stories/RadioGroup/RadioOption.test.d.ts +0 -4
  390. package/dist/stories/RadioGroup/RadioProperty.test.d.ts +0 -12
  391. package/dist/stories/RadioGroup/RadioSlots.test.d.ts +0 -6
  392. package/src/assets/icons/index.js +0 -7
  393. package/src/components/VvAccordion/VvAccordion.ts +0 -34
  394. package/src/components/VvAccordion/useAccordionProps.ts +0 -45
  395. package/src/components/VvButton/VvButton.ts +0 -87
  396. package/src/components/VvButton/useButtonGroupProps.ts +0 -43
  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/ButtonSelected.stories.mdx +0 -30
  413. package/src/stories/Check/Check.stories.mdx +0 -62
  414. package/src/stories/Check/CheckBinary.stories.mdx +0 -75
  415. package/src/stories/Check/CheckError.stories.mdx +0 -64
  416. package/src/stories/Check/CheckErrorTests.js +0 -74
  417. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  418. package/src/stories/Check/CheckPropertyTest.js +0 -102
  419. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  420. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  421. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  422. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  423. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  424. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  425. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  426. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  427. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  428. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  429. package/src/stories/RadioGroup/RadioOption.test.ts +0 -45
  430. package/src/stories/RadioGroup/RadioProperty.test.ts +0 -87
  431. package/src/stories/RadioGroup/RadioSlots.test.ts +0 -29
  432. package/src/stories/stories.scss +0 -13
@@ -1,7 +1,14 @@
1
+ import {
2
+ type Component,
3
+ type ExtractPropTypes,
4
+ type Slots,
5
+ type Ref,
6
+ computed,
7
+ toRefs,
8
+ h
9
+ } from 'vue'
1
10
  import { toReactive } from '@vueuse/core'
2
- import { h, type Component, type ExtractPropTypes, type Slots } from 'vue'
3
- import { computed, toRefs } from 'vue'
4
- import ObjectUtilities from '../../utils/ObjectUtilities'
11
+ import { isString, resolveFieldData, isEmpty } from '@/utils/ObjectUtilities'
5
12
 
6
13
  /**
7
14
  * Merge errors from Array<string> to string errors separated from new line (\n)
@@ -9,14 +16,10 @@ import ObjectUtilities from '../../utils/ObjectUtilities'
9
16
  * @returns {string}
10
17
  */
11
18
  function joinLines(errors: Array<string> | string | unknown[] | undefined) {
12
- if (Array.isArray(errors))
13
- return errors
14
- .filter((e) => ObjectUtilities.isString(e))
15
- .reduce((prevVal, currVal) => {
16
- if (prevVal.length > 0) return prevVal + '\n' + currVal
17
- return currVal
18
- }, '')
19
- else return errors
19
+ if (Array.isArray(errors)) {
20
+ return errors.filter((e) => isString(e)).join(' ')
21
+ }
22
+ return errors
20
23
  }
21
24
 
22
25
  interface HintSlotProps {
@@ -39,146 +42,164 @@ interface HintSlotPropsWithLoading extends HintSlotProps {
39
42
 
40
43
  /**
41
44
  * Return a vue component (HintSlot) to render and manage hint, errors, valid, loading state and messages
42
- * @param {Readonly<ExtractPropTypes<HintSlotProps | HintSlotPropsWithLoading>>} pProps vue props
43
- * @param {Slots} pSlots vue slots
45
+ * @param {Readonly<ExtractPropTypes<HintSlotProps | HintSlotPropsWithLoading>>} parentProps vue props
46
+ * @param {Slots} parentSlots vue slots
44
47
  * @returns {Component} vue component
45
48
  */
46
49
  export function HintSlotFactory(
47
- pProps: Readonly<
50
+ parentProps: Readonly<
48
51
  ExtractPropTypes<HintSlotProps | HintSlotPropsWithLoading>
49
52
  >,
50
- pSlots: Slots
51
- ): Component {
52
- return {
53
- name: 'HintSlot',
54
- props: {
55
- params: {
56
- type: Object,
57
- default: () => {
58
- return {}
59
- }
60
- }
61
- },
62
- setup(hProps) {
63
- const props = toRefs(pProps)
64
-
65
- //Slots
66
- const {
67
- error: errorSlot,
68
- valid: validSlot,
69
- hint: hintSlot,
70
- loading: loadingSlot
71
- } = pSlots
72
-
73
- //Props hint + errors
74
- const {
75
- hintLabel,
76
- modelValue,
77
- valid,
78
- validLabel,
79
- error,
80
- errorLabel
81
- } = props
82
- const loading = ObjectUtilities.resolveFieldData(props, 'loading')
83
- const loadingLabel = ObjectUtilities.resolveFieldData(
84
- props,
85
- 'loadingLabel'
53
+ parentSlots: Slots
54
+ ): {
55
+ HintSlot: Component
56
+ hasHint: Ref<boolean>
57
+ hasErrors: Ref<boolean>
58
+ hasValid: Ref<boolean>
59
+ hasLoading: Ref<boolean>
60
+ } {
61
+ // slots
62
+ const {
63
+ error: errorSlot,
64
+ valid: validSlot,
65
+ hint: hintSlot,
66
+ loading: loadingSlot
67
+ } = parentSlots
68
+
69
+ // props
70
+ const {
71
+ hintLabel,
72
+ modelValue,
73
+ valid,
74
+ validLabel,
75
+ error,
76
+ errorLabel,
77
+ ...otherProps
78
+ } = toRefs(parentProps)
79
+
80
+ const loading = resolveFieldData(otherProps, 'loading') as
81
+ | Ref<boolean>
82
+ | undefined
83
+ const loadingLabel = resolveFieldData(otherProps, 'loadingLabel') as
84
+ | Ref<string>
85
+ | undefined
86
+
87
+ const hasErrors = computed(() => {
88
+ if (!error.value) {
89
+ return false
90
+ }
91
+ if (error.value && errorSlot) {
92
+ return true
93
+ }
94
+ if (
95
+ errorLabel?.value &&
96
+ Array.isArray(errorLabel.value) &&
97
+ errorLabel.value.length > 0
98
+ ) {
99
+ return true
100
+ }
101
+ if (errorLabel?.value && !isEmpty(errorLabel)) {
102
+ return true
103
+ }
104
+ return false
105
+ })
106
+
107
+ const hasHint = computed(
108
+ () => !!((hintLabel && hintLabel.value) || hintSlot)
109
+ )
110
+
111
+ const hasValid = computed(
112
+ () => !!((validLabel && validLabel.value) || validSlot)
113
+ )
114
+
115
+ const hasLoading = computed(
116
+ () =>
117
+ !!(
118
+ (loading?.value && loadingSlot) ||
119
+ (loading?.value && loadingLabel?.value)
86
120
  )
121
+ )
87
122
 
88
- const hasErrors = computed(() => {
89
- //No error
90
- if (!error.value) return false
91
-
92
- if (error.value && errorSlot) return true
93
-
94
- if (
95
- errorLabel?.value &&
96
- Array.isArray(errorLabel.value) &&
97
- errorLabel.value.length > 0
98
- )
99
- return true
100
-
101
- if (
102
- errorLabel?.value &&
103
- ObjectUtilities.isNotEmpty(errorLabel.value)
104
- )
105
- return true
106
-
107
- return false
108
- })
109
-
110
- const hasHint = computed(() => {
111
- return !!(
112
- (hintLabel && hintLabel.value) ||
113
- hintSlot ||
114
- validSlot ||
115
- (validLabel && validLabel.value) ||
116
- hasErrors.value ||
117
- (loading?.value && loadingSlot) ||
118
- (loading?.value && loadingLabel?.value)
119
- )
120
- })
121
-
122
- // const errorMessage = computed(() => {
123
- // if (Array.isArray(errorLabel?.value))
124
- // return joinLines(errorLabel?.value || '')
125
- // else return errorLabel?.value
126
- // })
127
-
128
- const hintContent = computed(() => {
129
- const slotProps = toReactive({
130
- hintLabel,
131
- modelValue,
132
- valid,
133
- validLabel,
134
- error,
135
- errorLabel,
136
- loading,
137
- loadingLabel,
138
- ...hProps.params
139
- })
123
+ const isVisible = computed(
124
+ () => hasHint.value || hasValid || hasErrors.value || hasLoading.value
125
+ )
140
126
 
141
- if (error?.value) {
142
- return (
143
- errorSlot?.(slotProps) ||
144
- joinLines(errorLabel?.value) ||
145
- hintLabel?.value
146
- )
127
+ return {
128
+ hasErrors,
129
+ hasHint,
130
+ hasValid,
131
+ hasLoading,
132
+ HintSlot: {
133
+ name: 'HintSlot',
134
+ props: {
135
+ params: {
136
+ type: Object,
137
+ default: () => ({})
147
138
  }
139
+ },
140
+ setup(props) {
141
+ const hintContent = computed(() => {
142
+ const slotProps = toReactive({
143
+ hintLabel,
144
+ modelValue,
145
+ valid,
146
+ validLabel,
147
+ error,
148
+ errorLabel,
149
+ loading,
150
+ loadingLabel,
151
+ ...props.params
152
+ })
153
+
154
+ if (error?.value) {
155
+ return (
156
+ errorSlot?.(slotProps) ||
157
+ joinLines(errorLabel?.value) ||
158
+ hintLabel?.value
159
+ )
160
+ }
161
+
162
+ if (valid?.value)
163
+ return (
164
+ validSlot?.(slotProps) ||
165
+ joinLines(validLabel?.value) ||
166
+ hintLabel?.value
167
+ )
168
+
169
+ if (loading?.value)
170
+ return (
171
+ loadingSlot?.(slotProps) ||
172
+ joinLines(loadingLabel?.value) ||
173
+ hintLabel?.value
174
+ )
148
175
 
149
- if (valid?.value)
150
176
  return (
151
- validSlot?.(slotProps) ||
152
- joinLines(validLabel?.value) ||
177
+ hintSlot?.(slotProps) ||
178
+ joinLines(hintLabel?.value) ||
153
179
  hintLabel?.value
154
180
  )
181
+ })
155
182
 
156
- if (loading?.value)
157
- return (
158
- loadingSlot?.(slotProps) ||
159
- joinLines(loadingLabel?.value) ||
160
- hintLabel?.value
183
+ return {
184
+ isVisible,
185
+ hasErrors,
186
+ hasValid,
187
+ hintContent
188
+ }
189
+ },
190
+ render() {
191
+ if (this.isVisible) {
192
+ return h(
193
+ 'small',
194
+ {
195
+ role:
196
+ this.hasErrors || this.hasValid
197
+ ? 'alert'
198
+ : undefined
199
+ },
200
+ this.hintContent
161
201
  )
162
-
163
- return (
164
- hintSlot?.(slotProps) ||
165
- joinLines(hintLabel?.value) ||
166
- hintLabel?.value
167
- )
168
- })
169
-
170
- return {
171
- hasHint,
172
- hintContent
173
- }
174
- },
175
- render() {
176
- if (this.hasHint) {
177
- return h(
178
- 'pre',
179
- { style: { 'white-space': 'pre' } },
180
- this.hintContent
181
- )
202
+ }
182
203
  }
183
204
  }
184
205
  }
@@ -1,12 +1,19 @@
1
- export { default as VvButton } from './VvButton/VvButton.vue'
2
- export { default as VvIcon } from './VvIcon/VvIcon.vue'
3
- export { default as VvBadge } from './VvBadge/VvBadge.vue'
4
- export { default as VvButtonGroup } from './VvButtonGroup/VvButtonGroup.vue'
5
1
  export { default as VvAccordion } from './VvAccordion/VvAccordion.vue'
6
2
  export { default as VvAccordionGroup } from './VvAccordionGroup/VvAccordionGroup.vue'
3
+ export { default as VvBadge } from './VvBadge/VvBadge.vue'
7
4
  export { default as VvBreadcrumb } from './VvBreadcrumb/VvBreadcrumb.vue'
5
+ export { default as VvButton } from './VvButton/VvButton.vue'
6
+ export { default as VvButtonGroup } from './VvButtonGroup/VvButtonGroup.vue'
8
7
  export { default as VvCard } from './VvCard/VvCard.vue'
9
- export { default as VvCheck } from './VvCheck/VvCheck.vue'
10
- export { default as VvCheckGroup } from './VvCheckGroup/VvCheckGroup.vue'
8
+ export { default as VvCheckbox } from './VvCheckbox/VvCheckbox.vue'
9
+ export { default as VvCheckboxGroup } from './VvCheckboxGroup/VvCheckboxGroup.vue'
11
10
  export { default as VvDialog } from './VvDialog/VvDialog.vue'
12
11
  export { default as VvDropdown } from './VvDropdown/VvDropdown.vue'
12
+ export { default as VvIcon } from './VvIcon/VvIcon.vue'
13
+ export { default as VvInputText } from './VvInputText/VvInputText.vue'
14
+ export { default as VvNativeSelect } from './VvNativeSelect/VvNativeSelect.vue'
15
+ export { default as VvProgress } from './VvProgress/VvProgress.vue'
16
+ export { default as VvRadio } from './VvRadio/VvRadio.vue'
17
+ export { default as VvRadioGroup } from './VvRadioGroup/VvRadioGroup.vue'
18
+ export { default as VvSelect } from './VvSelect/VvSelect.vue'
19
+ export { default as VvTextarea } from './VvTextarea/VvTextarea.vue'
@@ -1,19 +1,25 @@
1
- import type { Ref } from 'vue'
1
+ import { type Ref, computed } from 'vue'
2
2
 
3
- import { refDebounced } from '@vueuse/core'
3
+ export function useDebouncedInput(
4
+ modelValue: Ref | undefined,
5
+ emit: (event: string, value: unknown) => void,
6
+ ms: string | number = 0
7
+ ): Ref {
8
+ let timeout: NodeJS.Timeout
4
9
 
5
- import { watch, ref } from 'vue'
10
+ if (typeof ms === 'string') {
11
+ ms = parseInt(ms)
12
+ }
6
13
 
7
- export function useDebouncedInput(
8
- inputText: Ref<any> | undefined,
9
- debounced: number | undefined,
10
- emit: (event: any, ...args: any[]) => void
11
- ): Ref<any> {
12
- const _text = ref(inputText?.value)
13
- const debouncedInputTextData = refDebounced(
14
- _text as Ref<any>,
15
- debounced || 0
16
- )
17
- watch(debouncedInputTextData, (v) => emit('update:modelValue', v))
18
- return _text
14
+ return computed({
15
+ get: () => modelValue?.value,
16
+ set: (value) => {
17
+ if (timeout) {
18
+ clearTimeout(timeout)
19
+ }
20
+ timeout = setTimeout(() => {
21
+ emit('update:modelValue', value)
22
+ }, ms as number)
23
+ }
24
+ })
19
25
  }
@@ -1,19 +1,17 @@
1
- import type { Ref } from 'vue'
2
- import { watch } from 'vue'
3
- import { useFocus } from '@vueuse/core'
1
+ import { watch, unref } from 'vue'
2
+ import { useFocus, type MaybeElement, type MaybeElementRef } from '@vueuse/core'
4
3
 
5
4
  /**
6
5
  *
7
6
  */
8
7
  export function useComponentFocus(
9
- inputTemplateRef: Ref<HTMLInputElement>,
10
- emit: (event: any, ...args: any[]) => void
8
+ inputTemplateRef: MaybeElementRef<MaybeElement>,
9
+ emit: (event: 'focus' | 'blur', value: unknown) => void
11
10
  ) {
12
11
  const { focused } = useFocus(inputTemplateRef)
13
12
 
14
- watch(focused, (bFocus) => {
15
- if (bFocus) emit('focus', inputTemplateRef.value)
16
- else emit('blur', inputTemplateRef.value)
13
+ watch(focused, (newValue) => {
14
+ emit(newValue ? 'focus' : 'blur', unref(inputTemplateRef))
17
15
  })
18
16
 
19
17
  return {
@@ -6,7 +6,5 @@ import type IGroupState from './IGroupState'
6
6
  * Stato condiviso per un gruppo di pulsanti
7
7
  */
8
8
  export default interface IAccordionGroupState extends IGroupState {
9
- iconRight: Ref<boolean>
10
- bordered: Ref<boolean>
11
- accordion: Ref<boolean>
9
+ collapse: Ref<boolean>
12
10
  }
@@ -4,9 +4,9 @@ import type { Ref } from 'vue'
4
4
  * Stato condiviso per un gruppo di elementi
5
5
  */
6
6
  export default interface IGroupState {
7
- [key: string]: Ref<any> | symbol
7
+ [key: string]: Ref<unknown> | string
8
8
  /**
9
9
  * Chiave usata per il provide del gruppo
10
10
  */
11
- key: symbol
11
+ key: string
12
12
  }
@@ -1,35 +1,29 @@
1
- import type IGroupState from './types/IGroupState'
2
- import { toRef, unref, type Ref } from 'vue'
3
-
4
- import { inject, computed } from 'vue'
5
- import ObjectUtilities from '../../utils/ObjectUtilities'
1
+ import { type Ref, toRef, unref, inject, computed } from 'vue'
2
+ import type IGroupState from '@/composables/group/types/IGroupState'
3
+ import { isEmpty } from '@/utils/ObjectUtilities'
6
4
 
7
5
  /**
8
- * Esegue l'inject dello stato condiviso da un componente padre.
6
+ * Injects a group state
9
7
  */
10
8
  export function useInjectedGroupState<TGroup extends IGroupState>(
11
- groupKey: symbol
9
+ groupKey: string
12
10
  ) {
13
- //Recupera, se esiste, lo stato condiviso fornito da un parent "group"
11
+ // Get group state
14
12
  const group = inject<Ref<TGroup> | undefined>(groupKey, undefined)
15
13
 
16
- //Check if component is in group
17
- const isInGroup = computed(() => ObjectUtilities.isNotEmpty(group))
14
+ // Check if component is in group
15
+ const isInGroup = computed(() => !isEmpty(group))
18
16
 
19
17
  /**
20
- * Crea una computed ref (writable) che può utilizzare esporre il valore o dall'oggetto props oppure dal group
18
+ * Get a group or local property
21
19
  */
22
20
  function getGroupOrLocalRef<T extends object>(
23
21
  propName: keyof TGroup,
24
22
  props: T,
25
- emit?: (event: any, ...args: any[]) => void
23
+ emit?: (event: string, ...args: unknown[]) => void
26
24
  ) {
27
- //Check se propName non è in gruppo o locale -> Spaccarsi
28
25
  if (group?.value) {
29
- // if (!Object.keys(group.value).includes(propName as string))
30
- // throw Error(`${propName as string} is not a group valid prop`)
31
-
32
- const groupPropValue = unref(group.value)[propName] as Ref<any>
26
+ const groupPropValue = unref(group.value)[propName] as Ref<unknown>
33
27
  return computed({
34
28
  get() {
35
29
  return groupPropValue?.value
@@ -38,20 +32,16 @@ export function useInjectedGroupState<TGroup extends IGroupState>(
38
32
  groupPropValue.value = value
39
33
  }
40
34
  })
41
- } else {
42
- // if (!Object.keys(props).includes(propName as string))
43
- // throw Error(`${propName as string} is not a valid prop`)
44
-
45
- const propRef = toRef(props, propName as keyof T)
46
- return computed({
47
- get() {
48
- return propRef.value
49
- },
50
- set(value) {
51
- if (emit) emit(`update:${propName as string}`, value)
52
- }
53
- })
54
35
  }
36
+ const propRef = toRef(props, propName as keyof T)
37
+ return computed({
38
+ get() {
39
+ return propRef.value
40
+ },
41
+ set(value) {
42
+ if (emit) emit(`update:${propName as string}`, value)
43
+ }
44
+ })
55
45
  }
56
46
 
57
47
  return {
@@ -1,5 +1,5 @@
1
- import type IGroupState from './types/IGroupState'
2
1
  import { provide, computed, isRef } from 'vue'
2
+ import type IGroupState from '@/composables/group/types/IGroupState'
3
3
 
4
4
  /**
5
5
  * Condividi parte dello stato del componente con tutti i suoi figli.
@@ -14,7 +14,6 @@ export function useProvideGroupState<TGroup extends IGroupState>(
14
14
  )
15
15
  )
16
16
  throw Error("One or more groupState props aren't ref.")
17
-
18
17
  provide(
19
18
  groupState.key,
20
19
  computed(() => groupState)
@@ -1,5 +1,4 @@
1
- import type { Slot, Ref } from 'vue'
2
- import { computed } from 'vue'
1
+ import { type Slot, type Ref, computed } from 'vue'
3
2
 
4
3
  interface ComponentIconProps {
5
4
  icon: Ref<string>
@@ -52,7 +51,7 @@ export function useComponentIcons(
52
51
  }
53
52
 
54
53
  export function useComponentIcon(
55
- icon: Ref<string>,
54
+ icon: Ref<string | object>,
56
55
  iconPosition: Ref<string>,
57
56
  slots: ComponentIconSlots
58
57
  ) {
@@ -1,8 +1,10 @@
1
1
  import { toRefs } from 'vue'
2
2
 
3
+ // eslint-disable-next-line
3
4
  export function useOptions(props: any) {
4
5
  const { options, optionLabel, optionValue } = toRefs(props)
5
6
 
7
+ // eslint-disable-next-line
6
8
  const getOptionLabel = (o: any) => {
7
9
  if (typeof o !== 'object' && o !== null) return o
8
10
 
@@ -11,6 +13,7 @@ export function useOptions(props: any) {
11
13
  : o[optionLabel.value]
12
14
  }
13
15
 
16
+ // eslint-disable-next-line
14
17
  const getOptionValue = (o: any) => {
15
18
  if (typeof o !== 'object' && o !== null) return o
16
19
 
@@ -1,14 +1,11 @@
1
- import { isString } from '@vueuse/core'
2
1
  import { computed, unref, type Ref } from 'vue'
2
+ import { isString } from '@vueuse/core'
3
3
 
4
4
  interface useTextOptions {
5
5
  mode: string | boolean
6
6
  upperLimit: number
7
7
  }
8
8
 
9
- /**
10
- *
11
- */
12
9
  export function useTextLimit(inputText: Ref<string>, options: useTextOptions) {
13
10
  const textLength = computed(() => {
14
11
  const _text = unref(inputText)
@@ -1,5 +1,5 @@
1
1
  import { computed, unref, type Ref } from 'vue'
2
- import ObjectUtilities from '@/utils/ObjectUtilities'
2
+ import { kebabCase } from '@/utils/ObjectUtilities'
3
3
 
4
4
  interface IBemModifiers {
5
5
  [key: string]:
@@ -23,24 +23,24 @@ export function useBemModifiers(prefix: string, modifiers: IBemModifiers) {
23
23
 
24
24
  const bemCssClasses = computed(() => {
25
25
  return (
26
- Object.keys(modifiers).reduce((acc, k) => {
27
- const _modifier = unref(modifiers[k] as Ref<any>) || false
26
+ Object.keys(modifiers).reduce((acc, item) => {
27
+ const _modifier =
28
+ unref(modifiers[item] as Ref<string | string[]>) || false
28
29
 
29
30
  if (!_modifier) return acc
30
31
 
31
- if (k === 'modifiers') {
32
+ if (item === 'modifiers') {
32
33
  const _reduceModifiers = Array.isArray(_modifier)
33
34
  ? _modifier
34
- : [_modifier]
35
+ : _modifier.split(' ')
35
36
  return {
36
37
  ...acc,
37
38
  ..._reduceModifiers.reduce(
38
39
  (accVariant: object, currentVariant: string) => {
39
40
  return {
40
41
  ...accVariant,
41
- [`${prefix}--${ObjectUtilities.kebabCase(
42
- currentVariant
43
- )}`]: true
42
+ [`${prefix}--${kebabCase(currentVariant)}`]:
43
+ true
44
44
  }
45
45
  },
46
46
  {}
@@ -49,8 +49,7 @@ export function useBemModifiers(prefix: string, modifiers: IBemModifiers) {
49
49
  } else {
50
50
  return {
51
51
  ...acc,
52
- [`${prefix}--${ObjectUtilities.kebabCase(k)}`]:
53
- _modifier
52
+ [`${prefix}--${kebabCase(item)}`]: _modifier
54
53
  }
55
54
  }
56
55
  }, baseCssClass) || {}
@@ -67,7 +66,7 @@ export function toBem(prefix: string, modifiers: IBemModifiers) {
67
66
 
68
67
  return (
69
68
  Object.keys(modifiers).reduce((acc, k) => {
70
- const _modifier = unref(modifiers[k] as Ref<any>) || false
69
+ const _modifier = unref(modifiers[k] as Ref<unknown>) || false
71
70
 
72
71
  if (!_modifier) return acc
73
72
 
@@ -81,9 +80,8 @@ export function toBem(prefix: string, modifiers: IBemModifiers) {
81
80
  (accVariant: object, currentVariant: string) => {
82
81
  return {
83
82
  ...accVariant,
84
- [`${prefix}--${ObjectUtilities.kebabCase(
85
- currentVariant
86
- )}`]: true
83
+ [`${prefix}--${kebabCase(currentVariant)}`]:
84
+ true
87
85
  }
88
86
  },
89
87
  {}
@@ -92,7 +90,7 @@ export function toBem(prefix: string, modifiers: IBemModifiers) {
92
90
  } else {
93
91
  return {
94
92
  ...acc,
95
- [`${prefix}--${ObjectUtilities.kebabCase(k)}`]: _modifier
93
+ [`${prefix}--${kebabCase(k)}`]: _modifier
96
94
  }
97
95
  }
98
96
  }, baseCssClass) || {}
package/src/constants.ts CHANGED
@@ -1,7 +1,5 @@
1
- export const VV_BUTTON_GROUP = Symbol('VV_BUTTON_GROUP')
2
-
3
- export const VV_RADIO_GROUP = Symbol('VV_RADIO_GROUP')
4
-
5
- export const VV_CHECK_GROUP = Symbol('VV_CHECK_GROUP')
6
-
7
- export const VV_ACCORDION_GROUP = Symbol('VV_ACCORDION_GROUP')
1
+ // Symbol not working after transpiling
2
+ export const VV_BUTTON_GROUP = 'VV_BUTTON_GROUP'
3
+ export const VV_RADIO_GROUP = 'VV_RADIO_GROUP'
4
+ export const VV_CHECK_GROUP = 'VV_CHECK_GROUP'
5
+ export const VV_ACCORDION_GROUP = 'VV_ACCORDION_GROUP'
File without changes