@volverjs/ui-vue 0.0.1-beta.6 → 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 (548) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +101 -7
  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 +214 -256
  64. package/dist/components/VvInputText/VvInputTextActions.d.ts +3 -0
  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 +147 -273
  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} +8 -1
  98. package/dist/composables/useDebouncedInput.d.ts +2 -0
  99. package/dist/composables/useModifiers.d.ts +3 -2
  100. package/dist/composables/useOptions.d.ts +6 -0
  101. package/dist/composables/useTextCount.d.ts +10 -0
  102. package/dist/constants.d.ts +4 -4
  103. package/dist/icons.d.ts +1881 -0
  104. package/dist/icons.es.js +12 -14
  105. package/dist/icons.umd.js +1 -1
  106. package/dist/index.d.ts +9 -4
  107. package/dist/index.es.js +2350 -0
  108. package/dist/index.umd.js +1 -0
  109. package/dist/props/index.d.ts +322 -13
  110. package/dist/resolvers/unplugin.d.ts +27 -0
  111. package/dist/resolvers/unplugin.es.js +40 -0
  112. package/dist/resolvers/unplugin.umd.js +1 -0
  113. package/dist/stories/Accordion/Accordion.settings.d.ts +63 -0
  114. package/dist/stories/Accordion/Accordion.test.d.ts +2 -0
  115. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +58 -0
  116. package/dist/stories/AccordionGroup/AccordionGroup.test.d.ts +2 -0
  117. package/dist/stories/Badge/Badge.settings.d.ts +32 -0
  118. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  119. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +29 -0
  120. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  121. package/dist/stories/Button/Button.settings.d.ts +200 -0
  122. package/dist/stories/Button/Button.test.d.ts +1 -10
  123. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +38 -0
  124. package/dist/stories/ButtonGroup/ButtonGroup.test.d.ts +2 -0
  125. package/dist/stories/Card/Card.settings.d.ts +70 -0
  126. package/dist/stories/Card/Card.test.d.ts +2 -0
  127. package/dist/stories/Checkbox/Checkbox.settings.d.ts +165 -0
  128. package/dist/stories/Checkbox/Checkbox.test.d.ts +2 -0
  129. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +164 -0
  130. package/dist/stories/CheckboxGroup/CheckboxGroup.test.d.ts +2 -0
  131. package/dist/stories/Combobox/Combobox.settings.d.ts +267 -0
  132. package/dist/stories/Combobox/Combobox.test.d.ts +2 -0
  133. package/dist/stories/Dialog/Dialog.settings.d.ts +55 -0
  134. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  135. package/dist/stories/Dropdown/Dropdown.settings.d.ts +75 -0
  136. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  137. package/dist/stories/Icon/Icon.settings.d.ts +74 -0
  138. package/dist/stories/InputText/InputText.settings.d.ts +445 -0
  139. package/dist/stories/InputText/InputText.test.d.ts +2 -0
  140. package/dist/stories/Progress/Progress.settings.d.ts +38 -0
  141. package/dist/stories/Progress/Progress.test.d.ts +2 -0
  142. package/dist/stories/Radio/Radio.settings.d.ts +139 -0
  143. package/dist/stories/Radio/Radio.test.d.ts +2 -0
  144. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +164 -0
  145. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +2 -0
  146. package/dist/stories/Select/Select.settings.d.ts +265 -0
  147. package/dist/stories/Select/Select.test.d.ts +2 -0
  148. package/dist/stories/Textarea/Textarea.settings.d.ts +336 -0
  149. package/dist/stories/Textarea/Textarea.test.d.ts +2 -0
  150. package/dist/stories/argTypes.d.ts +793 -0
  151. package/dist/test/expect.d.ts +3 -0
  152. package/dist/test/options.d.ts +1 -0
  153. package/dist/test/sleep.d.ts +1 -0
  154. package/dist/utils/ObjectUtilities.d.ts +82 -95
  155. package/env.d.ts +1 -0
  156. package/package.json +198 -124
  157. package/src/{DesignSystem.ts → Volver.ts} +57 -29
  158. package/src/assets/icons/detailed.json +1 -1
  159. package/src/assets/icons/normal.json +1 -1
  160. package/src/assets/icons/simple.json +1 -1
  161. package/src/components/VvAccordion/VvAccordion.vue +94 -78
  162. package/src/components/VvAccordion/index.ts +72 -0
  163. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +93 -53
  164. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +18 -14
  165. package/src/components/VvBadge/VvBadge.vue +17 -8
  166. package/src/components/VvBadge/index.ts +6 -0
  167. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +26 -24
  168. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -2
  169. package/src/components/VvButton/VvButton.vue +174 -154
  170. package/src/components/VvButton/index.ts +171 -0
  171. package/src/components/VvButtonGroup/VvButtonGroup.vue +76 -48
  172. package/src/components/VvButtonGroup/index.ts +19 -0
  173. package/src/components/VvCard/VvCard.vue +20 -22
  174. package/src/components/VvCard/{VvCard.ts → index.ts} +1 -1
  175. package/src/components/VvCheckbox/VvCheckbox.vue +172 -0
  176. package/src/components/VvCheckbox/index.ts +60 -0
  177. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +85 -0
  178. package/src/components/VvCheckboxGroup/index.ts +5 -0
  179. package/src/components/VvCombobox/VvCombobox.vue +227 -0
  180. package/src/components/VvCombobox/index.ts +82 -0
  181. package/src/components/VvDialog/VvDialog.vue +69 -67
  182. package/src/components/VvDialog/index.ts +10 -0
  183. package/src/components/VvDropdown/VvDropdown.vue +112 -114
  184. package/src/components/VvDropdown/index.ts +25 -0
  185. package/src/components/VvIcon/README.md +64 -0
  186. package/src/components/VvIcon/VvIcon.vue +122 -107
  187. package/src/components/VvIcon/{VvIcon.ts → index.ts} +17 -8
  188. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  189. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  190. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  191. package/src/components/VvInputText/VvInputText.vue +293 -252
  192. package/src/components/VvInputText/VvInputTextActions.ts +100 -0
  193. package/src/components/VvInputText/index.ts +140 -0
  194. package/src/components/VvProgress/VvProgress.vue +29 -29
  195. package/src/components/VvProgress/index.ts +32 -0
  196. package/src/components/VvRadio/VvRadio.vue +90 -119
  197. package/src/components/VvRadio/index.ts +40 -0
  198. package/src/components/VvRadioGroup/VvRadioGroup.vue +76 -69
  199. package/src/components/VvRadioGroup/index.ts +5 -0
  200. package/src/components/VvSelect/VvSelect.vue +165 -186
  201. package/src/components/VvSelect/index.ts +74 -0
  202. package/src/components/VvTextarea/VvTextarea.vue +188 -180
  203. package/src/components/VvTextarea/index.ts +50 -0
  204. package/src/components/common/HintSlot.ts +169 -121
  205. package/src/components/index.ts +19 -12
  206. package/src/composables/group/types/IAccordionGroupState.ts +3 -4
  207. package/src/composables/group/types/IButtonGroupState.ts +5 -11
  208. package/src/composables/group/types/IGroupState.ts +4 -6
  209. package/src/composables/group/types/IInputGroup.ts +1 -4
  210. package/src/composables/group/useInjectedGroupState.ts +21 -33
  211. package/src/composables/group/useProvideGroupState.ts +5 -7
  212. package/src/composables/useComponentFocus.ts +17 -0
  213. package/src/composables/useComponentIcons.ts +96 -0
  214. package/src/composables/useDebouncedInput.ts +25 -0
  215. package/src/composables/useModifiers.ts +58 -14
  216. package/src/composables/useOptions.ts +31 -0
  217. package/src/composables/useTextCount.ts +57 -0
  218. package/src/constants.ts +5 -7
  219. package/src/directives/{.README → .gitkeep} +0 -0
  220. package/src/icons.ts +7 -0
  221. package/src/index.ts +12 -5
  222. package/src/props/index.ts +204 -15
  223. package/src/resolvers/unplugin.ts +103 -0
  224. package/src/shims.d.ts +13 -0
  225. package/src/stories/Accordion/Accordion.settings.ts +46 -0
  226. package/src/stories/Accordion/Accordion.stories.mdx +21 -21
  227. package/src/stories/Accordion/Accordion.test.ts +61 -0
  228. package/src/stories/Accordion/AccordionSlots.stories.mdx +46 -70
  229. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +55 -0
  230. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +24 -27
  231. package/src/stories/AccordionGroup/AccordionGroup.test.ts +50 -0
  232. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +56 -0
  233. package/src/stories/Badge/Badge.settings.ts +26 -0
  234. package/src/stories/Badge/Badge.stories.mdx +36 -24
  235. package/src/stories/Badge/Badge.test.ts +12 -0
  236. package/src/stories/Badge/BadgeSlots.stories.mdx +20 -0
  237. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +41 -0
  238. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +32 -29
  239. package/src/stories/Breadcrumb/Breadcrumb.test.ts +50 -0
  240. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +43 -0
  241. package/src/stories/Button/Button.settings.ts +150 -0
  242. package/src/stories/Button/Button.stories.mdx +20 -54
  243. package/src/stories/Button/Button.test.ts +35 -46
  244. package/src/stories/Button/ButtonIcon.stories.mdx +139 -29
  245. package/src/stories/Button/ButtonLink.stories.mdx +58 -111
  246. package/src/stories/Button/ButtonLoading.stories.mdx +89 -62
  247. package/src/stories/Button/ButtonModifiers.stories.mdx +198 -121
  248. package/src/stories/Button/ButtonSlots.stories.mdx +83 -95
  249. package/src/stories/Button/ButtonState.stories.mdx +75 -0
  250. package/src/stories/Button/ButtonToggle.stories.mdx +50 -0
  251. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +28 -0
  252. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +16 -18
  253. package/src/stories/ButtonGroup/ButtonGroup.test.ts +35 -0
  254. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +52 -0
  255. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +45 -114
  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 +122 -0
  271. package/src/stories/Combobox/Combobox.stories.mdx +153 -0
  272. package/src/stories/Combobox/Combobox.test.ts +96 -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 +42 -0
  281. package/src/stories/Dropdown/Dropdown.stories.mdx +85 -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 +100 -0
  308. package/src/stories/Select/Select.stories.mdx +113 -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 +160 -58
  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 +433 -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 -424
  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 -434
  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 -59
  362. package/dist/components/VvInputText/constants.d.ts +0 -55
  363. package/dist/components/VvInputText/useInputNumber.d.ts +0 -16
  364. package/dist/components/VvInputText/useInputPassword.d.ts +0 -16
  365. package/dist/components/VvInputText/vv-input-text.es.js +0 -596
  366. package/dist/components/VvInputText/vv-input-text.umd.js +0 -2
  367. package/dist/components/VvNativeSelect/VvNativeSelect.d.ts +0 -70
  368. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +0 -228
  369. package/dist/components/VvNativeSelect/vv-native-select.es.js +0 -395
  370. package/dist/components/VvNativeSelect/vv-native-select.umd.js +0 -2
  371. package/dist/components/VvProgress/VvProgress.d.ts +0 -29
  372. package/dist/components/VvProgress/vv-progress.es.js +0 -185
  373. package/dist/components/VvProgress/vv-progress.umd.js +0 -1
  374. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  375. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  376. package/dist/components/VvRadio/vv-radio.es.js +0 -309
  377. package/dist/components/VvRadio/vv-radio.umd.js +0 -1
  378. package/dist/components/VvRadioGroup/VvRadioGroup.d.ts +0 -54
  379. package/dist/components/VvRadioGroup/vv-radio-group.es.js +0 -423
  380. package/dist/components/VvRadioGroup/vv-radio-group.umd.js +0 -2
  381. package/dist/components/VvSelect/vv-select.es.js +0 -427
  382. package/dist/components/VvSelect/vv-select.umd.js +0 -2
  383. package/dist/components/VvTextarea/VvTextarea.d.ts +0 -67
  384. package/dist/components/VvTextarea/constants.d.ts +0 -19
  385. package/dist/components/VvTextarea/vv-textarea.es.js +0 -472
  386. package/dist/components/VvTextarea/vv-textarea.umd.js +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/stories/Icon/IconList.vue.d.ts +0 -44
  390. package/dist/ui-vue.es.js +0 -2985
  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 -49
  408. package/src/components/VvInputText/constants.ts +0 -34
  409. package/src/components/VvInputText/useInputNumber.ts +0 -40
  410. package/src/components/VvInputText/useInputPassword.ts +0 -38
  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 -55
  419. package/src/components/VvTextarea/constants.ts +0 -14
  420. package/src/composables/focus/useComponentFocus.ts +0 -22
  421. package/src/composables/icons/useComponentIcons.ts +0 -52
  422. package/src/composables/options/useOptions.ts +0 -27
  423. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  424. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  425. package/src/stories/Accordion/accordionTest.js +0 -36
  426. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  427. package/src/stories/AccordionGroup/AccordionItems.stories.mdx +0 -51
  428. package/src/stories/AccordionGroup/accordionGroupTest.js +0 -51
  429. package/src/stories/Badge/BadgeColor.stories.mdx +0 -54
  430. package/src/stories/Badge/BadgeDot.stories.mdx +0 -20
  431. package/src/stories/Badge/BadgeTest.js +0 -21
  432. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +0 -41
  433. package/src/stories/Button/ButtonBadge.stories.mdx +0 -34
  434. package/src/stories/Button/ButtonIconPosition.stories.mdx +0 -106
  435. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  436. package/src/stories/Button/test.js +0 -41
  437. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +0 -83
  438. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +0 -50
  439. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +0 -40
  440. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +0 -38
  441. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +0 -77
  442. package/src/stories/ButtonGroup/ButtonGroupTest.js +0 -61
  443. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +0 -38
  444. package/src/stories/Card/CardVariant.stories.mdx +0 -37
  445. package/src/stories/Check/Check.stories.mdx +0 -62
  446. package/src/stories/Check/CheckBinary.stories.mdx +0 -80
  447. package/src/stories/Check/CheckDisabled.stories.mdx +0 -30
  448. package/src/stories/Check/CheckError.stories.mdx +0 -64
  449. package/src/stories/Check/CheckErrorTests.js +0 -72
  450. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  451. package/src/stories/Check/CheckPropertyTest.js +0 -101
  452. package/src/stories/Check/CheckReadonly.stories.mdx +0 -30
  453. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  454. package/src/stories/Check/CheckSwitch.stories.mdx +0 -30
  455. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  456. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  457. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  458. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  459. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  460. package/src/stories/CheckGroup/CheckGroupOptionLabel.stories.mdx +0 -48
  461. package/src/stories/CheckGroup/CheckGroupOptionValue.stories.mdx +0 -48
  462. package/src/stories/CheckGroup/CheckGroupOptions.stories.mdx +0 -40
  463. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  464. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  465. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  466. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  467. package/src/stories/Dialog/DialogAutoClose.stories.mdx +0 -18
  468. package/src/stories/Dialog/DialogSize.stories.mdx +0 -36
  469. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +0 -25
  470. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +0 -25
  471. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +0 -26
  472. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +0 -56
  473. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +0 -58
  474. package/src/stories/Icon/IconList.vue +0 -34
  475. package/src/stories/Icon/IconPrefix.stories.mdx +0 -79
  476. package/src/stories/Icon/IconRemote.stories.mdx +0 -39
  477. package/src/stories/Icon/IconTest.js +0 -27
  478. package/src/stories/Icon/IconsList.stories.mdx +0 -35
  479. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +0 -15
  480. package/src/stories/InputText/InputTextAutofocus.stories.mdx +0 -20
  481. package/src/stories/InputText/InputTextDisabled.stories.mdx +0 -19
  482. package/src/stories/InputText/InputTextError.stories.mdx +0 -19
  483. package/src/stories/InputText/InputTextFloating.stories.mdx +0 -20
  484. package/src/stories/InputText/InputTextHintLabel.stories.mdx +0 -18
  485. package/src/stories/InputText/InputTextIcon.stories.mdx +0 -18
  486. package/src/stories/InputText/InputTextLabel.stories.mdx +0 -15
  487. package/src/stories/InputText/InputTextLoading.stories.mdx +0 -19
  488. package/src/stories/InputText/InputTextMax.stories.mdx +0 -31
  489. package/src/stories/InputText/InputTextMaxLength.stories.mdx +0 -15
  490. package/src/stories/InputText/InputTextMin.stories.mdx +0 -31
  491. package/src/stories/InputText/InputTextMinLength.stories.mdx +0 -15
  492. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +0 -15
  493. package/src/stories/InputText/InputTextReadonly.stories.mdx +0 -19
  494. package/src/stories/InputText/InputTextStep.stories.mdx +0 -31
  495. package/src/stories/InputText/InputTextValid.stories.mdx +0 -19
  496. package/src/stories/NativeSelect/NativeSelect.stories.mdx +0 -53
  497. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +0 -32
  498. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +0 -36
  499. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +0 -34
  500. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +0 -42
  501. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +0 -27
  502. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +0 -78
  503. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +0 -34
  504. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +0 -66
  505. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +0 -36
  506. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +0 -66
  507. package/src/stories/Progress/ProgressDeterminate.stories.mdx +0 -19
  508. package/src/stories/Radio/RadioDisabled.stories.mdx +0 -30
  509. package/src/stories/Radio/RadioError.stories.mdx +0 -64
  510. package/src/stories/Radio/RadioHintLabel.stories.mdx +0 -30
  511. package/src/stories/Radio/RadioTest.js +0 -89
  512. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +0 -29
  513. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +0 -31
  514. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +0 -28
  515. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +0 -29
  516. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +0 -65
  517. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +0 -65
  518. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +0 -29
  519. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +0 -31
  520. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +0 -29
  521. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  522. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  523. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  524. package/src/stories/Select/SelectDisabled.stories.mdx +0 -32
  525. package/src/stories/Select/SelectMaxValues.stories.mdx +0 -33
  526. package/src/stories/Select/SelectMultiple.stories.mdx +0 -64
  527. package/src/stories/Select/SelectSearchable.stories.mdx +0 -80
  528. package/src/stories/Select/SelectSeparator.stories.mdx +0 -64
  529. package/src/stories/Select/SelectUseObject.stories.mdx +0 -66
  530. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +0 -15
  531. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +0 -20
  532. package/src/stories/Textarea/TextareaDisabled.stories.mdx +0 -19
  533. package/src/stories/Textarea/TextareaError.stories.mdx +0 -19
  534. package/src/stories/Textarea/TextareaFloating.stories.mdx +0 -20
  535. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +0 -18
  536. package/src/stories/Textarea/TextareaIcon.stories.mdx +0 -18
  537. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +0 -31
  538. package/src/stories/Textarea/TextareaLabel.stories.mdx +0 -15
  539. package/src/stories/Textarea/TextareaLoading.stories.mdx +0 -19
  540. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +0 -15
  541. package/src/stories/Textarea/TextareaMinLength.stories.mdx +0 -15
  542. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +0 -15
  543. package/src/stories/Textarea/TextareaReadonly.stories.mdx +0 -19
  544. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +0 -31
  545. package/src/stories/Textarea/TextareaValid.stories.mdx +0 -19
  546. package/src/stories/stories.scss +0 -24
  547. package/src/stories/volver-ui-vue.stories.mdx +0 -71
  548. 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 {};