@volverjs/ui-vue 0.0.1-beta.8 → 0.0.2

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 (561) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +108 -56
  3. package/bin/icons.cjs +73 -0
  4. package/bin/icons.js +75 -0
  5. package/dist/{DesignSystem.d.ts → Volver.d.ts} +22 -18
  6. package/dist/components/VvAccordion/VvAccordion.es.js +165 -0
  7. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -0
  8. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +32 -97
  9. package/dist/components/VvAccordion/index.d.ts +46 -0
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +243 -0
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -0
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +77 -151
  13. package/dist/components/VvAccordionGroup/{VvAccordionGroup.d.ts → index.d.ts} +30 -13
  14. package/dist/components/VvBadge/VvBadge.es.js +62 -0
  15. package/dist/components/VvBadge/VvBadge.umd.js +1 -0
  16. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -54
  17. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +1 -1
  18. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +93 -0
  19. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -0
  20. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +33 -107
  21. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +2 -3
  22. package/dist/components/VvButton/VvButton.es.js +439 -0
  23. package/dist/components/VvButton/VvButton.umd.js +1 -0
  24. package/dist/components/VvButton/VvButton.vue.d.ts +100 -199
  25. package/dist/components/VvButton/index.d.ts +132 -0
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +107 -0
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -0
  28. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +92 -186
  29. package/dist/components/VvButtonGroup/index.d.ts +54 -0
  30. package/dist/components/VvCard/VvCard.es.js +77 -0
  31. package/dist/components/VvCard/VvCard.umd.js +1 -0
  32. package/dist/components/VvCard/VvCard.vue.d.ts +16 -61
  33. package/dist/components/VvCard/{VvCard.d.ts → index.d.ts} +1 -1
  34. package/dist/components/VvCheckbox/VvCheckbox.es.js +357 -0
  35. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -0
  36. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +74 -0
  37. package/dist/components/VvCheckbox/index.d.ts +54 -0
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +435 -0
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -0
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +82 -0
  41. package/dist/components/VvCheckboxGroup/index.d.ts +32 -0
  42. package/dist/components/VvCombobox/VvCombobox.es.js +775 -0
  43. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -0
  44. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +175 -0
  45. package/dist/components/VvCombobox/index.d.ts +108 -0
  46. package/dist/components/VvDialog/VvDialog.es.js +200 -0
  47. package/dist/components/VvDialog/VvDialog.umd.js +1 -0
  48. package/dist/components/VvDialog/VvDialog.vue.d.ts +28 -132
  49. package/dist/components/VvDialog/{VvDialog.d.ts → index.d.ts} +2 -6
  50. package/dist/components/VvDropdown/VvDropdown.es.js +227 -0
  51. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -0
  52. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +59 -146
  53. package/dist/components/VvDropdown/index.d.ts +49 -0
  54. package/dist/components/VvIcon/VvIcon.es.js +124 -0
  55. package/dist/components/VvIcon/VvIcon.umd.js +1 -0
  56. package/dist/components/VvIcon/VvIcon.vue.d.ts +36 -150
  57. package/dist/components/VvIcon/{VvIcon.d.ts → index.d.ts} +9 -0
  58. package/dist/components/VvInputText/VvInputClearAction.d.ts +36 -0
  59. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +56 -0
  60. package/dist/components/VvInputText/VvInputStepAction.d.ts +37 -0
  61. package/dist/components/VvInputText/VvInputText.es.js +772 -0
  62. package/dist/components/VvInputText/VvInputText.umd.js +1 -0
  63. package/dist/components/VvInputText/VvInputText.vue.d.ts +211 -288
  64. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  65. package/dist/components/VvInputText/index.d.ts +182 -0
  66. package/dist/components/VvProgress/VvProgress.es.js +71 -0
  67. package/dist/components/VvProgress/VvProgress.umd.js +1 -0
  68. package/dist/components/VvProgress/VvProgress.vue.d.ts +20 -107
  69. package/dist/components/VvProgress/index.d.ts +30 -0
  70. package/dist/components/VvRadio/VvRadio.es.js +320 -0
  71. package/dist/components/VvRadio/VvRadio.umd.js +1 -0
  72. package/dist/components/VvRadio/VvRadio.vue.d.ts +55 -125
  73. package/dist/components/VvRadio/index.d.ts +40 -0
  74. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +398 -0
  75. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -0
  76. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +56 -238
  77. package/dist/components/VvRadioGroup/index.d.ts +32 -0
  78. package/dist/components/VvSelect/VvSelect.es.js +434 -0
  79. package/dist/components/VvSelect/VvSelect.umd.js +1 -0
  80. package/dist/components/VvSelect/VvSelect.vue.d.ts +125 -263
  81. package/dist/components/VvSelect/index.d.ts +89 -0
  82. package/dist/components/VvTextarea/VvTextarea.es.js +471 -0
  83. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -0
  84. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +140 -321
  85. package/dist/components/VvTextarea/index.d.ts +102 -0
  86. package/dist/components/common/HintSlot.d.ts +12 -6
  87. package/dist/components/index.d.ts +19 -12
  88. package/dist/components/index.es.js +2379 -0
  89. package/dist/components/index.umd.js +1 -0
  90. package/dist/composables/group/types/IAccordionGroupState.d.ts +3 -4
  91. package/dist/composables/group/types/IButtonGroupState.d.ts +5 -11
  92. package/dist/composables/group/types/IGroupState.d.ts +3 -6
  93. package/dist/composables/group/types/IInputGroup.d.ts +1 -4
  94. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  95. package/dist/composables/group/useProvideGroupState.d.ts +2 -2
  96. package/dist/composables/useComponentFocus.d.ts +4 -0
  97. package/dist/composables/{icons/useComponentIcons.d.ts → useComponentIcons.d.ts} +3 -2
  98. package/dist/composables/useDebouncedInput.d.ts +2 -0
  99. package/dist/composables/useOptions.d.ts +6 -0
  100. package/dist/composables/useTextCount.d.ts +10 -0
  101. package/dist/constants.d.ts +4 -4
  102. package/dist/icons.d.ts +1881 -0
  103. package/dist/icons.es.js +12 -14
  104. package/dist/icons.umd.js +1 -1
  105. package/dist/index.d.ts +9 -4
  106. package/dist/index.es.js +2420 -0
  107. package/dist/index.umd.js +1 -0
  108. package/dist/props/index.d.ts +328 -30
  109. package/dist/resolvers/unplugin.d.ts +27 -0
  110. package/dist/resolvers/unplugin.es.js +42 -0
  111. package/dist/resolvers/unplugin.umd.js +1 -0
  112. package/dist/stories/Accordion/Accordion.settings.d.ts +63 -0
  113. package/dist/stories/Accordion/Accordion.test.d.ts +2 -0
  114. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +58 -0
  115. package/dist/stories/AccordionGroup/AccordionGroup.test.d.ts +2 -0
  116. package/dist/stories/Badge/Badge.settings.d.ts +32 -0
  117. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  118. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +29 -0
  119. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  120. package/dist/stories/Button/Button.settings.d.ts +198 -0
  121. package/dist/stories/Button/Button.test.d.ts +1 -10
  122. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +47 -0
  123. package/dist/stories/ButtonGroup/ButtonGroup.test.d.ts +2 -0
  124. package/dist/stories/Card/Card.settings.d.ts +70 -0
  125. package/dist/stories/Card/Card.test.d.ts +2 -0
  126. package/dist/stories/Checkbox/Checkbox.settings.d.ts +165 -0
  127. package/dist/stories/Checkbox/Checkbox.test.d.ts +2 -0
  128. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +164 -0
  129. package/dist/stories/CheckboxGroup/CheckboxGroup.test.d.ts +2 -0
  130. package/dist/stories/Combobox/Combobox.settings.d.ts +286 -0
  131. package/dist/stories/Combobox/Combobox.test.d.ts +2 -0
  132. package/dist/stories/Dialog/Dialog.settings.d.ts +55 -0
  133. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  134. package/dist/stories/Dropdown/Dropdown.settings.d.ts +85 -0
  135. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  136. package/dist/stories/Icon/Icon.settings.d.ts +74 -0
  137. package/dist/stories/InputText/InputText.settings.d.ts +445 -0
  138. package/dist/stories/InputText/InputText.test.d.ts +2 -0
  139. package/dist/stories/Progress/Progress.settings.d.ts +38 -0
  140. package/dist/stories/Progress/Progress.test.d.ts +2 -0
  141. package/dist/stories/Radio/Radio.settings.d.ts +139 -0
  142. package/dist/stories/Radio/Radio.test.d.ts +2 -0
  143. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +164 -0
  144. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +2 -0
  145. package/dist/stories/Select/Select.settings.d.ts +284 -0
  146. package/dist/stories/Select/Select.test.d.ts +2 -0
  147. package/dist/stories/Textarea/Textarea.settings.d.ts +336 -0
  148. package/dist/stories/Textarea/Textarea.test.d.ts +2 -0
  149. package/dist/stories/argTypes.d.ts +842 -0
  150. package/dist/test/expect.d.ts +3 -0
  151. package/dist/test/options.d.ts +1 -0
  152. package/dist/test/sleep.d.ts +1 -0
  153. package/dist/utils/ObjectUtilities.d.ts +82 -95
  154. package/env.d.ts +1 -0
  155. package/package.json +199 -126
  156. package/src/{DesignSystem.ts → Volver.ts} +57 -29
  157. package/src/assets/icons/detailed.json +1 -1
  158. package/src/assets/icons/normal.json +1 -1
  159. package/src/assets/icons/simple.json +1 -1
  160. package/src/components/VvAccordion/VvAccordion.vue +94 -78
  161. package/src/components/VvAccordion/index.ts +72 -0
  162. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +93 -53
  163. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +18 -14
  164. package/src/components/VvBadge/VvBadge.vue +17 -8
  165. package/src/components/VvBadge/index.ts +6 -0
  166. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +26 -24
  167. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -2
  168. package/src/components/VvButton/VvButton.vue +174 -153
  169. package/src/components/VvButton/index.ts +189 -0
  170. package/src/components/VvButtonGroup/VvButtonGroup.vue +76 -48
  171. package/src/components/VvButtonGroup/index.ts +16 -0
  172. package/src/components/VvCard/VvCard.vue +20 -22
  173. package/src/components/VvCard/{VvCard.ts → index.ts} +1 -1
  174. package/src/components/VvCheckbox/VvCheckbox.vue +172 -0
  175. package/src/components/VvCheckbox/index.ts +60 -0
  176. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +85 -0
  177. package/src/components/VvCheckboxGroup/index.ts +5 -0
  178. package/src/components/VvCombobox/VvCombobox.vue +261 -0
  179. package/src/components/VvCombobox/index.ts +88 -0
  180. package/src/components/VvDialog/VvDialog.vue +69 -67
  181. package/src/components/VvDialog/index.ts +10 -0
  182. package/src/components/VvDropdown/VvDropdown.vue +115 -114
  183. package/src/components/VvDropdown/index.ts +35 -0
  184. package/src/components/VvIcon/README.md +64 -0
  185. package/src/components/VvIcon/VvIcon.vue +122 -107
  186. package/src/components/VvIcon/{VvIcon.ts → index.ts} +17 -8
  187. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  188. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  189. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  190. package/src/components/VvInputText/VvInputText.vue +307 -238
  191. package/src/components/VvInputText/VvInputTextActions.ts +63 -114
  192. package/src/components/VvInputText/index.ts +140 -0
  193. package/src/components/VvProgress/VvProgress.vue +29 -29
  194. package/src/components/VvProgress/index.ts +32 -0
  195. package/src/components/VvRadio/VvRadio.vue +90 -119
  196. package/src/components/VvRadio/index.ts +40 -0
  197. package/src/components/VvRadioGroup/VvRadioGroup.vue +76 -69
  198. package/src/components/VvRadioGroup/index.ts +5 -0
  199. package/src/components/VvSelect/VvSelect.vue +187 -186
  200. package/src/components/VvSelect/index.ts +71 -0
  201. package/src/components/VvTextarea/VvTextarea.vue +188 -174
  202. package/src/components/VvTextarea/index.ts +50 -0
  203. package/src/components/common/HintSlot.ts +167 -137
  204. package/src/components/index.ts +19 -12
  205. package/src/composables/group/types/IAccordionGroupState.ts +3 -4
  206. package/src/composables/group/types/IButtonGroupState.ts +5 -11
  207. package/src/composables/group/types/IGroupState.ts +4 -6
  208. package/src/composables/group/types/IInputGroup.ts +1 -4
  209. package/src/composables/group/useInjectedGroupState.ts +23 -35
  210. package/src/composables/group/useProvideGroupState.ts +5 -7
  211. package/src/composables/useComponentFocus.ts +17 -0
  212. package/src/composables/{icons/useComponentIcons.ts → useComponentIcons.ts} +29 -20
  213. package/src/composables/useDebouncedInput.ts +25 -0
  214. package/src/composables/useModifiers.ts +18 -20
  215. package/src/composables/useOptions.ts +31 -0
  216. package/src/composables/useTextCount.ts +57 -0
  217. package/src/constants.ts +5 -7
  218. package/src/directives/{.README → .gitkeep} +0 -0
  219. package/src/icons.ts +7 -0
  220. package/src/index.ts +12 -5
  221. package/src/props/index.ts +204 -36
  222. package/src/resolvers/unplugin.ts +112 -0
  223. package/src/shims.d.ts +13 -0
  224. package/src/stories/Accordion/Accordion.settings.ts +46 -0
  225. package/src/stories/Accordion/Accordion.stories.mdx +21 -21
  226. package/src/stories/Accordion/Accordion.test.ts +61 -0
  227. package/src/stories/Accordion/AccordionSlots.stories.mdx +46 -70
  228. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +55 -0
  229. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +24 -27
  230. package/src/stories/AccordionGroup/AccordionGroup.test.ts +50 -0
  231. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +56 -0
  232. package/src/stories/Badge/Badge.settings.ts +26 -0
  233. package/src/stories/Badge/Badge.stories.mdx +36 -24
  234. package/src/stories/Badge/Badge.test.ts +12 -0
  235. package/src/stories/Badge/BadgeSlots.stories.mdx +20 -0
  236. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +41 -0
  237. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +32 -29
  238. package/src/stories/Breadcrumb/Breadcrumb.test.ts +50 -0
  239. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +43 -0
  240. package/src/stories/Button/Button.settings.ts +145 -0
  241. package/src/stories/Button/Button.stories.mdx +20 -54
  242. package/src/stories/Button/Button.test.ts +35 -46
  243. package/src/stories/Button/ButtonIcon.stories.mdx +139 -29
  244. package/src/stories/Button/ButtonLink.stories.mdx +58 -111
  245. package/src/stories/Button/ButtonLoading.stories.mdx +89 -62
  246. package/src/stories/Button/ButtonModifiers.stories.mdx +198 -121
  247. package/src/stories/Button/ButtonSlots.stories.mdx +83 -95
  248. package/src/stories/Button/ButtonState.stories.mdx +75 -0
  249. package/src/stories/Button/ButtonToggle.stories.mdx +50 -0
  250. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -0
  251. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +16 -18
  252. package/src/stories/ButtonGroup/ButtonGroup.test.ts +35 -0
  253. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +52 -0
  254. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.mdx +37 -0
  255. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +52 -110
  256. package/src/stories/Card/Card.settings.ts +55 -0
  257. package/src/stories/Card/Card.stories.mdx +27 -11
  258. package/src/stories/Card/Card.test.ts +23 -0
  259. package/src/stories/Card/CardSlots.stories.mdx +80 -24
  260. package/src/stories/Checkbox/Checkbox.settings.ts +43 -0
  261. package/src/stories/Checkbox/Checkbox.stories.mdx +163 -0
  262. package/src/stories/Checkbox/Checkbox.test.ts +81 -0
  263. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +68 -0
  264. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +46 -0
  265. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +15 -0
  266. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +134 -0
  267. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +83 -0
  268. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +100 -0
  269. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +67 -0
  270. package/src/stories/Combobox/Combobox.settings.ts +127 -0
  271. package/src/stories/Combobox/Combobox.stories.mdx +204 -0
  272. package/src/stories/Combobox/Combobox.test.ts +103 -0
  273. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +74 -0
  274. package/src/stories/Combobox/ComboboxOptions.stories.mdx +100 -0
  275. package/src/stories/Combobox/ComboboxSlots.stories.mdx +48 -0
  276. package/src/stories/Dialog/Dialog.settings.ts +45 -0
  277. package/src/stories/Dialog/Dialog.stories.mdx +42 -16
  278. package/src/stories/Dialog/Dialog.test.ts +69 -0
  279. package/src/stories/Dialog/DialogSlots.stories.mdx +63 -0
  280. package/src/stories/Dropdown/Dropdown.settings.ts +51 -0
  281. package/src/stories/Dropdown/Dropdown.stories.mdx +102 -29
  282. package/src/stories/Dropdown/Dropdown.test.ts +43 -0
  283. package/src/stories/Dropdown/DropdownOptions.stories.mdx +87 -67
  284. package/src/stories/Icon/Icon.settings.ts +72 -0
  285. package/src/stories/Icon/Icon.stories.mdx +76 -59
  286. package/src/stories/Icon/IconsCollection.stories.mdx +68 -0
  287. package/src/stories/InputText/InputText.settings.ts +221 -0
  288. package/src/stories/InputText/InputText.stories.mdx +142 -69
  289. package/src/stories/InputText/InputText.test.ts +125 -0
  290. package/src/stories/InputText/InputTextIconPosition.stories.mdx +63 -16
  291. package/src/stories/InputText/InputTextLength.stories.mdx +110 -0
  292. package/src/stories/InputText/InputTextMinMax.stories.mdx +112 -0
  293. package/src/stories/InputText/InputTextSlots.stories.mdx +61 -22
  294. package/src/stories/InputText/InputTextType.stories.mdx +207 -29
  295. package/src/stories/Progress/Progress.settings.ts +33 -0
  296. package/src/stories/Progress/Progress.stories.mdx +12 -14
  297. package/src/stories/Progress/Progress.test.ts +9 -0
  298. package/src/stories/Radio/Radio.settings.ts +15 -0
  299. package/src/stories/Radio/Radio.stories.mdx +102 -42
  300. package/src/stories/Radio/Radio.test.ts +70 -0
  301. package/src/stories/Radio/RadioSlots.stories.mdx +39 -22
  302. package/src/stories/RadioGroup/RadioGroup.settings.ts +15 -0
  303. package/src/stories/RadioGroup/RadioGroup.stories.mdx +115 -54
  304. package/src/stories/RadioGroup/RadioGroup.test.ts +83 -0
  305. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +83 -41
  306. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +49 -144
  307. package/src/stories/Select/Select.settings.ts +86 -0
  308. package/src/stories/Select/Select.stories.mdx +173 -33
  309. package/src/stories/Select/Select.test.ts +82 -0
  310. package/src/stories/Select/SelectOptions.stories.mdx +91 -69
  311. package/src/stories/Select/SelectSlots.stories.mdx +48 -0
  312. package/src/stories/Textarea/Textarea.settings.ts +96 -0
  313. package/src/stories/Textarea/Textarea.stories.mdx +167 -47
  314. package/src/stories/Textarea/Textarea.test.ts +90 -0
  315. package/src/stories/Textarea/TextareaLength.stories.mdx +110 -0
  316. package/src/stories/Textarea/TextareaSlots.stories.mdx +61 -23
  317. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +78 -0
  318. package/src/stories/argTypes.ts +457 -0
  319. package/src/test/expect.ts +27 -6
  320. package/src/test/options.ts +17 -0
  321. package/src/test/sleep.ts +2 -0
  322. package/src/test/types.d.ts +14 -0
  323. package/src/types/generic.d.ts +5 -0
  324. package/src/utils/ObjectUtilities.ts +253 -244
  325. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  326. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  327. package/dist/components/VvAccordion/vv-accordion.es.js +0 -262
  328. package/dist/components/VvAccordion/vv-accordion.umd.js +0 -1
  329. package/dist/components/VvAccordionGroup/vv-accordion-group.es.js +0 -315
  330. package/dist/components/VvAccordionGroup/vv-accordion-group.umd.js +0 -1
  331. package/dist/components/VvBadge/vv-badge.es.js +0 -18
  332. package/dist/components/VvBadge/vv-badge.umd.js +0 -1
  333. package/dist/components/VvBreadcrumb/vv-breadcrumb.es.js +0 -206
  334. package/dist/components/VvBreadcrumb/vv-breadcrumb.umd.js +0 -1
  335. package/dist/components/VvButton/VvButton.d.ts +0 -115
  336. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -23
  337. package/dist/components/VvButton/vv-button.es.js +0 -422
  338. package/dist/components/VvButton/vv-button.umd.js +0 -1
  339. package/dist/components/VvButtonGroup/VvButtonGroup.d.ts +0 -57
  340. package/dist/components/VvButtonGroup/vv-button-group.es.js +0 -210
  341. package/dist/components/VvButtonGroup/vv-button-group.umd.js +0 -1
  342. package/dist/components/VvCard/vv-card.es.js +0 -188
  343. package/dist/components/VvCard/vv-card.umd.js +0 -1
  344. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  345. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  346. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  347. package/dist/components/VvCheck/vv-check.es.js +0 -321
  348. package/dist/components/VvCheck/vv-check.umd.js +0 -1
  349. package/dist/components/VvCheckGroup/VvCheckGroup.d.ts +0 -65
  350. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  351. package/dist/components/VvCheckGroup/vv-check-group.es.js +0 -452
  352. package/dist/components/VvCheckGroup/vv-check-group.umd.js +0 -2
  353. package/dist/components/VvDialog/constants.d.ts +0 -5
  354. package/dist/components/VvDialog/vv-dialog.es.js +0 -315
  355. package/dist/components/VvDialog/vv-dialog.umd.js +0 -1
  356. package/dist/components/VvDropdown/VvDropdown.d.ts +0 -52
  357. package/dist/components/VvDropdown/vv-dropdown.es.js +0 -236
  358. package/dist/components/VvDropdown/vv-dropdown.umd.js +0 -1
  359. package/dist/components/VvIcon/vv-icon.es.js +0 -229
  360. package/dist/components/VvIcon/vv-icon.umd.js +0 -1
  361. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  362. package/dist/components/VvInputText/constants.d.ts +0 -55
  363. package/dist/components/VvInputText/vv-input-text.es.js +0 -725
  364. package/dist/components/VvInputText/vv-input-text.umd.js +0 -2
  365. package/dist/components/VvNativeSelect/VvNativeSelect.d.ts +0 -70
  366. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +0 -228
  367. package/dist/components/VvNativeSelect/vv-native-select.es.js +0 -414
  368. package/dist/components/VvNativeSelect/vv-native-select.umd.js +0 -2
  369. package/dist/components/VvProgress/VvProgress.d.ts +0 -29
  370. package/dist/components/VvProgress/vv-progress.es.js +0 -185
  371. package/dist/components/VvProgress/vv-progress.umd.js +0 -1
  372. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  373. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  374. package/dist/components/VvRadio/vv-radio.es.js +0 -309
  375. package/dist/components/VvRadio/vv-radio.umd.js +0 -1
  376. package/dist/components/VvRadioGroup/VvRadioGroup.d.ts +0 -54
  377. package/dist/components/VvRadioGroup/vv-radio-group.es.js +0 -441
  378. package/dist/components/VvRadioGroup/vv-radio-group.umd.js +0 -2
  379. package/dist/components/VvSelect/VvSelect.d.ts +0 -99
  380. package/dist/components/VvSelect/vv-select.es.js +0 -445
  381. package/dist/components/VvSelect/vv-select.umd.js +0 -2
  382. package/dist/components/VvTextarea/VvTextarea.d.ts +0 -88
  383. package/dist/components/VvTextarea/constants.d.ts +0 -19
  384. package/dist/components/VvTextarea/vv-textarea.es.js +0 -548
  385. package/dist/components/VvTextarea/vv-textarea.umd.js +0 -2
  386. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +0 -2
  387. package/dist/composables/focus/useComponentFocus.d.ts +0 -7
  388. package/dist/composables/options/useOptions.d.ts +0 -5
  389. package/dist/composables/textLimit/useTextLimit.d.ts +0 -14
  390. package/dist/stories/Icon/IconList.vue.d.ts +0 -44
  391. package/dist/stories/utils.d.ts +0 -5
  392. package/dist/ui-vue.es.js +0 -3001
  393. package/dist/ui-vue.umd.js +0 -2
  394. package/src/assets/icons/index.js +0 -7
  395. package/src/components/VvAccordion/VvAccordion.ts +0 -34
  396. package/src/components/VvAccordion/useAccordionProps.ts +0 -45
  397. package/src/components/VvBadge/VvBadge.ts +0 -4
  398. package/src/components/VvButton/VvButton.ts +0 -117
  399. package/src/components/VvButton/useButtonGroupProps.ts +0 -51
  400. package/src/components/VvButtonGroup/VvButtonGroup.ts +0 -37
  401. package/src/components/VvCheck/VvCheck.ts +0 -48
  402. package/src/components/VvCheck/VvCheck.vue +0 -149
  403. package/src/components/VvCheck/useCheckProps.ts +0 -41
  404. package/src/components/VvCheckGroup/VvCheckGroup.ts +0 -34
  405. package/src/components/VvCheckGroup/VvCheckGroup.vue +0 -84
  406. package/src/components/VvDialog/VvDialog.ts +0 -17
  407. package/src/components/VvDialog/constants.ts +0 -5
  408. package/src/components/VvDropdown/VvDropdown.ts +0 -46
  409. package/src/components/VvInputText/VvInputText.ts +0 -66
  410. package/src/components/VvInputText/constants.ts +0 -34
  411. package/src/components/VvNativeSelect/VvNativeSelect.ts +0 -70
  412. package/src/components/VvNativeSelect/VvNativeSelect.vue +0 -106
  413. package/src/components/VvProgress/VvProgress.ts +0 -28
  414. package/src/components/VvRadio/VvRadio.ts +0 -25
  415. package/src/components/VvRadio/useRadioProps.ts +0 -40
  416. package/src/components/VvRadioGroup/VvRadioGroup.ts +0 -25
  417. package/src/components/VvSelect/VvSelect.ts +0 -91
  418. package/src/components/VvTextarea/VvTextarea.ts +0 -64
  419. package/src/components/VvTextarea/constants.ts +0 -14
  420. package/src/composables/debouncedInput/useDebouncedInput.ts +0 -19
  421. package/src/composables/focus/useComponentFocus.ts +0 -22
  422. package/src/composables/options/useOptions.ts +0 -27
  423. package/src/composables/textLimit/useTextLimit.ts +0 -44
  424. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  425. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  426. package/src/stories/Accordion/accordionTest.js +0 -36
  427. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  428. package/src/stories/AccordionGroup/AccordionItems.stories.mdx +0 -51
  429. package/src/stories/AccordionGroup/accordionGroupTest.js +0 -51
  430. package/src/stories/Badge/BadgeColor.stories.mdx +0 -54
  431. package/src/stories/Badge/BadgeDot.stories.mdx +0 -20
  432. package/src/stories/Badge/BadgeTest.js +0 -21
  433. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +0 -41
  434. package/src/stories/Button/ButtonBadge.stories.mdx +0 -34
  435. package/src/stories/Button/ButtonIconPosition.stories.mdx +0 -106
  436. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  437. package/src/stories/Button/test.js +0 -41
  438. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +0 -83
  439. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +0 -50
  440. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +0 -40
  441. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +0 -38
  442. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +0 -77
  443. package/src/stories/ButtonGroup/ButtonGroupTest.js +0 -61
  444. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +0 -38
  445. package/src/stories/Card/CardVariant.stories.mdx +0 -37
  446. package/src/stories/Check/Check.stories.mdx +0 -62
  447. package/src/stories/Check/CheckBinary.stories.mdx +0 -80
  448. package/src/stories/Check/CheckDisabled.stories.mdx +0 -30
  449. package/src/stories/Check/CheckError.stories.mdx +0 -64
  450. package/src/stories/Check/CheckErrorTests.js +0 -72
  451. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  452. package/src/stories/Check/CheckPropertyTest.js +0 -101
  453. package/src/stories/Check/CheckReadonly.stories.mdx +0 -30
  454. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  455. package/src/stories/Check/CheckSwitch.stories.mdx +0 -30
  456. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  457. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  458. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  459. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  460. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  461. package/src/stories/CheckGroup/CheckGroupOptionLabel.stories.mdx +0 -48
  462. package/src/stories/CheckGroup/CheckGroupOptionValue.stories.mdx +0 -48
  463. package/src/stories/CheckGroup/CheckGroupOptions.stories.mdx +0 -40
  464. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  465. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  466. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  467. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  468. package/src/stories/Dialog/DialogAutoClose.stories.mdx +0 -18
  469. package/src/stories/Dialog/DialogSize.stories.mdx +0 -36
  470. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +0 -25
  471. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +0 -25
  472. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +0 -26
  473. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +0 -56
  474. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +0 -58
  475. package/src/stories/Icon/IconList.vue +0 -34
  476. package/src/stories/Icon/IconPrefix.stories.mdx +0 -79
  477. package/src/stories/Icon/IconRemote.stories.mdx +0 -39
  478. package/src/stories/Icon/IconTest.js +0 -27
  479. package/src/stories/Icon/IconsList.stories.mdx +0 -35
  480. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +0 -15
  481. package/src/stories/InputText/InputTextAutofocus.stories.mdx +0 -20
  482. package/src/stories/InputText/InputTextDisabled.stories.mdx +0 -19
  483. package/src/stories/InputText/InputTextError.stories.mdx +0 -19
  484. package/src/stories/InputText/InputTextFloating.stories.mdx +0 -20
  485. package/src/stories/InputText/InputTextHintLabel.stories.mdx +0 -18
  486. package/src/stories/InputText/InputTextIcon.stories.mdx +0 -18
  487. package/src/stories/InputText/InputTextLabel.stories.mdx +0 -15
  488. package/src/stories/InputText/InputTextLoading.stories.mdx +0 -19
  489. package/src/stories/InputText/InputTextMax.stories.mdx +0 -31
  490. package/src/stories/InputText/InputTextMaxLength.stories.mdx +0 -36
  491. package/src/stories/InputText/InputTextMin.stories.mdx +0 -31
  492. package/src/stories/InputText/InputTextMinLength.stories.mdx +0 -15
  493. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +0 -15
  494. package/src/stories/InputText/InputTextReadonly.stories.mdx +0 -19
  495. package/src/stories/InputText/InputTextStep.stories.mdx +0 -31
  496. package/src/stories/InputText/InputTextValid.stories.mdx +0 -19
  497. package/src/stories/NativeSelect/NativeSelect.stories.mdx +0 -53
  498. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +0 -32
  499. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +0 -36
  500. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +0 -34
  501. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +0 -42
  502. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +0 -27
  503. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +0 -78
  504. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +0 -34
  505. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +0 -66
  506. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +0 -36
  507. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +0 -66
  508. package/src/stories/Progress/ProgressDeterminate.stories.mdx +0 -19
  509. package/src/stories/Radio/RadioDisabled.stories.mdx +0 -30
  510. package/src/stories/Radio/RadioError.stories.mdx +0 -64
  511. package/src/stories/Radio/RadioHintLabel.stories.mdx +0 -30
  512. package/src/stories/Radio/RadioTest.js +0 -89
  513. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +0 -29
  514. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +0 -31
  515. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +0 -28
  516. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +0 -29
  517. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +0 -65
  518. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +0 -65
  519. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +0 -29
  520. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +0 -31
  521. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +0 -29
  522. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  523. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  524. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  525. package/src/stories/Select/SelectDisabled.stories.mdx +0 -32
  526. package/src/stories/Select/SelectMaxValues.stories.mdx +0 -33
  527. package/src/stories/Select/SelectMultiple.stories.mdx +0 -64
  528. package/src/stories/Select/SelectSearchable.stories.mdx +0 -80
  529. package/src/stories/Select/SelectSeparator.stories.mdx +0 -64
  530. package/src/stories/Select/SelectUseObject.stories.mdx +0 -66
  531. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +0 -23
  532. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +0 -23
  533. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +0 -24
  534. package/src/stories/Textarea/TextareaDebounce.stories.mdx +0 -23
  535. package/src/stories/Textarea/TextareaDisabled.stories.mdx +0 -23
  536. package/src/stories/Textarea/TextareaError.stories.mdx +0 -22
  537. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +0 -37
  538. package/src/stories/Textarea/TextareaFloating.stories.mdx +0 -25
  539. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +0 -22
  540. package/src/stories/Textarea/TextareaIcon.stories.mdx +0 -22
  541. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +0 -39
  542. package/src/stories/Textarea/TextareaId.stories.mdx +0 -19
  543. package/src/stories/Textarea/TextareaLabel.stories.mdx +0 -19
  544. package/src/stories/Textarea/TextareaLimit.stories.mdx +0 -50
  545. package/src/stories/Textarea/TextareaLoading.stories.mdx +0 -22
  546. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +0 -23
  547. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +0 -19
  548. package/src/stories/Textarea/TextareaMinLength.stories.mdx +0 -19
  549. package/src/stories/Textarea/TextareaModifiers.stories.mdx +0 -24
  550. package/src/stories/Textarea/TextareaName.stories.mdx +0 -23
  551. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +0 -19
  552. package/src/stories/Textarea/TextareaReadonly.stories.mdx +0 -23
  553. package/src/stories/Textarea/TextareaRequired.stories.mdx +0 -22
  554. package/src/stories/Textarea/TextareaResizable.stories.mdx +0 -22
  555. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +0 -39
  556. package/src/stories/Textarea/TextareaValid.stories.mdx +0 -22
  557. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +0 -35
  558. package/src/stories/stories.scss +0 -35
  559. package/src/stories/utils.ts +0 -12
  560. package/src/stories/volver-ui-vue.stories.mdx +0 -77
  561. package/src/types/.README +0 -0
