@volverjs/ui-vue 0.0.10-beta.35 → 0.0.10-beta.37

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 (348) hide show
  1. package/README.md +78 -77
  2. package/bin/icons.cjs +1 -1
  3. package/bin/icons.js +5 -5
  4. package/dist/Volver.d.ts +10 -10
  5. package/dist/components/VvAccordion/VvAccordion.es.js +11 -11
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +17 -17
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  9. package/dist/components/VvAction/VvAction.es.js +6 -6
  10. package/dist/components/VvAction/VvAction.umd.js +1 -1
  11. package/dist/components/VvAlert/VvAlert.es.js +23 -21
  12. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  13. package/dist/components/VvAlert/index.d.ts +2 -2
  14. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +351 -349
  15. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  16. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +3 -3
  17. package/dist/components/VvAlertGroup/index.d.ts +1 -1
  18. package/dist/components/VvAvatar/VvAvatar.es.js +4 -1
  19. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  20. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +11 -3
  21. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +10 -10
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  24. package/dist/components/VvButton/VvButton.es.js +31 -25
  25. package/dist/components/VvButton/VvButton.umd.js +1 -1
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -1
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  28. package/dist/components/VvCheckbox/VvCheckbox.es.js +208 -202
  29. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  30. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +3 -3
  31. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +21 -15
  32. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  33. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
  34. package/dist/components/VvCombobox/VvCombobox.es.js +454 -446
  35. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  36. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +5 -5
  37. package/dist/components/VvCombobox/index.d.ts +5 -10
  38. package/dist/components/VvDialog/VvDialog.es.js +17 -17
  39. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  40. package/dist/components/VvDropdown/VvDropdown.es.js +29 -25
  41. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  42. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +16 -12
  43. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +11 -14
  44. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  45. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  46. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  47. package/dist/components/VvInputFile/VvInputFile.es.js +61 -55
  48. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  49. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +2 -2
  50. package/dist/components/VvInputFile/index.d.ts +6 -6
  51. package/dist/components/VvInputText/VvInputText.es.js +287 -286
  52. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  53. package/dist/components/VvInputText/VvInputText.vue.d.ts +2 -2
  54. package/dist/components/VvInputText/index.d.ts +7 -2
  55. package/dist/components/VvNav/VvNav.es.js +23 -20
  56. package/dist/components/VvNav/VvNav.umd.js +1 -1
  57. package/dist/components/VvNavItem/VvNavItem.es.js +6 -6
  58. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  59. package/dist/components/VvRadio/VvRadio.es.js +208 -202
  60. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  61. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  62. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +21 -15
  63. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  64. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
  65. package/dist/components/VvSelect/VvSelect.es.js +22 -20
  66. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  67. package/dist/components/VvSelect/VvSelect.vue.d.ts +2 -2
  68. package/dist/components/VvTab/VvTab.es.js +29 -23
  69. package/dist/components/VvTab/VvTab.umd.js +1 -1
  70. package/dist/components/VvTextarea/VvTextarea.es.js +29 -27
  71. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  72. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +2 -2
  73. package/dist/components/VvTooltip/VvTooltip.es.js +4 -1
  74. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  75. package/dist/components/common/HintSlot.d.ts +3 -4
  76. package/dist/components/index.es.js +905 -888
  77. package/dist/components/index.umd.js +1 -1
  78. package/dist/composables/alert/useAlert.d.ts +2 -2
  79. package/dist/composables/index.es.js +10 -10
  80. package/dist/composables/index.umd.js +1 -1
  81. package/dist/composables/useBlurhash.d.ts +1 -1
  82. package/dist/composables/usePersistence.d.ts +2 -1
  83. package/dist/composables/useUniqueId.d.ts +1 -1
  84. package/dist/directives/index.es.js +5 -2
  85. package/dist/directives/index.umd.js +1 -1
  86. package/dist/directives/v-contextmenu.es.js +1 -1
  87. package/dist/directives/v-contextmenu.umd.js +1 -1
  88. package/dist/directives/v-tooltip.es.js +4 -1
  89. package/dist/directives/v-tooltip.umd.js +1 -1
  90. package/dist/icons.es.js +3 -3
  91. package/dist/icons.umd.js +1 -1
  92. package/dist/index.es.js +2 -2
  93. package/dist/stories/Alert/AlertModifiers.stories.d.ts +1 -1
  94. package/dist/stories/Alert/AlertSlots.stories.d.ts +1 -1
  95. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +1 -1
  96. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +1 -1
  97. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  98. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  99. package/dist/stories/Combobox/Combobox.settings.d.ts +1 -1
  100. package/dist/test/options.d.ts +1 -1
  101. package/dist/test/sleep.d.ts +1 -1
  102. package/dist/types/alert.d.ts +1 -1
  103. package/dist/utils/ObjectUtilities.d.ts +7 -7
  104. package/package.json +232 -239
  105. package/src/Volver.ts +243 -243
  106. package/src/assets/icons/detailed.json +1 -1
  107. package/src/assets/icons/normal.json +1 -1
  108. package/src/assets/icons/simple.json +1 -1
  109. package/src/components/VvAccordion/VvAccordion.vue +155 -155
  110. package/src/components/VvAccordion/index.ts +62 -62
  111. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +220 -219
  112. package/src/components/VvAccordionGroup/index.ts +41 -41
  113. package/src/components/VvAction/VvAction.vue +144 -142
  114. package/src/components/VvAlert/VvAlert.vue +72 -70
  115. package/src/components/VvAlert/index.ts +147 -150
  116. package/src/components/VvAlertGroup/VvAlertGroup.vue +56 -55
  117. package/src/components/VvAlertGroup/index.ts +99 -103
  118. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  119. package/src/components/VvAvatar/index.ts +5 -5
  120. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  121. package/src/components/VvAvatarGroup/index.ts +21 -21
  122. package/src/components/VvBadge/VvBadge.vue +15 -14
  123. package/src/components/VvBadge/index.ts +2 -2
  124. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +49 -48
  125. package/src/components/VvBreadcrumb/index.ts +2 -2
  126. package/src/components/VvButton/VvButton.vue +163 -162
  127. package/src/components/VvButton/index.ts +102 -102
  128. package/src/components/VvButtonGroup/VvButtonGroup.vue +72 -72
  129. package/src/components/VvButtonGroup/index.ts +22 -22
  130. package/src/components/VvCard/VvCard.vue +30 -30
  131. package/src/components/VvCard/index.ts +2 -2
  132. package/src/components/VvCheckbox/VvCheckbox.vue +185 -180
  133. package/src/components/VvCheckbox/index.ts +44 -44
  134. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -86
  135. package/src/components/VvCombobox/VvCombobox.vue +633 -623
  136. package/src/components/VvCombobox/index.ts +166 -166
  137. package/src/components/VvDialog/VvDialog.vue +131 -129
  138. package/src/components/VvDialog/index.ts +35 -35
  139. package/src/components/VvDropdown/VvDropdown.vue +464 -452
  140. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  141. package/src/components/VvDropdown/VvDropdownItem.vue +29 -28
  142. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  143. package/src/components/VvDropdown/VvDropdownOption.vue +47 -47
  144. package/src/components/VvDropdown/index.ts +53 -53
  145. package/src/components/VvIcon/README.md +1 -1
  146. package/src/components/VvIcon/VvIcon.vue +133 -133
  147. package/src/components/VvIcon/index.ts +77 -77
  148. package/src/components/VvInputFile/VvInputFile.vue +367 -363
  149. package/src/components/VvInputFile/index.ts +125 -125
  150. package/src/components/VvInputText/VvInputClearAction.ts +50 -50
  151. package/src/components/VvInputText/VvInputPasswordAction.ts +65 -65
  152. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  153. package/src/components/VvInputText/VvInputText.vue +636 -637
  154. package/src/components/VvInputText/VvInputTextActions.ts +86 -86
  155. package/src/components/VvInputText/index.ts +198 -198
  156. package/src/components/VvNav/VvNav.vue +40 -33
  157. package/src/components/VvNav/VvNavItem.vue +12 -12
  158. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  159. package/src/components/VvNav/index.ts +2 -2
  160. package/src/components/VvProgress/VvProgress.vue +27 -26
  161. package/src/components/VvProgress/index.ts +28 -28
  162. package/src/components/VvRadio/VvRadio.vue +115 -112
  163. package/src/components/VvRadio/index.ts +27 -27
  164. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -89
  165. package/src/components/VvSelect/VvSelect.vue +241 -238
  166. package/src/components/VvSelect/index.ts +62 -62
  167. package/src/components/VvTab/VvTab.vue +79 -73
  168. package/src/components/VvTab/index.ts +12 -12
  169. package/src/components/VvTextarea/VvTextarea.vue +218 -216
  170. package/src/components/VvTextarea/index.ts +35 -35
  171. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  172. package/src/components/VvTooltip/index.ts +12 -12
  173. package/src/components/common/HintSlot.ts +149 -150
  174. package/src/composables/alert/useAlert.ts +74 -74
  175. package/src/composables/alert/useInjectAlert.ts +1 -1
  176. package/src/composables/alert/useProvideAlert.ts +10 -10
  177. package/src/composables/dropdown/useInjectDropdown.ts +6 -6
  178. package/src/composables/dropdown/useProvideDropdown.ts +62 -62
  179. package/src/composables/group/useInjectedGroupState.ts +41 -41
  180. package/src/composables/group/useProvideGroupState.ts +1 -2
  181. package/src/composables/useBlurhash.ts +52 -60
  182. package/src/composables/useComponentFocus.ts +9 -9
  183. package/src/composables/useComponentIcon.ts +35 -35
  184. package/src/composables/useDebouncedInput.ts +25 -25
  185. package/src/composables/useDefaults.ts +77 -76
  186. package/src/composables/useModifiers.ts +29 -29
  187. package/src/composables/useOptions.ts +45 -43
  188. package/src/composables/usePersistence.ts +70 -72
  189. package/src/composables/useTextCount.ts +44 -44
  190. package/src/composables/useUniqueId.ts +3 -2
  191. package/src/composables/useVolver.ts +1 -1
  192. package/src/constants.ts +70 -70
  193. package/src/directives/v-contextmenu.ts +34 -34
  194. package/src/directives/v-tooltip.ts +17 -17
  195. package/src/index.ts +3 -3
  196. package/src/props/index.ts +453 -453
  197. package/src/resolvers/unplugin.ts +138 -138
  198. package/src/shims.d.ts +4 -5
  199. package/src/stories/Accordion/Accordion.settings.ts +49 -49
  200. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  201. package/src/stories/Accordion/Accordion.test.ts +56 -54
  202. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  203. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +69 -67
  204. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +37 -37
  205. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -47
  206. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +34 -34
  207. package/src/stories/Alert/Alert.settings.ts +115 -115
  208. package/src/stories/Alert/Alert.stories.ts +30 -30
  209. package/src/stories/Alert/Alert.test.ts +78 -78
  210. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  211. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  212. package/src/stories/AlertGroup/AlertGroup.settings.ts +104 -104
  213. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  214. package/src/stories/AlertGroup/AlertGroup.test.ts +67 -67
  215. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  216. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  217. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +57 -57
  218. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  219. package/src/stories/Avatar/Avatar.stories.ts +23 -23
  220. package/src/stories/Avatar/Avatar.test.ts +22 -22
  221. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  222. package/src/stories/Avatar/AvatarModifiers.stories.ts +61 -61
  223. package/src/stories/Avatar/AvatarSlots.stories.ts +18 -18
  224. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +53 -53
  225. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  226. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -24
  227. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  228. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  229. package/src/stories/Badge/Badge.settings.ts +20 -20
  230. package/src/stories/Badge/Badge.stories.ts +23 -23
  231. package/src/stories/Badge/Badge.test.ts +8 -8
  232. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  233. package/src/stories/Blurhash/BlurhashComposable.stories.ts +77 -76
  234. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +34 -34
  235. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +22 -22
  236. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  237. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +17 -17
  238. package/src/stories/Button/Button.settings.ts +144 -144
  239. package/src/stories/Button/Button.stories.ts +18 -18
  240. package/src/stories/Button/Button.test.ts +41 -40
  241. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  242. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  243. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  244. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  245. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  246. package/src/stories/Button/ButtonState.stories.ts +23 -23
  247. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  248. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +32 -32
  249. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  250. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -22
  251. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  252. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +18 -18
  253. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  254. package/src/stories/Card/Card.settings.ts +48 -48
  255. package/src/stories/Card/Card.stories.ts +22 -22
  256. package/src/stories/Card/Card.test.ts +14 -14
  257. package/src/stories/Card/CardSlots.stories.ts +42 -42
  258. package/src/stories/Checkbox/Checkbox.settings.ts +35 -35
  259. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  260. package/src/stories/Checkbox/Checkbox.test.ts +63 -62
  261. package/src/stories/Checkbox/CheckboxBinary.stories.ts +17 -17
  262. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  263. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  264. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  265. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +63 -63
  266. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  267. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  268. package/src/stories/Combobox/Combobox.settings.ts +390 -390
  269. package/src/stories/Combobox/Combobox.stories.ts +107 -107
  270. package/src/stories/Combobox/Combobox.test.ts +89 -87
  271. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +24 -24
  272. package/src/stories/Combobox/ComboboxMultiple.stories.ts +22 -22
  273. package/src/stories/Combobox/ComboboxOptions.stories.ts +84 -84
  274. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -55
  275. package/src/stories/Dialog/Dialog.settings.ts +39 -39
  276. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  277. package/src/stories/Dialog/Dialog.test.ts +49 -49
  278. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  279. package/src/stories/Dropdown/Dropdown.settings.ts +62 -62
  280. package/src/stories/Dropdown/Dropdown.stories.ts +59 -59
  281. package/src/stories/Dropdown/Dropdown.test.ts +9 -9
  282. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +16 -16
  283. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +18 -18
  284. package/src/stories/Dropdown/DropdownSlots.stories.ts +49 -49
  285. package/src/stories/Icon/Icon.settings.ts +64 -64
  286. package/src/stories/Icon/Icon.stories.ts +28 -28
  287. package/src/stories/Icon/IconsCollection.stories.ts +22 -22
  288. package/src/stories/InputFile/InputFile.settings.ts +29 -29
  289. package/src/stories/InputFile/InputFile.stories.ts +54 -54
  290. package/src/stories/InputFile/InputFileDropArea.stories.ts +34 -34
  291. package/src/stories/InputFile/InputFileIconPosition.stories.ts +24 -24
  292. package/src/stories/InputFile/InputFileSlots.stories.ts +17 -17
  293. package/src/stories/InputText/InputText.settings.ts +245 -246
  294. package/src/stories/InputText/InputText.stories.ts +67 -67
  295. package/src/stories/InputText/InputText.test.ts +118 -117
  296. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  297. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  298. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  299. package/src/stories/InputText/InputTextMinMax.stories.ts +29 -29
  300. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  301. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  302. package/src/stories/Nav/Nav.settings.ts +25 -25
  303. package/src/stories/Nav/Nav.stories.ts +17 -17
  304. package/src/stories/Nav/Nav.test.ts +10 -10
  305. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  306. package/src/stories/Progress/Progress.settings.ts +23 -23
  307. package/src/stories/Progress/Progress.stories.ts +23 -23
  308. package/src/stories/Progress/Progress.test.ts +4 -4
  309. package/src/stories/Radio/Radio.settings.ts +9 -9
  310. package/src/stories/Radio/Radio.stories.ts +47 -47
  311. package/src/stories/Radio/Radio.test.ts +54 -53
  312. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  313. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  314. package/src/stories/RadioGroup/RadioGroup.stories.ts +50 -50
  315. package/src/stories/RadioGroup/RadioGroup.test.ts +63 -63
  316. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +34 -34
  317. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  318. package/src/stories/Select/Select.settings.ts +70 -70
  319. package/src/stories/Select/Select.stories.ts +66 -66
  320. package/src/stories/Select/Select.test.ts +65 -64
  321. package/src/stories/Select/SelectIconPosition.stories.ts +24 -24
  322. package/src/stories/Select/SelectOptions.stories.ts +54 -54
  323. package/src/stories/Select/SelectSlots.stories.ts +20 -20
  324. package/src/stories/Tab/Tab.settings.ts +32 -32
  325. package/src/stories/Tab/Tab.stories.ts +17 -17
  326. package/src/stories/Tab/Tab.test.ts +17 -17
  327. package/src/stories/Textarea/Textarea.settings.ts +78 -79
  328. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  329. package/src/stories/Textarea/Textarea.test.ts +70 -69
  330. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  331. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  332. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  333. package/src/stories/Tooltip/Tooltip.settings.ts +16 -16
  334. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  335. package/src/stories/Tooltip/Tooltip.test.ts +53 -52
  336. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  337. package/src/stories/argTypes.ts +484 -485
  338. package/src/test/expect.ts +71 -74
  339. package/src/test/options.ts +17 -16
  340. package/src/test/sleep.ts +3 -2
  341. package/src/test/types.d.ts +11 -11
  342. package/src/types/alert.ts +18 -18
  343. package/src/types/blurhash.ts +18 -18
  344. package/src/types/generic.ts +1 -2
  345. package/src/types/group.ts +21 -21
  346. package/src/types/input-file.ts +17 -17
  347. package/src/types/nav.ts +13 -13
  348. package/src/utils/ObjectUtilities.ts +192 -177
