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

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 (559) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +91 -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 +427 -0
  23. package/dist/components/VvButton/VvButton.umd.js +1 -0
  24. package/dist/components/VvButton/VvButton.vue.d.ts +108 -199
  25. package/dist/components/VvButton/index.d.ts +132 -0
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +108 -0
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -0
  28. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +89 -183
  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 +594 -0
  43. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -0
  44. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +153 -0
  45. package/dist/components/{VvSelect/VvSelect.d.ts → VvCombobox/index.d.ts} +33 -36
  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 +218 -0
  51. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -0
  52. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +41 -147
  53. package/dist/components/VvDropdown/index.d.ts +37 -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 +764 -0
  62. package/dist/components/VvInputText/VvInputText.umd.js +1 -0
  63. package/dist/components/VvInputText/VvInputText.vue.d.ts +210 -287
  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 +415 -0
  79. package/dist/components/VvSelect/VvSelect.umd.js +1 -0
  80. package/dist/components/VvSelect/VvSelect.vue.d.ts +112 -262
  81. package/dist/components/VvSelect/index.d.ts +96 -0
  82. package/dist/components/VvTextarea/VvTextarea.es.js +463 -0
  83. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -0
  84. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +139 -320
  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 +2309 -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 +2350 -0
  107. package/dist/index.umd.js +1 -0
  108. package/dist/props/index.d.ts +297 -30
  109. package/dist/resolvers/unplugin.d.ts +27 -0
  110. package/dist/resolvers/unplugin.es.js +40 -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 +200 -0
  121. package/dist/stories/Button/Button.test.d.ts +1 -10
  122. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +38 -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 +267 -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 +75 -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 +265 -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 +793 -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 +198 -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 +171 -0
  170. package/src/components/VvButtonGroup/VvButtonGroup.vue +76 -48
  171. package/src/components/VvButtonGroup/index.ts +19 -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 +227 -0
  179. package/src/components/VvCombobox/index.ts +82 -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 +112 -114
  183. package/src/components/VvDropdown/index.ts +25 -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 +305 -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 +165 -186
  200. package/src/components/VvSelect/index.ts +74 -0
  201. package/src/components/VvTextarea/VvTextarea.vue +185 -173
  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 +21 -33
  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 +186 -36
  222. package/src/resolvers/unplugin.ts +103 -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 +150 -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 +28 -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/ButtonGroupToggle.stories.mdx +45 -114
  255. package/src/stories/Card/Card.settings.ts +55 -0
  256. package/src/stories/Card/Card.stories.mdx +27 -11
  257. package/src/stories/Card/Card.test.ts +23 -0
  258. package/src/stories/Card/CardSlots.stories.mdx +80 -24
  259. package/src/stories/Checkbox/Checkbox.settings.ts +43 -0
  260. package/src/stories/Checkbox/Checkbox.stories.mdx +163 -0
  261. package/src/stories/Checkbox/Checkbox.test.ts +81 -0
  262. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +68 -0
  263. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +46 -0
  264. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +15 -0
  265. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +134 -0
  266. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +83 -0
  267. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +100 -0
  268. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +67 -0
  269. package/src/stories/Combobox/Combobox.settings.ts +122 -0
  270. package/src/stories/Combobox/Combobox.stories.mdx +153 -0
  271. package/src/stories/Combobox/Combobox.test.ts +96 -0
  272. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +74 -0
  273. package/src/stories/Combobox/ComboboxOptions.stories.mdx +100 -0
  274. package/src/stories/Combobox/ComboboxSlots.stories.mdx +48 -0
  275. package/src/stories/Dialog/Dialog.settings.ts +45 -0
  276. package/src/stories/Dialog/Dialog.stories.mdx +42 -16
  277. package/src/stories/Dialog/Dialog.test.ts +69 -0
  278. package/src/stories/Dialog/DialogSlots.stories.mdx +63 -0
  279. package/src/stories/Dropdown/Dropdown.settings.ts +42 -0
  280. package/src/stories/Dropdown/Dropdown.stories.mdx +85 -29
  281. package/src/stories/Dropdown/Dropdown.test.ts +43 -0
  282. package/src/stories/Dropdown/DropdownOptions.stories.mdx +87 -67
  283. package/src/stories/Icon/Icon.settings.ts +72 -0
  284. package/src/stories/Icon/Icon.stories.mdx +76 -59
  285. package/src/stories/Icon/IconsCollection.stories.mdx +68 -0
  286. package/src/stories/InputText/InputText.settings.ts +221 -0
  287. package/src/stories/InputText/InputText.stories.mdx +142 -69
  288. package/src/stories/InputText/InputText.test.ts +125 -0
  289. package/src/stories/InputText/InputTextIconPosition.stories.mdx +63 -16
  290. package/src/stories/InputText/InputTextLength.stories.mdx +110 -0
  291. package/src/stories/InputText/InputTextMinMax.stories.mdx +112 -0
  292. package/src/stories/InputText/InputTextSlots.stories.mdx +61 -22
  293. package/src/stories/InputText/InputTextType.stories.mdx +207 -29
  294. package/src/stories/Progress/Progress.settings.ts +33 -0
  295. package/src/stories/Progress/Progress.stories.mdx +12 -14
  296. package/src/stories/Progress/Progress.test.ts +9 -0
  297. package/src/stories/Radio/Radio.settings.ts +15 -0
  298. package/src/stories/Radio/Radio.stories.mdx +102 -42
  299. package/src/stories/Radio/Radio.test.ts +70 -0
  300. package/src/stories/Radio/RadioSlots.stories.mdx +39 -22
  301. package/src/stories/RadioGroup/RadioGroup.settings.ts +15 -0
  302. package/src/stories/RadioGroup/RadioGroup.stories.mdx +115 -54
  303. package/src/stories/RadioGroup/RadioGroup.test.ts +83 -0
  304. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +83 -41
  305. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +49 -144
  306. package/src/stories/Select/Select.settings.ts +100 -0
  307. package/src/stories/Select/Select.stories.mdx +113 -33
  308. package/src/stories/Select/Select.test.ts +82 -0
  309. package/src/stories/Select/SelectOptions.stories.mdx +91 -69
  310. package/src/stories/Select/SelectSlots.stories.mdx +48 -0
  311. package/src/stories/Textarea/Textarea.settings.ts +96 -0
  312. package/src/stories/Textarea/Textarea.stories.mdx +167 -47
  313. package/src/stories/Textarea/Textarea.test.ts +90 -0
  314. package/src/stories/Textarea/TextareaLength.stories.mdx +110 -0
  315. package/src/stories/Textarea/TextareaSlots.stories.mdx +61 -23
  316. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +78 -0
  317. package/src/stories/argTypes.ts +433 -0
  318. package/src/test/expect.ts +27 -6
  319. package/src/test/options.ts +17 -0
  320. package/src/test/sleep.ts +2 -0
  321. package/src/test/types.d.ts +14 -0
  322. package/src/types/generic.d.ts +5 -0
  323. package/src/utils/ObjectUtilities.ts +253 -244
  324. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  325. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  326. package/dist/components/VvAccordion/vv-accordion.es.js +0 -262
  327. package/dist/components/VvAccordion/vv-accordion.umd.js +0 -1
  328. package/dist/components/VvAccordionGroup/vv-accordion-group.es.js +0 -315
  329. package/dist/components/VvAccordionGroup/vv-accordion-group.umd.js +0 -1
  330. package/dist/components/VvBadge/vv-badge.es.js +0 -18
  331. package/dist/components/VvBadge/vv-badge.umd.js +0 -1
  332. package/dist/components/VvBreadcrumb/vv-breadcrumb.es.js +0 -206
  333. package/dist/components/VvBreadcrumb/vv-breadcrumb.umd.js +0 -1
  334. package/dist/components/VvButton/VvButton.d.ts +0 -115
  335. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -23
  336. package/dist/components/VvButton/vv-button.es.js +0 -422
  337. package/dist/components/VvButton/vv-button.umd.js +0 -1
  338. package/dist/components/VvButtonGroup/VvButtonGroup.d.ts +0 -57
  339. package/dist/components/VvButtonGroup/vv-button-group.es.js +0 -210
  340. package/dist/components/VvButtonGroup/vv-button-group.umd.js +0 -1
  341. package/dist/components/VvCard/vv-card.es.js +0 -188
  342. package/dist/components/VvCard/vv-card.umd.js +0 -1
  343. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  344. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  345. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  346. package/dist/components/VvCheck/vv-check.es.js +0 -321
  347. package/dist/components/VvCheck/vv-check.umd.js +0 -1
  348. package/dist/components/VvCheckGroup/VvCheckGroup.d.ts +0 -65
  349. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  350. package/dist/components/VvCheckGroup/vv-check-group.es.js +0 -452
  351. package/dist/components/VvCheckGroup/vv-check-group.umd.js +0 -2
  352. package/dist/components/VvDialog/constants.d.ts +0 -5
  353. package/dist/components/VvDialog/vv-dialog.es.js +0 -315
  354. package/dist/components/VvDialog/vv-dialog.umd.js +0 -1
  355. package/dist/components/VvDropdown/VvDropdown.d.ts +0 -52
  356. package/dist/components/VvDropdown/vv-dropdown.es.js +0 -236
  357. package/dist/components/VvDropdown/vv-dropdown.umd.js +0 -1
  358. package/dist/components/VvIcon/vv-icon.es.js +0 -229
  359. package/dist/components/VvIcon/vv-icon.umd.js +0 -1
  360. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  361. package/dist/components/VvInputText/constants.d.ts +0 -55
  362. package/dist/components/VvInputText/vv-input-text.es.js +0 -725
  363. package/dist/components/VvInputText/vv-input-text.umd.js +0 -2
  364. package/dist/components/VvNativeSelect/VvNativeSelect.d.ts +0 -70
  365. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +0 -228
  366. package/dist/components/VvNativeSelect/vv-native-select.es.js +0 -414
  367. package/dist/components/VvNativeSelect/vv-native-select.umd.js +0 -2
  368. package/dist/components/VvProgress/VvProgress.d.ts +0 -29
  369. package/dist/components/VvProgress/vv-progress.es.js +0 -185
  370. package/dist/components/VvProgress/vv-progress.umd.js +0 -1
  371. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  372. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  373. package/dist/components/VvRadio/vv-radio.es.js +0 -309
  374. package/dist/components/VvRadio/vv-radio.umd.js +0 -1
  375. package/dist/components/VvRadioGroup/VvRadioGroup.d.ts +0 -54
  376. package/dist/components/VvRadioGroup/vv-radio-group.es.js +0 -441
  377. package/dist/components/VvRadioGroup/vv-radio-group.umd.js +0 -2
  378. package/dist/components/VvSelect/vv-select.es.js +0 -445
  379. package/dist/components/VvSelect/vv-select.umd.js +0 -2
  380. package/dist/components/VvTextarea/VvTextarea.d.ts +0 -88
  381. package/dist/components/VvTextarea/constants.d.ts +0 -19
  382. package/dist/components/VvTextarea/vv-textarea.es.js +0 -548
  383. package/dist/components/VvTextarea/vv-textarea.umd.js +0 -2
  384. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +0 -2
  385. package/dist/composables/focus/useComponentFocus.d.ts +0 -7
  386. package/dist/composables/options/useOptions.d.ts +0 -5
  387. package/dist/composables/textLimit/useTextLimit.d.ts +0 -14
  388. package/dist/stories/Icon/IconList.vue.d.ts +0 -44
  389. package/dist/stories/utils.d.ts +0 -5
  390. package/dist/ui-vue.es.js +0 -3001
  391. package/dist/ui-vue.umd.js +0 -2
  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/VvBadge/VvBadge.ts +0 -4
  396. package/src/components/VvButton/VvButton.ts +0 -117
  397. package/src/components/VvButton/useButtonGroupProps.ts +0 -51
  398. package/src/components/VvButtonGroup/VvButtonGroup.ts +0 -37
  399. package/src/components/VvCheck/VvCheck.ts +0 -48
  400. package/src/components/VvCheck/VvCheck.vue +0 -149
  401. package/src/components/VvCheck/useCheckProps.ts +0 -41
  402. package/src/components/VvCheckGroup/VvCheckGroup.ts +0 -34
  403. package/src/components/VvCheckGroup/VvCheckGroup.vue +0 -84
  404. package/src/components/VvDialog/VvDialog.ts +0 -17
  405. package/src/components/VvDialog/constants.ts +0 -5
  406. package/src/components/VvDropdown/VvDropdown.ts +0 -46
  407. package/src/components/VvInputText/VvInputText.ts +0 -66
  408. package/src/components/VvInputText/constants.ts +0 -34
  409. package/src/components/VvNativeSelect/VvNativeSelect.ts +0 -70
  410. package/src/components/VvNativeSelect/VvNativeSelect.vue +0 -106
  411. package/src/components/VvProgress/VvProgress.ts +0 -28
  412. package/src/components/VvRadio/VvRadio.ts +0 -25
  413. package/src/components/VvRadio/useRadioProps.ts +0 -40
  414. package/src/components/VvRadioGroup/VvRadioGroup.ts +0 -25
  415. package/src/components/VvSelect/VvSelect.ts +0 -91
  416. package/src/components/VvTextarea/VvTextarea.ts +0 -64
  417. package/src/components/VvTextarea/constants.ts +0 -14
  418. package/src/composables/debouncedInput/useDebouncedInput.ts +0 -19
  419. package/src/composables/focus/useComponentFocus.ts +0 -22
  420. package/src/composables/options/useOptions.ts +0 -27
  421. package/src/composables/textLimit/useTextLimit.ts +0 -44
  422. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  423. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  424. package/src/stories/Accordion/accordionTest.js +0 -36
  425. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  426. package/src/stories/AccordionGroup/AccordionItems.stories.mdx +0 -51
  427. package/src/stories/AccordionGroup/accordionGroupTest.js +0 -51
  428. package/src/stories/Badge/BadgeColor.stories.mdx +0 -54
  429. package/src/stories/Badge/BadgeDot.stories.mdx +0 -20
  430. package/src/stories/Badge/BadgeTest.js +0 -21
  431. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +0 -41
  432. package/src/stories/Button/ButtonBadge.stories.mdx +0 -34
  433. package/src/stories/Button/ButtonIconPosition.stories.mdx +0 -106
  434. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  435. package/src/stories/Button/test.js +0 -41
  436. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +0 -83
  437. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +0 -50
  438. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +0 -40
  439. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +0 -38
  440. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +0 -77
  441. package/src/stories/ButtonGroup/ButtonGroupTest.js +0 -61
  442. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +0 -38
  443. package/src/stories/Card/CardVariant.stories.mdx +0 -37
  444. package/src/stories/Check/Check.stories.mdx +0 -62
  445. package/src/stories/Check/CheckBinary.stories.mdx +0 -80
  446. package/src/stories/Check/CheckDisabled.stories.mdx +0 -30
  447. package/src/stories/Check/CheckError.stories.mdx +0 -64
  448. package/src/stories/Check/CheckErrorTests.js +0 -72
  449. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  450. package/src/stories/Check/CheckPropertyTest.js +0 -101
  451. package/src/stories/Check/CheckReadonly.stories.mdx +0 -30
  452. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  453. package/src/stories/Check/CheckSwitch.stories.mdx +0 -30
  454. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  455. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  456. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  457. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  458. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  459. package/src/stories/CheckGroup/CheckGroupOptionLabel.stories.mdx +0 -48
  460. package/src/stories/CheckGroup/CheckGroupOptionValue.stories.mdx +0 -48
  461. package/src/stories/CheckGroup/CheckGroupOptions.stories.mdx +0 -40
  462. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  463. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  464. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  465. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  466. package/src/stories/Dialog/DialogAutoClose.stories.mdx +0 -18
  467. package/src/stories/Dialog/DialogSize.stories.mdx +0 -36
  468. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +0 -25
  469. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +0 -25
  470. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +0 -26
  471. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +0 -56
  472. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +0 -58
  473. package/src/stories/Icon/IconList.vue +0 -34
  474. package/src/stories/Icon/IconPrefix.stories.mdx +0 -79
  475. package/src/stories/Icon/IconRemote.stories.mdx +0 -39
  476. package/src/stories/Icon/IconTest.js +0 -27
  477. package/src/stories/Icon/IconsList.stories.mdx +0 -35
  478. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +0 -15
  479. package/src/stories/InputText/InputTextAutofocus.stories.mdx +0 -20
  480. package/src/stories/InputText/InputTextDisabled.stories.mdx +0 -19
  481. package/src/stories/InputText/InputTextError.stories.mdx +0 -19
  482. package/src/stories/InputText/InputTextFloating.stories.mdx +0 -20
  483. package/src/stories/InputText/InputTextHintLabel.stories.mdx +0 -18
  484. package/src/stories/InputText/InputTextIcon.stories.mdx +0 -18
  485. package/src/stories/InputText/InputTextLabel.stories.mdx +0 -15
  486. package/src/stories/InputText/InputTextLoading.stories.mdx +0 -19
  487. package/src/stories/InputText/InputTextMax.stories.mdx +0 -31
  488. package/src/stories/InputText/InputTextMaxLength.stories.mdx +0 -36
  489. package/src/stories/InputText/InputTextMin.stories.mdx +0 -31
  490. package/src/stories/InputText/InputTextMinLength.stories.mdx +0 -15
  491. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +0 -15
  492. package/src/stories/InputText/InputTextReadonly.stories.mdx +0 -19
  493. package/src/stories/InputText/InputTextStep.stories.mdx +0 -31
  494. package/src/stories/InputText/InputTextValid.stories.mdx +0 -19
  495. package/src/stories/NativeSelect/NativeSelect.stories.mdx +0 -53
  496. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +0 -32
  497. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +0 -36
  498. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +0 -34
  499. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +0 -42
  500. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +0 -27
  501. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +0 -78
  502. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +0 -34
  503. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +0 -66
  504. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +0 -36
  505. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +0 -66
  506. package/src/stories/Progress/ProgressDeterminate.stories.mdx +0 -19
  507. package/src/stories/Radio/RadioDisabled.stories.mdx +0 -30
  508. package/src/stories/Radio/RadioError.stories.mdx +0 -64
  509. package/src/stories/Radio/RadioHintLabel.stories.mdx +0 -30
  510. package/src/stories/Radio/RadioTest.js +0 -89
  511. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +0 -29
  512. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +0 -31
  513. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +0 -28
  514. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +0 -29
  515. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +0 -65
  516. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +0 -65
  517. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +0 -29
  518. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +0 -31
  519. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +0 -29
  520. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  521. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  522. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  523. package/src/stories/Select/SelectDisabled.stories.mdx +0 -32
  524. package/src/stories/Select/SelectMaxValues.stories.mdx +0 -33
  525. package/src/stories/Select/SelectMultiple.stories.mdx +0 -64
  526. package/src/stories/Select/SelectSearchable.stories.mdx +0 -80
  527. package/src/stories/Select/SelectSeparator.stories.mdx +0 -64
  528. package/src/stories/Select/SelectUseObject.stories.mdx +0 -66
  529. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +0 -23
  530. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +0 -23
  531. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +0 -24
  532. package/src/stories/Textarea/TextareaDebounce.stories.mdx +0 -23
  533. package/src/stories/Textarea/TextareaDisabled.stories.mdx +0 -23
  534. package/src/stories/Textarea/TextareaError.stories.mdx +0 -22
  535. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +0 -37
  536. package/src/stories/Textarea/TextareaFloating.stories.mdx +0 -25
  537. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +0 -22
  538. package/src/stories/Textarea/TextareaIcon.stories.mdx +0 -22
  539. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +0 -39
  540. package/src/stories/Textarea/TextareaId.stories.mdx +0 -19
  541. package/src/stories/Textarea/TextareaLabel.stories.mdx +0 -19
  542. package/src/stories/Textarea/TextareaLimit.stories.mdx +0 -50
  543. package/src/stories/Textarea/TextareaLoading.stories.mdx +0 -22
  544. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +0 -23
  545. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +0 -19
  546. package/src/stories/Textarea/TextareaMinLength.stories.mdx +0 -19
  547. package/src/stories/Textarea/TextareaModifiers.stories.mdx +0 -24
  548. package/src/stories/Textarea/TextareaName.stories.mdx +0 -23
  549. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +0 -19
  550. package/src/stories/Textarea/TextareaReadonly.stories.mdx +0 -23
  551. package/src/stories/Textarea/TextareaRequired.stories.mdx +0 -22
  552. package/src/stories/Textarea/TextareaResizable.stories.mdx +0 -22
  553. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +0 -39
  554. package/src/stories/Textarea/TextareaValid.stories.mdx +0 -22
  555. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +0 -35
  556. package/src/stories/stories.scss +0 -35
  557. package/src/stories/utils.ts +0 -12
  558. package/src/stories/volver-ui-vue.stories.mdx +0 -77
  559. package/src/types/.README +0 -0
