@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
package/src/Volver.ts CHANGED
@@ -1,173 +1,173 @@
1
1
  import type { App, Component, Directive, Plugin, Ref } from 'vue'
2
2
  import {
3
- type IconifyIcon,
4
- type IconifyJSON,
5
- type PartialIconifyAPIConfig,
6
- addCollection,
7
- addIcon,
8
- addAPIProvider,
3
+ type IconifyIcon,
4
+ type IconifyJSON,
5
+ type PartialIconifyAPIConfig,
6
+ addCollection,
7
+ addIcon,
8
+ addAPIProvider,
9
9
  } from '@iconify/vue'
10
10
  import { kebabCase } from 'change-case'
11
11
  import { DEFAULT_ICONIFY_PROVIDER, INJECTION_KEY_VOLVER } from './constants'
12
12
 
13
13
  export function useDefaultProps(
14
- component: Component,
15
- defaults?: Record<string, unknown>,
16
- name?: string,
14
+ component: Component,
15
+ defaults?: Record<string, unknown>,
16
+ name?: string,
17
17
  ) {
18
- const componentName = name || component.name
18
+ const componentName = name || component.name
19
19
 
20
- if (!componentName) {
21
- return component
22
- }
20
+ if (!componentName) {
21
+ return component
22
+ }
23
23
 
24
- const componentDefaults = defaults?.[componentName] as Record<
24
+ const componentDefaults = defaults?.[componentName] as Record<
25
25
  string,
26
26
  unknown
27
27
  >
28
- const props = (component as Record<string, unknown>).props as Record<
28
+ const props = (component as Record<string, unknown>).props as Record<
29
29
  string,
30
30
  unknown
31
31
  >
32
32
 
33
- if (!componentDefaults || !props) {
34
- return { ...component, name: componentName }
35
- }
33
+ if (!componentDefaults || !props) {
34
+ return { ...component, name: componentName }
35
+ }
36
36
 
37
- return {
38
- ...component,
39
- name: componentName,
40
- props: Object.keys(props).reduce(
41
- (acc, key) => {
42
- if (!(key in componentDefaults)) {
43
- acc[key] = props[key]
44
- return acc
45
- }
46
- const customDefault = componentDefaults[key]
47
- if (
48
- typeof props[key] === 'function' ||
49
- Array.isArray(props[key])
50
- ) {
51
- acc[key] = {
52
- type: props[key],
53
- default: customDefault,
54
- }
55
- return acc
56
- }
57
- acc[key] = {
58
- ...(props[key] as Record<string, unknown>),
59
- default: customDefault,
60
- }
61
- return acc
62
- },
63
- {} as Record<string, unknown>,
64
- ),
65
- }
37
+ return {
38
+ ...component,
39
+ name: componentName,
40
+ props: Object.keys(props).reduce(
41
+ (acc, key) => {
42
+ if (!(key in componentDefaults)) {
43
+ acc[key] = props[key]
44
+ return acc
45
+ }
46
+ const customDefault = componentDefaults[key]
47
+ if (
48
+ typeof props[key] === 'function'
49
+ || Array.isArray(props[key])
50
+ ) {
51
+ acc[key] = {
52
+ type: props[key],
53
+ default: customDefault,
54
+ }
55
+ return acc
56
+ }
57
+ acc[key] = {
58
+ ...(props[key] as Record<string, unknown>),
59
+ default: customDefault,
60
+ }
61
+ return acc
62
+ },
63
+ {} as Record<string, unknown>,
64
+ ),
65
+ }
66
66
  }
67
67
 
68
68
  export type DefaultOptions = Record<string, Record<string, unknown>>
69
69
 