@@ -7,12 +7,12 @@ import type { Ref } from 'vue'
7
7
  * @param {string} field optional field of obj1 and obj2 (also nested dotted field "prop1.prop12")
8
8
  * @returns {boolean}
9
9
  */
10
- // eslint-disable-next-line
10
+
11
11
  export function equals(obj1: any, obj2: any, field?: string) {
12
- if (field) {
13
- return resolveFieldData(obj1, field) === resolveFieldData(obj2, field)
14
- }
15
- return deepEquals(obj1, obj2)
12
+ if (field) {
13
+ return resolveFieldData(obj1, field) === resolveFieldData(obj2, field)
14
+ }
15
+ return deepEquals(obj1, obj2)
16
16
  }
17
17
 
18
18
  /**
@@ -21,94 +21,108 @@ export function equals(obj1: any, obj2: any, field?: string) {
21
21
  * @param {any} b second literal
22
22
  * @returns {boolean}
23
23
  */
24
- // eslint-disable-next-line
25
- export function deepEquals(a: any, b: any) {
26
- if (a === b) return true
27
-
28
- if (a && b && typeof a == 'object' && typeof b == 'object') {
29
- const arrA = Array.isArray(a)
30
- const arrB = Array.isArray(b)
31
- let i, length, key
32
-
33
- if (arrA && arrB) {
34
- length = a.length
35
- if (length != b.length) return false
36
- for (i = length; i-- !== 0; )
37
- if (!deepEquals(a[i], b[i])) return false
38
-
39
- return true
40
- }
41
-
42
- if (arrA != arrB) return false
43
-
44
- const dateA = a instanceof Date,
45
- dateB = b instanceof Date
46
-
47
- if (dateA != dateB) return false
48
- if (dateA && dateB) return a.getTime() == b.getTime()
49
-
50
- const regexpA = a instanceof RegExp,
51
- regexpB = b instanceof RegExp
52
-
53
- if (regexpA != regexpB) return false
54
- if (regexpA && regexpB) return a.toString() == b.toString()
55
-
56
- const keys = Object.keys(a)
57
24
 
58
- length = keys.length
59
-
60
- if (length !== Object.keys(b).length) return false
61
-
62
- for (i = length; i-- !== 0; )
63
- if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false
64
-
65
- for (i = length; i-- !== 0; ) {
66
- key = keys[i]
67
- if (!deepEquals(a[key], b[key])) return false
68
- }
69
-
70
- return true
71
- }
72
-
73
- return a !== a && b !== b
25
+ export function deepEquals(a: any, b: any) {
26
+ if (a === b)
27
+ return true
28
+
29
+ if (a && b && typeof a == 'object' && typeof b == 'object') {
30
+ const arrA = Array.isArray(a)
31
+ const arrB = Array.isArray(b)
32
+ let i, length, key
33
+
34
+ if (arrA && arrB) {
35
+ length = a.length
36
+ if (length !== b.length)
37
+ return false
38
+ for (i = length; i-- !== 0;) {
39
+ if (!deepEquals(a[i], b[i]))
40
+ return false
41
+ }
42
+
43
+ return true
44
+ }
45
+
46
+ if (arrA !== arrB)
47
+ return false
48
+
49
+ const dateA = a instanceof Date
50
+ const dateB = b instanceof Date
51
+
52
+ if (dateA !== dateB)
53
+ return false
54
+ if (dateA && dateB)
55
+ return a.getTime() === b.getTime()
56
+
57
+ const regexpA = a instanceof RegExp
58
+ const regexpB = b instanceof RegExp
59
+
60
+ if (regexpA !== regexpB)
61
+ return false
62
+ if (regexpA && regexpB)
63
+ return a.toString() === b.toString()
64
+
65
+ const keys = Object.keys(a)
66
+
67
+ length = keys.length
68
+
69
+ if (length !== Object.keys(b).length)
70
+ return false
71
+
72
+ for (i = length; i-- !== 0;) {
73
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
74
+ return false
75
+ }
76
+
77
+ for (i = length; i-- !== 0;) {
78
+ key = keys[i]
79
+ if (!deepEquals(a[key], b[key]))
80
+ return false
81
+ }
82
+
83
+ return true
84
+ }
85
+ return Number.isNaN(a) && Number.isNaN(b)
74
86
  }
75
87
 
76
88
  /**
77
89
  * Find and return field or nested field from object (also nested dotted field)
78
90
  * @param {object} data object that contains the field
79
91
  * @param {string} field ex: "prop1" or "prop1.prop12"
80
- * @returns {boolean}
92
+ * @returns {boolean} the field value
81
93
  */
82
94
  export function resolveFieldData(data: Record<string, unknown>, 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]] as Record<string, unknown>