@@ -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>
@@ -15,30 +14,30 @@ interface ComponentIconSlots {
15
14
 
16
15
  export function useComponentIcons(
17
16
  props: ComponentIconProps,
18
- slots: ComponentIconSlots
17
+ slots: ComponentIconSlots,
19
18
  ) {
20
19
  const { icon, iconPosition } = props
21
20
 
22
21
  const hasIconLeft = computed(
23
22
  () =>
24
- !!((icon.value && iconPosition.value === 'left') || slots.iconLeft)
23
+ !!((icon.value && iconPosition.value === 'left') || slots.iconLeft),
25
24
  )
26
25
  const hasIconRight = computed(
27
26
  () =>
28
27
  !!(
29
28
  (icon.value && iconPosition.value === 'right') ||
30
29
  slots.iconRight
31
- )
30
+ ),
32
31
  )
33
32
  const hasIconTop = computed(
34
- () => !!((icon.value && iconPosition.value === 'top') || slots.iconTop)
33
+ () => !!((icon.value && iconPosition.value === 'top') || slots.iconTop),
35
34
  )
36
35
  const hasIconBottom = computed(
37
36
  () =>
38
37
  !!(
39
38
  (icon.value && iconPosition.value === 'bottom') ||
40
39
  slots.iconBottom
41
- )
40
+ ),
42
41
  )