70
70
  export type VolverOptions = {
71
- /**
72
- * If true set "fetchOptions" with credentials: 'include'
73
- */
74
- fetchWithCredentials?: boolean
75
- /**
76
- * Optional fetch params
77
- */
78
- fetchOptions?: RequestInit
79
- /**
80
- * Array of iconify collections that will be added during plugin install
81
- * @see https://docs.iconify.design/types/iconify-json.html
82
- */
83
- iconsCollections?: IconifyJSON[]
84
- /**
85
- * Set true inside nuxt
86
- */
87
- nuxt?: boolean
88
- /**
89
- * Default iconify provider
90
- * @see https://docs.iconify.design/icon-components/vue/add-collection.html
91
- * @default 'vv'
92
- */
93
- iconsProvider?: string
94
- /**
95
- * Components to install
96
- */
97
- components?: Record<string, Component>
98
- /**
99
- * Alias to install
100
- */
101
- aliases?: Record<string, Component>
102
- /**
103
- * Directives to install
104
- */
105
- directives?: Record<string, Directive>
106
- /**
107
- * Default props for components
108
- */
109
- defaults?: DefaultOptions
71
+ /**
72
+ * If true set "fetchOptions" with credentials: 'include'
73
+ */
74
+ fetchWithCredentials?: boolean
75
+ /**
76
+ * Optional fetch params
77
+ */
78
+ fetchOptions?: RequestInit
79
+ /**
80
+ * Array of iconify collections that will be added during plugin install
81
+ * @see https://docs.iconify.design/types/iconify-json.html
82
+ */
83
+ iconsCollections?: IconifyJSON[]
84
+ /**
85
+ * Set true inside nuxt
86
+ */
87
+ nuxt?: boolean
88
+ /**
89
+ * Default iconify provider
90
+ * @see https://docs.iconify.design/icon-components/vue/add-collection.html
91
+ * @default 'vv'
92
+ */
93
+ iconsProvider?: string
94
+ /**
95
+ * Components to install
96
+ */
97
+ components?: Record<string, Component>
98
+ /**
99
+ * Alias to install
100
+ */
101
+ aliases?: Record<string, Component>
102
+ /**
103
+ * Directives to install
104
+ */
105
+ directives?: Record<string, Directive>
106
+ /**
107
+ * Default props for components
108
+ */
109
+ defaults?: DefaultOptions
110
110
  }
111
111
 
112
112
  export interface VolverInterface {
113
- /**
114
- * @param {String} src Icon source path (url)
115
- * @param {RequestInit} options
116
- * @returns {Promise<string | undefined>} String SVG if exist
117
- */
118
- fetchIcon(src: string, options?: RequestInit): Promise<string | undefined>
119
- /**
120
- * Add iconify collection to library
121
- * @see https://docs.iconify.design/icon-components/vue/add-collection.html
122
- * @param {IconifyJSON} collection
123
- * @param {String} providerName Optional provider name
124
- */
125
- addCollection(collection: IconifyJSON, providerName?: string): boolean
126
- /**
127
- * Add icon to collection
128
- * @see https://docs.iconify.design/icon-components/vue/add-icon.html
129
- * @param {String} name
130
- * @param {IconifyIcon} data
131
- * @returns {Boolean} true on success, false if something is wrong with data
132
- */
133
- addIcon(name: string, data: IconifyIcon): boolean
134
- /**
135
- * Add custom config for icons provider
136
- * @param {String} provider
137
- * @param {PartialIconifyAPIConfig} customConfig
138
- * @returns {Boolean} true on success, false if something is wrong with data
139
- */
140
- addIconsAPIProvider(
141
- provider: string,
142
- customConfig: PartialIconifyAPIConfig,
143
- ): boolean
144
- /**
145
- * Current provider
146
- */
147
- iconsProvider: string
148
- /**
149
- * Array of installed iconify collections
150
- * @see https://docs.iconify.design/types/iconify-json.html
151
- */
152
- iconsCollections: IconifyJSON[]
153
- /**
154
- * Set true inside nuxt
155
- */
156
- nuxt: boolean
157
- /**
158
- * Components defaults options
159
- */
160
- defaults: Ref<DefaultOptions>
113
+ /**
114
+ * @param {string} src Icon source path (url)
115
+ * @param {RequestInit} options
116
+ * @returns {Promise<string | undefined>} String SVG if exist
117
+ */
118
+ fetchIcon: (src: string, options?: RequestInit) => Promise<string | undefined>
119
+ /**
120
+ * Add iconify collection to library
121
+ * @see https://docs.iconify.design/icon-components/vue/add-collection.html
122
+ * @param {IconifyJSON} collection
123
+ * @param {string} providerName Optional provider name
124
+ */
125
+ addCollection: (collection: IconifyJSON, providerName?: string) => boolean
126
+ /**
127
+ * Add icon to collection
128
+ * @see https://docs.iconify.design/icon-components/vue/add-icon.html
129
+ * @param {string} name
130
+ * @param {IconifyIcon} data
131
+ * @returns {boolean} true on success, false if something is wrong with data
132
+ */
133
+ addIcon: (name: string, data: IconifyIcon) => boolean
134
+ /**
135
+ * Add custom config for icons provider
136
+ * @param {string} provider
137
+ * @param {PartialIconifyAPIConfig} customConfig
138
+ * @returns {boolean} true on success, false if something is wrong with data
139
+ */
140
+ addIconsAPIProvider: (
141
+ provider: string,
142
+ customConfig: PartialIconifyAPIConfig,
143
+ ) => boolean
144
+ /**
145
+ * Current provider
146
+ */
147
+ iconsProvider: string
148
+ /**
149
+ * Array of installed iconify collections
150
+ * @see https://docs.iconify.design/types/iconify-json.html
151
+ */
152
+ iconsCollections: IconifyJSON[]
153
+ /**
154
+ * Set true inside nuxt
155
+ */
156
+ nuxt: boolean
157
+ /**
158
+ * Components defaults options
159
+ */
160
+ defaults: Ref<DefaultOptions>
161
161
  }