96
- }
97
-
98
- return value
99
- }
100
- } else {
101
- return null
102
- }
95
+ if (data && Object.keys(data).length && field) {
96
+ if (!field.includes('.')) {
97
+ return data[field]
98
+ }
99
+ else {
100
+ const fields = field.split('.')
101
+ let value = data
102
+
103
+ for (let i = 0, len = fields.length; i < len; ++i) {
104
+ if (data == null) {
105
+ return null
106
+ }
107
+
108
+ value = value[fields[i]] as Record<string, unknown>
109
+ }
110
+
111
+ return value
112
+ }
113
+ }
114
+ else {
115
+ return null
116
+ }
103
117
  }
104
118
 
105
119
  /**
106
120
  * @param {any} obj data to check
107
121
  * @returns {boolean}
108
122
  */
109
- // eslint-disable-next-line
123
+
110
124
  export function isFunction(obj: any) {
111
- return !!(obj && obj.constructor && obj.call && obj.apply)
125
+ return !!(obj && obj.constructor && obj.call && obj.apply)
112
126
  }
113
127
 
114
128
  /**
@@ -118,18 +132,18 @@ export function isFunction(obj: any) {
118
132
  * @returns {number} the index
119
133
  */
120
134
  export function findIndexInList<Type = unknown>(value: Type, list: Type[]) {
121
- let index = -1
122
-
123
- if (list) {
124
- for (let i = 0; i < list.length; i++) {
125
- if (equals(list[i], value)) {
126
- index = i
127
- break
128
- }
129
- }
130
- }
131
-
132
- return index
135
+ let index = -1
136
+
137
+ if (list) {
138
+ for (let i = 0; i < list.length; i++) {
139
+ if (equals(list[i], value)) {
140
+ index = i
141
+ break
142
+ }
143
+ }
144
+ }
145
+
146
+ return index
133
147
  }