@@ -1,27 +1,48 @@
1
1
  import { expect } from '@storybook/jest'
2
2
  import { userEvent } from '@storybook/testing-library'
3
3
  import { axe } from 'jest-axe'
4
+ import { sleep } from '@/test/sleep'
4
5
 
5
6
  declare global {
6
7
  // eslint-disable-next-line @typescript-eslint/no-namespace
7
8
  namespace jest {
9
+ // eslint-disable-next-line
10
+ interface Matchers<R> {
11
+ toBeChecked: (expected?: HTMLElement) => CustomMatcherResult
12
+ }
13
+ // eslint-disable-next-line
8
14
  interface Matchers<R> {
9
15
  toBeClicked: (expected?: HTMLElement) => CustomMatcherResult
10
16
  }
17
+ // eslint-disable-next-line
11
18
  interface Matchers<R> {
12
19
  toHaveClass: (
13
20
  className: string | string[],
14
- expected?: HTMLElement
21
+ expected?: HTMLElement,
15
22
  ) => CustomMatcherResult
16
23
  }
17
24
  }
18
25
  }
19
26
 
20
27
  expect.extend({
28
+ async toBeChecked(checkbox: HTMLInputElement) {
29
+ await checkbox.click()
30
+ await sleep()
31
+ if (checkbox.checked) {
32
+ return {
33
+ pass: true,
34
+ message: () => `Checkbox is checked`,
35
+ }
36
+ }
37
+ return {
38
+ pass: false,
39
+ message: () => `Checkbox is not checked`,
40
+ }
41
+ },
21
42
  async toBeClicked(element: HTMLElement) {
22
43
  const result = {
23
44
  pass: false,
24
- message: () => "Click event don't works"
45
+ message: () => "Click event don't works",
25
46
  }
26
47
  element.addEventListener('click', () => {
27
48
  result.pass = true
@@ -34,19 +55,19 @@ expect.extend({
34
55
  const results = await axe(element)
35
56
  return {
36
57
  pass: results.violations.length === 0,
37
- message: () => 'Element has violations'
58
+ message: () => 'Element has violations',
38
59
  }
39
60
  },
40
61
  async toHaveClass(element: HTMLElement, className: string | string[]) {
41
62
  const classes = !Array.isArray(className) ? [className] : className
42
63
  return {
43
64
  pass: classes.every((cssClass) =>
44
- element.classList.contains(cssClass)
65
+ element.classList.contains(cssClass),
45
66
  ),
46
67
  message: () =>
47
- `One of these clsses doesn't exist: ${classes.join(', ')}`
68
+ `One of these classes doesn't exist: ${classes.join(', ')}`,
48
69
  }
49
- }
70
+ },
50
71
  })
51
72
 
52
73
  export { expect }
@@ -0,0 +1,17 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ export const getOptionValue = (args: any, index: number) => {
3
+ if (args.options && args.options.length > index) {
4
+ let value = args.options[index]
5
+ if (args.valueKey) {
6
+ if (typeof args.valueKey === 'function') {
7
+ value = args.valueKey(value)
8
+ } else if (typeof value === 'object') {
9
+ value = value[args.valueKey]
10
+ }
11
+ } else if (typeof value === 'object') {
12
+ value = value.value
13
+ }
14
+ return value
15
+ }
16
+ return undefined
17
+ }
@@ -0,0 +1,2 @@
1
+ export const sleep = async (ms = 300) =>
2
+ await new Promise((resolve) => setTimeout(resolve, ms))
@@ -1,3 +1,17 @@
1
1
  export interface PlayAttributes {
2
2
  canvasElement: HTMLElement
3
+ // eslint-disable-next-line
4
+ args: Record<string, any>
5
+ name?: string
6
+ }
7
+
8
+ interface ComponentConfig {
9
+ isClickDisabled?: boolean
10
+ className?: string | string[] | null
11
+ slotContent?: string | null
12
+ customText?: string | null
13
+ customElement?: HTMLElement | HTMLOrSVGElement | null
14
+ isVertical?: boolean
15
+ child?: number
16
+ propName?: string
3
17
  }
@@ -1 +1,6 @@
1
1
  export type Nullable<T> = T | null | undefined
2
+
3
+ export type Option = {
4
+ [key: string]: unknown
5
+ disabled?: boolean
6
+ }
@@ -1,275 +1,284 @@
1
- export default {
2
- /**
3
- * Compare objects, primitives, array, dates, regexp
4
- * @param {any} obj1 first literal
5
- * @param {any} obj2 second literal
6
- * @param {string} field optional field of obj1 and obj2 (also nested dotted field "prop1.prop12")
7
- * @returns {boolean}
8
- */
9
- equals(obj1: any, obj2: any, field?: string) {
10
- if (field)
11
- return (
12
- this.resolveFieldData(obj1, field) ===
13
- this.resolveFieldData(obj2, field)
14
- )
15
- else return this.deepEquals(obj1, obj2)
16
- },
17
-
18
- /**
19
- * Compare objects, primitives, array, dates, regexp
20
- * @param {any} a first literal
21
- * @param {any} b second literal
22
- * @returns {boolean}
23
- */
24
- deepEquals(a: any, b: any) {
25
- if (a === b) return true
26
-
27
- if (a && b && typeof a == 'object' && typeof b == 'object') {
28
- const arrA = Array.isArray(a)
29
- const arrB = Array.isArray(b)
30
- let i, length, key
31
-
32
- if (arrA && arrB) {
33
- length = a.length
34
- if (length != b.length) return false
35
- for (i = length; i-- !== 0; )
36
- if (!this.deepEquals(a[i], b[i])) return false
1
+ import { unref, type Ref } from 'vue'
2
+
3
+ /**
4
+ * Compare objects, primitives, array, dates, regexp
5
+ * @param {any} obj1 first literal
6
+ * @param {any} obj2 second literal
7
+ * @param {string} field optional field of obj1 and obj2 (also nested dotted field "prop1.prop12")
8
+ * @returns {boolean}
9
+ */
10
+ // eslint-disable-next-line
11
+ export function equals(obj1: any, obj2: any, field?: string) {
12
+ if (field)
13
+ return resolveFieldData(obj1, field) === resolveFieldData(obj2, field)
14
+ else return deepEquals(obj1, obj2)
15
+ }
37
16
 
38
- return true
39
- }
17
+ /**
18
+ * Compare objects, primitives, array, dates, regexp
19
+ * @param {any} a first literal
20
+ * @param {any} b second literal
21
+ * @returns {boolean}
22
+ */
23
+ // eslint-disable-next-line
24
+ export function deepEquals(a: any, b: any) {
25
+ if (a === b) return true
26
+
27
+ if (a && b && typeof a == 'object' && typeof b == 'object') {
28
+ const arrA = Array.isArray(a)
29
+ const arrB = Array.isArray(b)
30
+ let i, length, key
31
+
32
+ if (arrA && arrB) {
33
+ length = a.length
34
+ if (length != b.length) return false
35
+ for (i = length; i-- !== 0; )
36
+ if (!deepEquals(a[i], b[i])) return false
40
37
 
41
- if (arrA != arrB) return false
38
+ return true
39
+ }
42
40
 
43
- const dateA = a instanceof Date,
44
- dateB = b instanceof Date
41
+ if (arrA != arrB) return false
45
42
 
46
- if (dateA != dateB) return false
47
- if (dateA && dateB) return a.getTime() == b.getTime()
43
+ const dateA = a instanceof Date,
44
+ dateB = b instanceof Date
48
45
 
49
- const regexpA = a instanceof RegExp,
50
- regexpB = b instanceof RegExp
46
+ if (dateA != dateB) return false
47
+ if (dateA && dateB) return a.getTime() == b.getTime()
51
48
 
52
- if (regexpA != regexpB) return false
53
- if (regexpA && regexpB) return a.toString() == b.toString()
49
+ const regexpA = a instanceof RegExp,
50
+ regexpB = b instanceof RegExp
54
51
 
55
- const keys = Object.keys(a)
52
+ if (regexpA != regexpB) return false
53
+ if (regexpA && regexpB) return a.toString() == b.toString()
56
54
 
57
- length = keys.length
55
+ const keys = Object.keys(a)
58
56
 
59
- if (length !== Object.keys(b).length) return false
57
+ length = keys.length
60
58
 
61
- for (i = length; i-- !== 0; )
62
- if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
63
- return false
59
+ if (length !== Object.keys(b).length) return false
64
60
 
65
- for (i = length; i-- !== 0; ) {
66
- key = keys[i]
67
- if (!this.deepEquals(a[key], b[key])) return false
68
- }
61
+ for (i = length; i-- !== 0; )
62
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false
69
63
 
70
- return true
64
+ for (i = length; i-- !== 0; ) {
65
+ key = keys[i]
66
+ if (!deepEquals(a[key], b[key])) return false
71
67
  }
72
68
 
73
- return a !== a && b !== b
74
- },
75
-
76
- /**
77
- * Find and return field or nested field from object (also nested dotted field)
78
- * @param {object} data object that contains the field
79
- * @param {string} field ex: "prop1" or "prop1.prop12"
80
- * @returns {boolean}
81
- */
82
- resolveFieldData(data: { [key: string]: any }, field: string) {
83
- if (data && Object.keys(data).length && field) {
84
- if (field.indexOf('.') === -1) {
85
- return data[field]
86
- } else {
87
- const fields = field.split('.')
88
- let value = data
89
-
90
- for (let i = 0, len = fields.length; i < len; ++i) {
91
- if (data == null) {
92
- return null
93
- }
94
-
95
- value = value[fields[i]]
96
- }
69
+ return true
70
+ }
97
71
 
98
- return value
99
- }
72
+ return a !== a && b !== b
73
+ }
74
+
75
+ /**
76
+ * Find and return field or nested field from object (also nested dotted field)
77
+ * @param {object} data object that contains the field
78
+ * @param {string} field ex: "prop1" or "prop1.prop12"
79
+ * @returns {boolean}
80
+ */
81
+ export function resolveFieldData(data: Record<string, unknown>, field: string) {
82
+ if (data && Object.keys(data).length && field) {
83
+ if (field.indexOf('.') === -1) {
84
+ return data[field]
100
85
  } else {
101
- return null
102
- }
103
- },
104
-
105
- /**
106
- * @param {any} obj data to check
107
- * @returns {boolean}
108
- */
109
- isFunction(obj: any) {
110
- return !!(obj && obj.constructor && obj.call && obj.apply)
111
- },
112
-
113
- /**
114
- * Return the index of value in list array
115
- * @param {any} value the element to find
116
- * @param {Array<any>} list array list
117
- * @returns {number} the index
118
- */
119
- findIndexInList(value: any, list: Array<any>) {
120
- let index = -1
121
-
122
- if (list) {
123
- for (let i = 0; i < list.length; i++) {
124
- if (this.equals(list[i], value)) {
125
- index = i
126
- break
86
+ const fields = field.split('.')
87
+ let value = data
88
+
89
+ for (let i = 0, len = fields.length; i < len; ++i) {
90
+ if (data == null) {
91
+ return null
127
92
  }
93
+
94
+ value = value[fields[i]] as Record<string, unknown>
128
95
  }
96
+
97
+ return value
129
98
  }
99
+ } else {
100
+ return null
101
+ }
102
+ }
103
+
104
+ /**
105
+ * @param {any} obj data to check
106
+ * @returns {boolean}
107
+ */
108
+ // eslint-disable-next-line
109
+ export function isFunction(obj: any) {
110
+ return !!(obj && obj.constructor && obj.call && obj.apply)
111
+ }
130
112
 
131
- return index
132
- },
133
-
134
- /**
135
- * Return the index of value in list array
136
- * @param {any} value the element to find
137
- * @param {Array<any>} list array list
138
- * @returns {boolean} the index
139
- */
140
- contains(value: any, list: Array<any>) {
141
- if (value != null && list && list.length) {
142
- for (const val of list) {
143
- if (this.equals(value, val)) return true
113
+ /**
114
+ * Return the index of value in list array
115
+ * @param {any} value the element to find
116
+ * @param {Array<any>} list array list
117
+ * @returns {number} the index
118
+ */
119
+ export function findIndexInList<Type = unknown>(value: Type, list: Type[]) {
120
+ let index = -1
121
+
122
+ if (list) {
123
+ for (let i = 0; i < list.length; i++) {
124
+ if (equals(list[i], value)) {
125
+ index = i
126
+ break
144
127
  }
145
128
  }
129
+ }
146
130
 
147
- return false
148
- },
149
-
150
- /**
151
- * @param {string | null | undefined | number | Array<any> | object} value element to checj
152
- * @returns {boolean}
153
- */
154
- isEmpty(value: string | null | undefined | number | Array<any> | object) {
155
- return (
156
- value === null ||
157
- value === undefined ||
158
- value === '' ||
159
- (Array.isArray(value) && value.length === 0) ||
160
- (!(value instanceof Date) &&
161
- typeof value === 'object' &&
162
- Object.keys(value).length === 0)
163
- )
164
- },
165
-
166
- /**
167
- * @param {string | null | undefined | number | Array<any> | object} value element to checj
168
- * @returns {boolean}
169
- */
170
- isNotEmpty(
171
- value: string | null | undefined | number | Array<any> | object
172
- ) {
173
- return !this.isEmpty(value)
174
- },
175
-
176
- /**
177
- * Return the object entries that match the predicate passed
178
- * @param {Object} value
179
- * @param {Function} predicate
180
- * @returns {Object}
181
- */
182
- pickBy(value: { [key: string]: any }, predicate: (k: string) => boolean) {
183
- return Object.fromEntries(
184
- Object.entries(value).filter(([key]) => predicate(key))
185
- )
186
- },
187
-
188
- /**
189
- * Remove a value from an Array
190
- * @param {any} value the element to remove
191
- * @param {Array<any>} list
192
- * @returns {Array<any>}
193
- */
194
- removeFromList(value: any, list: Array<any>) {
195
- //check off
196
- const indexElToRemove = this.findIndexInList(value, list)
197
- if (indexElToRemove > -1) {
198
- return list.filter((el, elIndex) => elIndex !== indexElToRemove)
199
- } else {
200
- return list
131
+ return index
132
+ }
133
+
134
+ /**
135
+ * Return the index of value in list array
136
+ * @param {any} value the element to find
137
+ * @param {Array<any>} list array list
138
+ * @returns {boolean} the index
139
+ */
140
+ export function contains<Type = unknown>(value: Type, list: Type[]) {
141
+ if (value != null && list && list.length) {
142
+ for (const val of list) {
143
+ if (equals(value, val)) {
144
+ return true
145
+ }
201
146
  }
202
- },
203
-
204
- /**
205
- * @param {any} value
206
- * @returns {boolean}
207
- */
208
- isString(value: any) {
209
- return typeof value === 'string' || value instanceof String
210
- },
211
-
212
- /**
213
- * Convert props definition to object with "prop" as key and default as value
214
- * @param {ComponentObjectPropsOptions} props vue component props
215
- * @returns {Object}
216
- */
217
- propsToObject(props: any) {
218
- return Object.keys(props).reduce((initValue: any, value: any) => {
219
- if (this.isFunction(props[value])) {
147
+ }
148
+ return false
149
+ }
150
+
151
+ /**
152
+ * @param {boolean | string | null | undefined | number | Array<unknown> | object} value element to checj
153
+ * @returns {boolean}
154
+ */
155
+ export function isEmpty(
156
+ value:
157
+ | boolean
158
+ | string
159
+ | null
160
+ | undefined
161
+ | number
162
+ | unknown[]
163
+ | object
164
+ | Ref,
165
+ ) {
166
+ return ((value) =>
167
+ value === null ||
168
+ value === undefined ||
169
+ value === '' ||
170
+ (Array.isArray(value) && value.length === 0) ||
171
+ (!(value instanceof Date) &&
172
+ typeof value === 'object' &&
173
+ Object.keys(value).length === 0))(unref(value))
174
+ }
175
+
176
+ /**
177
+ * Return the object entries that match the predicate passed
178
+ * @param {Object} value
179
+ * @param {Function} predicate
180
+ * @returns {Object}
181
+ */
182
+ export function pickBy(
183
+ value: Record<string, unknown>,
184
+ predicate: (k: string) => boolean,
185
+ ) {
186
+ return Object.fromEntries(
187
+ Object.entries(value).filter(([key]) => predicate(key)),
188
+ )
189
+ }
190
+
191
+ /**
192
+ * Remove a value from an Array
193
+ * @param {any} value the element to remove
194
+ * @param {Array<any>} list
195
+ * @returns {Array<any>}
196
+ */
197
+ export function removeFromList<Type = unknown>(value: Type, list: Type[]) {
198
+ //check off
199
+ const indexElToRemove = findIndexInList(value, list)
200
+ if (indexElToRemove > -1) {
201
+ return list.filter((el, elIndex) => elIndex !== indexElToRemove)
202
+ } else {
203
+ return list
204
+ }
205
+ }
206
+
207
+ /**
208
+ * @param {any} value
209
+ * @returns {boolean}
210
+ */
211
+ export function isString(value: unknown) {
212
+ return typeof value === 'string' || value instanceof String
213
+ }
214
+
215
+ /**
216
+ * Convert props definition to object with "prop" as key and default as value
217
+ * @param {ComponentObjectPropsOptions} props vue component props
218
+ * @returns {Object}
219
+ */
220
+ // eslint-disable-next-line
221
+ export function propsToObject(props: any) {
222
+ return Object.keys(props).reduce(
223
+ (accumulator: Record<string, unknown>, key: string) => {
224
+ if (key === 'modelValue') {
225
+ return accumulator
226
+ }
227
+ if ('default' in props[key]) {
228
+ accumulator[key] = props[key].default
229
+ return accumulator
230
+ }
231
+ if (isFunction(props[key])) {
220
232
  // case prop1: String
221
- initValue[value] = props[value]()
222
- } else if (Array.isArray(props[value])) {
233
+ accumulator[key] = props[key]()
234
+ return accumulator
235
+ }
236
+ if (Array.isArray(props[key])) {
223
237
  // case prop1: [ String, Array ]
224
- initValue[value] = props[value][0]()
225
- } else if (props[value]?.type) {
226
- // case prop1: { type: ... }
227
- if (Array.isArray(props[value].type)) {
228
- // case prop1: { type: [ String, Array ] }
229
- initValue[value] =
230
- props[value]?.default || props[value]?.type[0]()
231
- } else {
232
- // case prop1: { type: String }
233
- initValue[value] =
234
- props[value]?.default || props[value]?.type()
235
- }
238
+ accumulator[key] = props[key][0]()
239
+ return accumulator
240
+ }
241
+ // case prop1: { type: ... }
242
+ if (Array.isArray(props[key].type)) {
243
+ accumulator[key] = props[key]?.type[0]()
244
+ return accumulator
236
245
  }
237
- return initValue
238
- }, {})
239
- },
240
-
241
- /**
242
- * Filter array objects by filter array
243
- * @param {object[]} list the listo to filter
244
- * @param {object[] | string[]} filter the filter list, array of string or array of object
245
- * @param {string} key
246
- * @return {object[]}
247
- */
248
- filterArray<T = { [key: string]: any }>(
249
- list: T[],
250
- filter: T[] | string[],
251
- key: string
252
- ): T[] {
253
- return list.filter((el) => {
254
- return filter.some((f) => {
255
- return typeof f === 'string'
256
- ? el[key as keyof typeof el] == f
257
- : this.equals(
258
- el[key as keyof typeof el],
259
- f[key as keyof typeof f]
260
- )
261
- })
246
+ // case prop1: { type: String }
247
+ accumulator[key] = props[key]?.type()
248
+ return accumulator
249
+ },
250
+ {} as Record<string, unknown>,
251
+ )
252
+ }
253
+
254
+ /**
255
+ * Filter array objects by filter array
256
+ * @param {object[]} list the listo to filter
257
+ * @param {object[] | string[]} filter the filter list, array of string or array of object
258
+ * @param {string} key
259
+ * @return {object[]}
260
+ */
261
+ export function filterArray<T = Record<string, unknown>>(
262
+ list: T[],
263
+ filter: T[] | string[],
264
+ key: string,
265
+ ): T[] {
266
+ return list.filter((el) => {
267
+ return filter.some((f) => {
268
+ return typeof f === 'string'
269
+ ? el[key as keyof typeof el] == f
270
+ : equals(el[key as keyof typeof el], f[key as keyof typeof f])
262
271
  })
263
- },
272
+ })
273
+ }
264
274
 
265
- kebabCase(value: string) {
266
- if (value) {
267
- return value
268
- .match(
269
- /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
270
- )
271
- ?.join('-')
272
- ?.toLowerCase()
273
- }
275
+ export function kebabCase(value: string) {
276
+ if (value) {
277
+ return value
278
+ .match(
279
+ /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,
280
+ )
281
+ ?.join('-')
282
+ ?.toLowerCase()
274
283
  }
275
284
  }
@@ -1,32 +0,0 @@
1
- import type { ExtractPropTypes } from 'vue';
2
- export declare const VvAccordionProps: {
3
- /**
4
- * Accordion header title
5
- */
6
- title: StringConstructor;
7
- /**
8
- * Accordion content description
9
- */
10
- content: StringConstructor;
11
- /**
12
- * (Optional) Defines if item is open. Event "update:open" is emitted on accordion header click
13
- */
14
- open: BooleanConstructor;
15
- /**
16
- * Change icon position to right side
17
- */
18
- iconRight: BooleanConstructor;
19
- /**
20
- * Add border to accordion item
21
- */
22
- bordered: BooleanConstructor;
23
- /**
24
- * String or String[] of css classes (modifiers) that will be concatenated to prefix 'vv-accordion--'
25
- */
26
- modifiers: (StringConstructor | ArrayConstructor)[];
27
- disabled: BooleanConstructor;
28
- };
29
- export declare const VvAccordionEvents: string[];
30
- declare type _VvAccordionPropsType = typeof VvAccordionProps;
31
- export declare type VvAccordionPropsTypes = ExtractPropTypes<_VvAccordionPropsType>;
32
- export {};