162
162
 
163
163
  export class Volver implements VolverInterface {
164
- private _fetchOptions: RequestInit = {}
165
- private _iconsCollections: IconifyJSON[] = []
166
- private _iconsProvider = DEFAULT_ICONIFY_PROVIDER
167
- private _nuxt = false
168
- defaults: Ref<DefaultOptions> = ref({})
164
+ private _fetchOptions: RequestInit = {}
165
+ private _iconsCollections: IconifyJSON[] = []
166
+ private _iconsProvider = DEFAULT_ICONIFY_PROVIDER
167
+ private _nuxt = false
168
+ defaults: Ref<DefaultOptions> = ref({})
169
169
 
170
- constructor({
170
+ constructor({
171
171
  fetchWithCredentials,
172
172
  fetchOptions,
173
173
  iconsProvider,
@@ -175,126 +175,126 @@ export class Volver implements VolverInterface {
175
175
  iconsCollections,
176
176
  defaults,
177
177
  }: VolverOptions = {}) {
178
- // fetch options
179
- if (fetchOptions) {
180
- this._fetchOptions = fetchOptions
181
- }
182
- // fetch with credentials sugar syntax
183
- if (fetchWithCredentials) {
184
- this._fetchOptions = {
185
- ...this._fetchOptions,
186
- credentials: 'include',
187
- }
188
- }
189
- // default iconify provider
190
- if (iconsProvider) {
191
- this._iconsProvider = iconsProvider
192
- }
193
- // enable nuxt mode
194
- if (nuxt) {
195
- this._nuxt = nuxt
196
- }
197
- // add iconify collections
198
- if (iconsCollections && Array.isArray(iconsCollections)) {
199
- iconsCollections.forEach((iconsCollection) => {
200
- this.addCollection(iconsCollection, this._iconsProvider)
201
- })
202
- }
203
- if (defaults) {
204
- this.defaults.value = defaults
205
- }
206
- }
178
+ // fetch options
179
+ if (fetchOptions) {
180
+ this._fetchOptions = fetchOptions
181
+ }
182
+ // fetch with credentials sugar syntax
183
+ if (fetchWithCredentials) {
184
+ this._fetchOptions = {
185
+ ...this._fetchOptions,
186
+ credentials: 'include',
187
+ }
188
+ }
189
+ // default iconify provider
190
+ if (iconsProvider) {
191
+ this._iconsProvider = iconsProvider
192
+ }
193
+ // enable nuxt mode
194
+ if (nuxt) {
195
+ this._nuxt = nuxt
196
+ }
197
+ // add iconify collections
198
+ if (iconsCollections && Array.isArray(iconsCollections)) {
199
+ iconsCollections.forEach((iconsCollection) => {
200
+ this.addCollection(iconsCollection, this._iconsProvider)
201
+ })
202
+ }
203
+ if (defaults) {
204
+ this.defaults.value = defaults
205
+ }
206
+ }
207
207
 
208
- get nuxt(): boolean {
209
- return this._nuxt
210
- }
208
+ get nuxt(): boolean {
209
+ return this._nuxt
210
+ }
211
211
 
212
- get iconsProvider(): string {
213
- return this._iconsProvider
214
- }
212
+ get iconsProvider(): string {
213
+ return this._iconsProvider
214
+ }
215
215
 
216
- get iconsCollections(): IconifyJSON[] {
217
- return this._iconsCollections
218
- }
216
+ get iconsCollections(): IconifyJSON[] {
217
+ return this._iconsCollections
218
+ }
219
219
 
220
- addCollection(
221
- collection: IconifyJSON,
220
+ addCollection(
221
+ collection: IconifyJSON,
222
222
  providerName: string = this._iconsProvider,
223
- ): boolean {
224
- this._iconsCollections.push(collection)
225
- return addCollection(collection, providerName)
226
- }
223
+ ): boolean {
224
+ this._iconsCollections.push(collection)
225
+ return addCollection(collection, providerName)
226
+ }
227
227
 
228
- addIcon(name: string, data: IconifyIcon): boolean {
229
- return addIcon(name, data)
230
- }
228
+ addIcon(name: string, data: IconifyIcon): boolean {
229
+ return addIcon(name, data)
230
+ }
231
231
 
232
- addIconsAPIProvider(
233
- provider: string,
234
- customConfig: PartialIconifyAPIConfig,
235
- ): boolean {
236
- return addAPIProvider(provider, customConfig)
237
- }
232
+ addIconsAPIProvider(
233
+ provider: string,
234
+ customConfig: PartialIconifyAPIConfig,
235
+ ): boolean {
236
+ return addAPIProvider(provider, customConfig)
237
+ }
238
238
 
239
- fetchIcon(
240
- src: string,
239
+ fetchIcon(
240
+ src: string,
241
241
  options: RequestInit = { cache: 'force-cache' },
242
- ): Promise<string | undefined> {
243
- return new Promise((resolve, reject) => {
244
- fetch(src, { ...this._fetchOptions, ...options })
245
- .catch((e) => reject(e))
246
- .then((response) => response?.text())
247
- .then((svg?: string) => resolve(svg))
248
- })
249
- }
242
+ ): Promise<string | undefined> {
243
+ return new Promise((resolve, reject) => {
244
+ fetch(src, { ...this._fetchOptions, ...options })
245
+ .catch(e => reject(e))
246
+ .then(response => response?.text())
247
+ .then((svg?: string) => resolve(svg))
248
+ })
249
+ }
250
250
  }
251
251
 
252
252
  const VolverPlugin: Plugin = {
253
- /**
254
- * Vue.use() hook
255
- * @param {App} Vue
256
- * @param {Object} options
257
- */
258
- install(app: App, options: VolverOptions = {}) {
259
- const volver = new Volver(options)
253
+ /**
254
+ * Vue.use() hook
255
+ * @param {App} app
256
+ * @param {object} options
257
+ */
258
+ install(app: App, options: VolverOptions = {}) {
259
+ const volver = new Volver(options)
260
260
 
261
- // register global methods
262
- app.config.globalProperties.$vv = volver
261
+ // register global methods
262
+ app.config.globalProperties.$vv = volver
263
263
 
264
- // register components
265
- if (options.components) {
266
- Object.entries(options.components).forEach(([name, component]) => {
267
- app.component(
268
- name,
269
- useDefaultProps(component, options.defaults),
270
- )
271
- })
272
- }
264
+ // register components
265
+ if (options.components) {
266
+ Object.entries(options.components).forEach(([name, component]) => {
267
+ app.component(
268
+ name,
269
+ useDefaultProps(component, options.defaults),
270
+ )
271
+ })
272
+ }
273
273
 
274
- // register aliases
275
- if (options.aliases) {
276
- Object.entries(options.aliases).forEach(([name, component]) => {
277
- app.component(
278
- name,
279
- useDefaultProps(component, options.defaults, name),
280
- )
281
- })
282
- }
274
+ // register aliases
275
+ if (options.aliases) {
276
+ Object.entries(options.aliases).forEach(([name, component]) => {
277
+ app.component(
278
+ name,
279
+ useDefaultProps(component, options.defaults, name),
280
+ )
281
+ })
282
+ }
283
283
 
284
- // register directives
285
- if (options.directives) {
286
- Object.entries(options.directives).forEach(([name, directive]) => {
287
- const kebabName = kebabCase(name)
288
- if (kebabName.startsWith('v-')) {
289
- name = kebabName.substring(2).toLocaleLowerCase()
290
- }
291
- app.directive(name, directive)
292
- })
293
- }
284
+ // register directives
285
+ if (options.directives) {
286
+ Object.entries(options.directives).forEach(([name, directive]) => {
287
+ const kebabName = kebabCase(name)
288
+ if (kebabName.startsWith('v-')) {
289
+ name = kebabName.substring(2).toLocaleLowerCase()
290
+ }
291
+ app.directive(name, directive)
292
+ })
293
+ }
294
294
 
295
- // provide volver to components
296
- app.provide(INJECTION_KEY_VOLVER, volver)
297
- },
295
+ // provide volver to components
296
+ app.provide(INJECTION_KEY_VOLVER, volver)
297
+ },
298
298
  }
299
299
 
300
300
  export default VolverPlugin