134
148
 
135
149
  /**
@@ -139,120 +153,121 @@ export function findIndexInList<Type = unknown>(value: Type, list: Type[]) {
139
153
  * @returns {boolean} the index
140
154
  */
141
155
  export function contains<Type = unknown>(value: Type, list: Type[]) {
142
- if (value != null && list && list.length) {
143
- for (const val of list) {
144
- if (equals(value, val)) {
145
- return true
146
- }
147
- }
148
- }
149
- return false
156
+ if (value != null && list && list.length) {
157
+ for (const val of list) {
158
+ if (equals(value, val)) {
159
+ return true
160
+ }
161
+ }
162
+ }
163
+ return false
150
164
  }
151
165
 
152
166
  /**
153
167
  * @param {boolean | string | null | undefined | number | Array<unknown> | object} value element to checj
154
- * @returns {boolean}
168
+ * @returns {boolean} true if value is empty
155
169
  */
156
170
  export function isEmpty(
157
- value:
158
- | boolean
159
- | string
160
- | null
161
- | undefined
162
- | number
163
- | unknown[]
164
- | object
165
- | Ref,
171
+ value:
172
+ | boolean
173
+ | string
174
+ | null
175
+ | undefined
176
+ | number
177
+ | unknown[]
178
+ | object
179
+ | Ref,
166
180
  ) {
167
- return ((value) =>
168
- value === null ||
169
- value === undefined ||
170
- value === '' ||
171
- (Array.isArray(value) && value.length === 0) ||
172
- (!(value instanceof Date) &&
173
- typeof value === 'object' &&
174
- Object.keys(value).length === 0))(unref(value))
181
+ return (value =>
182
+ value === null
183
+ || value === undefined
184
+ || value === ''
185
+ || (Array.isArray(value) && value.length === 0)
186
+ || (!(value instanceof Date)
187
+ && typeof value === 'object'
188
+ && Object.keys(value).length === 0))(unref(value))
175
189
  }