43
42
 
44
43
  return {
@@ -47,41 +46,51 @@ export function useComponentIcons(
47
46
  hasIconLeft,
48
47
  hasIconRight,
49
48
  hasIconTop,
50
- hasIconBottom
49
+ hasIconBottom,
51
50
  }
52
51
  }
53
52
 
54
53
  export function useComponentIcon(
55
- icon: Ref<string>,
54
+ icon: Ref<string | object | undefined> | undefined,
56
55
  iconPosition: Ref<string>,
57
- slots: ComponentIconSlots
56
+ slots?: ComponentIconSlots,
58
57
  ) {
59
58
  const hasIconLeft = computed(
60
59
  () =>
61
- !!((icon.value && iconPosition.value === 'left') || slots.iconLeft)
60
+ !!(
61
+ (icon?.value && iconPosition.value === 'left') ||
62
+ slots?.iconLeft
63
+ ),
62
64
  )
63
65
  const hasIconRight = computed(
64
66
  () =>
65
67
  !!(
66
- (icon.value && iconPosition.value === 'right') ||
67
- slots.iconRight
68
- )
68
+ (icon?.value && iconPosition.value === 'right') ||
69
+ slots?.iconRight
70
+ ),
69
71
  )
70
72
  const hasIconTop = computed(
71
- () => !!((icon.value && iconPosition.value === 'top') || slots.iconTop)
73
+ () =>
74
+ !!((icon?.value && iconPosition.value === 'top') || slots?.iconTop),
72
75
  )