176
190
 
177
191
  /**
178
192
  * Return the object entries that match the predicate passed
179
- * @param {Object} value
193
+ * @param {object} value
180
194
  * @param {Function} predicate
181
- * @returns {Object}
195
+ * @returns {object} the object entries
182
196
  */
183
197
  export function pickBy(
184
- value: Record<string, unknown>,
185
- predicate: (k: string) => boolean,
198
+ value: Record<string, unknown>,
199
+ predicate: (k: string) => boolean,
186
200
  ) {
187
- return Object.fromEntries(
188
- Object.entries(value).filter(([key]) => predicate(key)),
189
- )
201
+ return Object.fromEntries(
202
+ Object.entries(value).filter(([key]) => predicate(key)),
203
+ )
190
204
  }
191
205
 
192
206
  /**
193
207
  * Remove a value from an Array
194
208
  * @param {any} value the element to remove
195
209
  * @param {Array<any>} list
196
- * @returns {Array<any>}
210
+ * @returns {Array<any>} the list without the value
197
211
  */
198
212
  export function removeFromList<Type = unknown>(value: Type, list: Type[]) {
199
- //check off
200
- const indexElToRemove = findIndexInList(value, list)
201
- if (indexElToRemove > -1) {
202
- return list.filter((el, elIndex) => elIndex !== indexElToRemove)
203
- } else {
204
- return list
205
- }
213
+ // check off
214
+ const indexElToRemove = findIndexInList(value, list)
215
+ if (indexElToRemove > -1) {
216
+ return list.filter((el, elIndex) => elIndex !== indexElToRemove)
217
+ }
218
+ else {
219
+ return list
220
+ }
206
221
  }
207
222
 
208
223
  /**
209
224
  * @param {any} value
210
- * @returns {boolean}
225
+ * @returns {boolean} true if value is a string
211
226
  */
212
227
  export function isString(value: unknown) {
213
- return typeof value === 'string' || value instanceof String
228
+ return typeof value === 'string' || value instanceof String
214
229
  }
215
230
 
216
231
  /**
217
232
  * Convert props definition to object with "prop" as key and default as value
218
233
  * @param {ComponentObjectPropsOptions} props vue component props
219
- * @returns {Object}
234
+ * @returns {object}
220
235
  */
221
- // eslint-disable-next-line
236
+
222
237
  export function propsToObject(props: any) {
223
- return Object.keys(props).reduce(
224
- (accumulator: Record<string, unknown>, key: string) => {
225
- if (key === 'modelValue') {
226
- return accumulator
227
- }
228
- if ('default' in props[key]) {
229
- accumulator[key] =
230
- typeof props[key].default === 'function'
231
- ? props[key].default()
232
- : props[key].default
233
- return accumulator
234
- }
235
- if (isFunction(props[key])) {
236
- // case prop1: String
237
- accumulator[key] = props[key]()
238
- return accumulator
239
- }
240
- if (Array.isArray(props[key])) {
241
- // case prop1: [ String, Array ]
242
- accumulator[key] = props[key][0]()
243
- return accumulator
244
- }
245
- // case prop1: { type: ... }
246
- if (Array.isArray(props[key].type)) {
247
- accumulator[key] = props[key]?.type[0]()
248
- return accumulator
249
- }
250
- // case prop1: { type: String }
251
- accumulator[key] = props[key]?.type()
252
- return accumulator
253
- },
254
- {} as Record<string, unknown>,
255
- )
238
+ return Object.keys(props).reduce(
239
+ (accumulator: Record<string, unknown>, key: string) => {
240
+ if (key === 'modelValue') {
241
+ return accumulator
242
+ }
243
+ if ('default' in props[key]) {
244
+ accumulator[key]
245
+ = typeof props[key].default === 'function'
246
+ ? props[key].default()
247
+ : props[key].default
248
+ return accumulator
249
+ }
250
+ if (isFunction(props[key])) {
251
+ // case prop1: String
252
+ accumulator[key] = props[key]()
253
+ return accumulator
254
+ }
255
+ if (Array.isArray(props[key])) {
256
+ // case prop1: [ String, Array ]
257
+ accumulator[key] = props[key][0]()
258
+ return accumulator
259
+ }
260
+ // case prop1: { type: ... }
261
+ if (Array.isArray(props[key].type)) {
262
+ accumulator[key] = props[key]?.type[0]()
263
+ return accumulator
264
+ }
265
+ // case prop1: { type: String }
266
+ accumulator[key] = props[key]?.type()
267
+ return accumulator
268
+ },
269
+ {} as Record<string, unknown>,
270
+ )
256
271
  }
257
272
 
258
273
  /**
@@ -263,15 +278,15 @@ export function propsToObject(props: any) {
263
278
  * @return {object[]}
264
279
  */
265
280
  export function filterArray<T = Record<string, unknown>>(
266
- list: T[],
267
- filter: T[] | string[],
268
- key: string,
281
+ list: T[],
282
+ filter: T[] | string[],
283
+ key: string,
269
284
  ): T[] {
270
- return list.filter((el) => {
271
- return filter.some((f) => {
272
- return typeof f === 'string'
273
- ? el[key as keyof typeof el] == f
274
- : equals(el[key as keyof typeof el], f[key as keyof typeof f])
275
- })
276
- })
285
+ return list.filter((el) => {
286
+ return filter.some((f) => {
287
+ return typeof f === 'string'
288
+ ? el[key as keyof typeof el] === f
289
+ : equals(el[key as keyof typeof el], f[key as keyof typeof f])
290
+ })
291
+ })
277
292
  }