73
76
  const hasIconBottom = computed(
74
77
  () =>
75
78
  !!(
76
- (icon.value && iconPosition.value === 'bottom') ||
77
- slots.iconBottom
78
- )
79
+ (icon?.value && iconPosition.value === 'bottom') ||
80
+ slots?.iconBottom
81
+ ),
79
82
  )
80
-
83
+ const hasIcon = computed(() => {
84
+ if (typeof icon?.value === 'string') {
85
+ return { name: icon?.value }
86
+ }
87
+ return icon?.value
88
+ })
81
89
  return {
90
+ hasIcon,
82
91
  hasIconLeft,
83
92
  hasIconRight,
84
93
  hasIconTop,
85
- hasIconBottom
94
+ hasIconBottom,
86
95
  }
87
96
  }
@@ -0,0 +1,25 @@
1
+ import { type Ref, computed } from 'vue'
2
+
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
9
+
10
+ if (typeof ms === 'string') {
11
+ ms = parseInt(ms)
12
+ }
13
+
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
+ })
25
+ }
@@ -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,34 +23,33 @@ 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
- {}
47
- )
46
+ {},
47
+ ),
48
48
  }
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) || {}
@@ -58,7 +57,7 @@ export function useBemModifiers(prefix: string, modifiers: IBemModifiers) {
58
57
  })
59
58
 
60
59
  return {
61
- bemCssClasses
60
+ bemCssClasses,
62
61
  }
63
62
  }
64
63
 
@@ -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,18 +80,17 @@ 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
- {}
90
- )
87
+ {},
88
+ ),
91
89
  }
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) || {}
@@ -0,0 +1,31 @@
1
+ import { toRefs } from 'vue'
2
+ import type { Option } from '@/types/generic'
3
+
4
+ // eslint-disable-next-line
5
+ export function useOptions(props: any) {
6
+ const { options, labelKey, valueKey } = toRefs(props)
7
+
8
+ // eslint-disable-next-line
9
+ const getOptionLabel = (option: string | Option) => {
10
+ if (typeof option !== 'object' && option !== null) return option
11
+
12
+ return typeof labelKey.value === 'function'
13
+ ? labelKey.value(option)
14
+ : option[labelKey.value]
15
+ }
16
+
17
+ // eslint-disable-next-line
18
+ const getOptionValue = (option: any) => {
19
+ if (typeof option !== 'object' && option !== null) return option
20
+
21
+ return typeof valueKey.value === 'function'
22
+ ? valueKey.value(option)
23
+ : option[valueKey.value]
24
+ }
25
+
26
+ return {
27
+ options,
28
+ getOptionLabel,
29
+ getOptionValue,
30
+ }
31
+ }
@@ -0,0 +1,57 @@
1
+ import { computed, unref, type Ref } from 'vue'
2
+
3
+ export function useTextCount(
4
+ text: Ref<string | undefined | null> | string,
5
+ options?: {
6
+ mode?: string | boolean
7
+ upperLimit?: number
8
+ lowerLimit?: number
9
+ },
10
+ ) {
11
+ const length = computed(() => {
12
+ return (unref(text) ?? '').length
13
+ })
14
+
15
+ const gap = computed(() => {
16
+ if (
17
+ options?.lowerLimit !== undefined &&
18
+ length.value < options?.lowerLimit
19
+ ) {
20
+ return length.value - options.lowerLimit
21
+ }
22
+ if (
23
+ options?.upperLimit !== undefined &&
24
+ length.value < options?.upperLimit
25
+ ) {
26
+ return options.upperLimit - length.value
27
+ }
28
+ return 0
29
+ })
30
+
31
+ const formatted = computed(() => {
32
+ if (options?.mode === false) {
33
+ return ''
34
+ }
35
+
36
+ if (options?.mode === 'limit' && options?.upperLimit) {
37
+ return `${length.value} / ${
38
+ options.lowerLimit ? `${options.lowerLimit}-` : ''
39
+ }${options.upperLimit}`
40
+ }
41
+
42
+ if (options?.mode === 'countdown') {
43
+ if (gap.value === 0) {
44
+ return undefined
45
+ }
46
+ return gap
47
+ }
48
+
49
+ return length.value
50
+ })
51
+
52
+ return {
53
+ length,
54
+ gap,
55
+ formatted,
56
+ }
57
+ }
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
package/src/icons.ts ADDED
@@ -0,0 +1,7 @@
1
+ import normal from './assets/icons/normal.json'
2
+ import detailed from './assets/icons/detailed.json'
3
+ import simple from './assets/icons/simple.json'
4
+
5
+ export default [normal, detailed, simple]
6
+
7
+ export { normal }
package/src/index.ts CHANGED
@@ -1,7 +1,14 @@
1
+ import VolverPlugin from './Volver'
2
+ import type { Volver } from './Volver'
3
+
1
4
  // export all components as vue plugin
2
- export * from './components'
5
+ export * from './components/index'
6
+ export { VolverPlugin }
3
7
 
4
- // export IconifyJSON default icons
5
- export { default as iconsSimple } from './assets/icons/simple.json'
6
- export { default as iconsNormal } from './assets/icons/normal.json'
7
- export { default as iconsDetailed } from './assets/icons/detailed.json'
8
+ // https://vuejs.org/guide/typescript/options-api.html#augmenting-global-properties
9
+ // Add custom property and extend vue type definition
10
+ declare module 'vue' {
11
+ interface ComponentCustomProperties {
12
+ $ds?: typeof Volver.prototype
13
+ }
14
+ }
@@ -1,84 +1,252 @@
1
+ import type { PropType } from 'vue'
2
+ import type { Option } from '@/types/generic'
3
+
1
4
  export const ValidProps = {
2
5
  valid: Boolean,
3
- validLabel: [String, Array]
6
+ validLabel: [String, Array],
4
7
  }
5
8
 
6
- export const ErrorProps = {
7
- error: Boolean,
8
- errorLabel: [String, Array]
9
+ export const InvalidProps = {
10
+ invalid: Boolean,
11
+ invalidLabel: [String, Array],
9
12
  }
10
13
 
11
14
  export const LoadingProps = {
12
15
  loading: Boolean,
13
- loadingLabel: String
16
+ loadingLabel: String,
14
17
  }
15
18
 
16
19
  export const DisabledProps = {
17
- disabled: Boolean
20
+ /**
21
+ * Whether the form control is disabled
22
+ */
23
+ disabled: Boolean,
18
24
  }
19
25
 
20
26
  export const ReadonlyProps = {
21
- readonly: Boolean
27
+ /**
28
+ * The value is not editable
29
+ */
30
+ readonly: Boolean,
22
31
  }
23
32
 
24
33
  export const ModifiersProps = {
25
- modifiers: [String, Array]
34
+ /**
35
+ * Component BEM modifiers
36
+ */
37
+ modifiers: [String, Array] as PropType<string | Array<string>>,
26
38
  }
27
39
 
28
40
  export const HintProps = {
29
- hintLabel: { type: String, default: '' }
41
+ hintLabel: { type: String, default: '' },
30
42
  }
31
43
 
32
44
  export const OptionsProps = {
33
45
  /**
34
- * Lista delle radio options
46
+ * List of options, can be string[] or object[]
35
47
  */
36
- options: { type: Array, default: () => [] },
48
+ options: {
49
+ type: Array as PropType<Array<Option | string>>,
50
+ default: () => [],
51
+ },
37
52
  /**
38
- * Se options è un array di oggetti, optionLabel = nome del campo da utilizzare come label oppure una funzione per ricavare la label
53
+ * Used when options are objects: key to use for option label
39
54
  */
40
- optionLabel: { type: [String, Function], default: () => 'label' },
55
+ labelKey: { type: [String, Function], default: 'label' },
41
56
  /**
42
- * Se options è un array di oggetti, optionValue = nome del campo da utilizzare come value oppure una funzione per ricavare il value
57
+ * Used when options are objects: key to use for option label
43
58
  */
44
- optionValue: { type: [String, Function], default: () => 'value' }
59
+ valueKey: { type: [String, Function], default: 'value' },
45
60
  }
46
61
 
47
- export const LimitProps = {
62
+ export const CountProps = {
48
63
  /**
49
- * Conteggio caratteri
50
- * @description
51
- * Se false, non mostrare il conteggio caratteri
52
- * Se true, mostra quanti caratteri ho digitato sin ora e qualì'è la maxlength.
53
- * Se true e maxlength > 0, mostra quanti caratteri ho digitato sin ora e qualì'è la maxlength.
54
- * Se "countdown", mostra quanti caratteri mancano per raggiungere la maxlength.
64
+ * Show character limit
55
65
  */
56
- limit: {
66
+ count: {
57
67
  type: [Boolean, String],
58
68
  default: false,
59
- validator: (value: string) => [true, false, 'countdown'].includes(value)
60
- }
69
+ validator: (value: string) =>
70
+ [true, false, 'limit', 'countdown'].includes(value),
71
+ },
72
+ }
73
+
74
+ export const DebounceProps = {
75
+ /**
76
+ * Milliseconds to wait before emitting the input event
77
+ */
78
+ debounce: [Number, String],
79
+ }
80
+
81
+ export const ICON_POSITIONS = {
82
+ LEFT: 'left',
83
+ RIGHT: 'right',
84
+ } as const
85
+ export type IconPosition = ValueOf<typeof ICON_POSITIONS>
86
+
87
+ export const IconProps = {
88
+ /**
89
+ * VvIcon name or props
90
+ * @see VVIcon
91
+ */
92
+ icon: { type: [String, Object] },
93
+ /**
94
+ * VvIcon position
95
+ */
96
+ iconPosition: {
97
+ type: String as PropType<IconPosition>,
98
+ validation: (value: IconPosition) =>
99
+ Object.values(ICON_POSITIONS).includes(value),
100
+ default: ICON_POSITIONS.RIGHT,
101
+ },
61
102
  }
62
103
 
63
- export const InputProps = {
64
- id: String,
104
+ export const TabindexProps = {
105
+ /**
106
+ * Global attribute tabindex
107
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
108
+ */
109
+ tabindex: { type: [String, Number], default: 0 },
110
+ }
111
+
112
+ export const FloatingProps = {
113
+ /**
114
+ * If true the label will be floating
115
+ */
116
+ floating: Boolean,
117
+ }
118
+
119
+ export const UnselectableProps = {
120
+ /**
121
+ * If true the input will be unselectable
122
+ */
123
+ unselectable: { type: Boolean, default: true },
124
+ }
125
+
126
+ export const IdNameProps = {
127
+ /**
128
+ * Global attribute id
129
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
130
+ */
131
+ id: [String, Number],
132
+ /**
133
+ * Input / Textarea name
134
+ * Name of the form control. Submitted with the form as part of a name/value pair
135
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name
136
+ */
65
137
  name: { type: String, required: true },
66
- autocomplete: { type: String, default: 'off' },
138
+ }
139
+
140
+ export const AutofocusProps = {
141
+ /**
142
+ * Global attribute autofocus
143
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus
144
+ */
67
145
  autofocus: Boolean,
146
+ }
147
+
148
+ export const AutocompleteProps = {
149
+ /**
150
+ * Global attribute autocomplete
151
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
152
+ */
153
+ autocomplete: { type: String, default: 'off' },
154
+ }
155
+
156
+ export const InputTextareaProps = {
157
+ ...IdNameProps,
158
+ ...AutofocusProps,
159
+ ...AutocompleteProps,
160
+ ...TabindexProps,
161
+ ...DisabledProps,
162
+ ...ReadonlyProps,
163
+ ...ValidProps,
164
+ ...InvalidProps,
165
+ ...HintProps,
166
+ ...LoadingProps,
167
+ ...ModifiersProps,
168
+ ...CountProps,
169
+ ...DebounceProps,
170
+ ...IconProps,
171
+ ...FloatingProps,
172
+ /**
173
+ * Input / Textarea minlength
174
+ * Minimum length (number of characters) of value
175
+ * Available for input types: text, search, url, tel, email, password
176
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
177
+ */
68
178
  minlength: Number,
179
+ /**
180
+ * Input / Textarea maxlength
181
+ * Maximum length (number of characters) of value
182
+ * Available for input types: text, search, url, tel, email, password
183
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
184
+ */
69
185
  maxlength: Number,
70
- label: String,
186
+ /**
187
+ * Input / Textarea placeholder
188
+ * Text that appears in the form control when it has no value set
189
+ * Available for input types: text, search, url, tel, email, password, number
190
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#placeholder
191
+ */
71
192
  placeholder: String,
193
+ /**
194
+ * Input / Textarea required
195
+ * A value is required or must be check for the form to be submittable
196
+ * Available for all input types except color
197
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#required
198
+ */
72
199
  required: Boolean,
73
- disabled: Boolean,
74
- readonly: Boolean
200
+ /**
201
+ * <label> value for the Input / Textarea
202
+ */
203
+ label: String,
75
204
  }
76
205
 
77
- export const DebounceProps = {
206
+ export const CheckboxRadioProps = {
207
+ ...IdNameProps,
208
+ ...TabindexProps,
209
+ ...ValidProps,
210
+ ...InvalidProps,
211
+ ...HintProps,
212
+ ...DisabledProps,
213
+ ...ReadonlyProps,
214
+ /**
215
+ * Input value
216
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value
217
+ */
218
+ value: [String, Number, Boolean],
219
+ /**
220
+ * Input value
221
+ */
222
+ modelValue: [Object, Number, Boolean, String],
223
+ /**
224
+ * <label> for input
225
+ */
226
+ label: String,
227
+ }
228
+
229
+ export const CheckboxRadioGroupProps = {
230
+ ...ValidProps,
231
+ ...InvalidProps,
232
+ ...OptionsProps,
233
+ ...HintProps,
234
+ ...DisabledProps,
235
+ ...ReadonlyProps,
236
+ /**
237
+ * Input value
238
+ */
239
+ modelValue: [String, Array],
240
+ /**
241
+ * Input label
242
+ */
243
+ label: String,
244
+ /**
245
+ * Input name
246
+ */
247
+ name: { type: String, required: true },
78
248
  /**
79
- * Debounce time (millisecondi)
80
- * @descrition
81
- * Tempo che deve passare dall'ultima battuta prima che modelValue venga aggiornato.
249
+ * If true, the group will be displayed in a vertical column
82
250
  */
83
- debounce: Number
251
+ vertical: Boolean,
84
252
  }