@volverjs/ui-vue 0.0.10-beta.34 → 0.0.10-beta.36

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 +11 -11
  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 +12 -8
  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 +893 -876
  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
@@ -1,175 +1,174 @@
1
- import type { ExtractPropTypes, Slots } from 'vue'
2
- import type { Ref } from 'vue'
1
+ import type { ExtractPropTypes, Slots, Ref } from 'vue'
3
2
 
4
3
  /**
5
4
  * Merge array of string
6
5
  * @param {string[] | string} items
7
- * @returns {string}
6
+ * @returns {string} merged string
8
7
  */
9
8
  function joinLines(items: string[] | string | unknown[] | undefined) {
10
- if (Array.isArray(items)) {
11
- return items.filter((item) => isString(item)).join(' ')
12
- }
13
- return items
9
+ if (Array.isArray(items)) {
10
+ return items.filter(item => isString(item)).join(' ')
11
+ }
12
+ return items
14
13
  }
15
14
 
16
15
  export type HintSlotProps = Readonly<
17
16
  ExtractPropTypes<{
18
- hintLabel: {
19
- type: StringConstructor
20
- default: ''
21
- required: true
22
- }
23
- modelValue: unknown
24
- valid: BooleanConstructor
25
- validLabel: (StringConstructor | ArrayConstructor)[]
26
- invalid: BooleanConstructor
27
- invalidLabel: (StringConstructor | ArrayConstructor)[]
28
- loading: BooleanConstructor
29
- loadingLabel: StringConstructor
17
+ hintLabel: {
18
+ type: StringConstructor
19
+ default: ''
20
+ required: true
21
+ }
22
+ modelValue: unknown
23
+ valid: BooleanConstructor
24
+ validLabel: (StringConstructor | ArrayConstructor)[]
25
+ invalid: BooleanConstructor
26
+ invalidLabel: (StringConstructor | ArrayConstructor)[]
27
+ loading: BooleanConstructor
28
+ loadingLabel: StringConstructor
30
29
  }>
31
30
  >
32
31
 
33
32
  /**
34
33
  * Return a vue component (HintSlot) to render and manage hint, errors, valid, loading state and messages
35
- * @param {HintSlotProps} parentProps vue props
36
- * @param {Slots} parentSlots vue slots
34
+ * @param {HintSlotProps} propsOrRef vue props
35
+ * @param {Slots} slots vue slots
37
36
  * @returns {Component} vue component
38
37
  */
39
38
  export function HintSlotFactory(
40
- propsOrRef: HintSlotProps | Ref<HintSlotProps>,
41
- slots: Slots,
39
+ propsOrRef: HintSlotProps | Ref<HintSlotProps>,
40
+ slots: Slots,
42
41
  ) {
43
- const props = computed(() => {
44
- if (isRef(propsOrRef)) {
45
- return propsOrRef.value
46
- }
47
- return propsOrRef
48
- })
42
+ const props = computed(() => {
43
+ if (isRef(propsOrRef)) {
44
+ return propsOrRef.value
45
+ }
46
+ return propsOrRef
47
+ })
49
48
 
50
- // label
51
- const invalidLabel = computed(() => joinLines(props.value.invalidLabel))
52
- const validLabel = computed(() => joinLines(props.value.validLabel))
53
- const loadingLabel = computed(() => props.value.loadingLabel)
54
- const hintLabel = computed(() => props.value.hintLabel)
49
+ // label
50
+ const invalidLabel = computed(() => joinLines(props.value.invalidLabel))
51
+ const validLabel = computed(() => joinLines(props.value.validLabel))
52
+ const loadingLabel = computed(() => props.value.loadingLabel)
53
+ const hintLabel = computed(() => props.value.hintLabel)
55
54
 
56
- // type
57
- const hasLoadingLabelOrSlot = computed(() =>
58
- Boolean(props.value.loading && (slots.loading || loadingLabel.value)),
59
- )
60
- const hasInvalidLabelOrSlot = computed(
61
- () =>
62
- !hasLoadingLabelOrSlot.value &&
63
- Boolean(
64
- props.value.invalid && (slots.invalid || invalidLabel.value),
65
- ),
66
- )
67
- const hasValidLabelOrSlot = computed(
68
- () =>
69
- !hasLoadingLabelOrSlot.value &&
70
- !hasInvalidLabelOrSlot.value &&
71
- Boolean(props.value.valid && (slots.valid || validLabel.value)),
72
- )
73
- const hasHintLabelOrSlot = computed(
74
- () =>
75
- !hasLoadingLabelOrSlot.value &&
76
- !hasInvalidLabelOrSlot.value &&
77
- !hasValidLabelOrSlot.value &&
78
- Boolean(slots.hint || hintLabel.value),
79
- )
80
- const isVisible = computed(
81
- () =>
82
- hasInvalidLabelOrSlot.value ||
83
- hasValidLabelOrSlot.value ||
84
- hasLoadingLabelOrSlot.value ||
85
- hasHintLabelOrSlot.value,
86
- )
87
- const hintSlotScope = computed(() => ({
88
- modelValue: props.value.modelValue,
89
- valid: props.value.valid,
90
- invalid: props.value.invalid,
91
- loading: props.value.loading,
92
- }))
93
- // component
94
- const HintSlot = defineComponent({
95
- name: 'HintSlot',
96
- props: {
97
- tag: {
98
- type: String,
99
- default: 'small',
100
- },
101
- },
102
- setup() {
103
- return {
104
- isVisible,
105
- invalidLabel,
106
- validLabel,
107
- loadingLabel,
108
- hintLabel,
109
- hasInvalidLabelOrSlot,
110
- hasValidLabelOrSlot,
111
- hasLoadingLabelOrSlot,
112
- hasHintLabelOrSlot,
113
- }
114
- },
115
- render() {
116
- if (this.isVisible) {
117
- let role
118
- if (this.hasInvalidLabelOrSlot) {
119
- role = 'alert'
120
- }
121
- if (this.hasValidLabelOrSlot) {
122
- role = 'status'
123
- }
124
- if (this.hasLoadingLabelOrSlot) {
125
- return h(
126
- this.tag,
127
- {
128
- role,
129
- },
130
- this.$slots.loading?.() ?? this.loadingLabel,
131
- )
132
- }
133
- if (this.hasInvalidLabelOrSlot) {
134
- return h(
135
- this.tag,
136
- {
137
- role,
138
- },
139
- this.$slots.invalid?.() ??
140
- this.$slots.invalid ??
141
- this.invalidLabel,
142
- )
143
- }
144
- if (this.hasValidLabelOrSlot) {
145
- return h(
146
- this.tag,
147
- {
148
- role,
149
- },
150
- this.$slots.valid?.() ?? this.validLabel,
151
- )
152
- }
153
- return h(
154
- this.tag,
155
- {
156
- role,
157
- },
158
- this.$slots.hint?.() ?? this.$slots.hint ?? this.hintLabel,
159
- )
160
- }
161
- return null
162
- },
163
- })
55
+ // type
56
+ const hasLoadingLabelOrSlot = computed(() =>
57
+ Boolean(props.value.loading && (slots.loading || loadingLabel.value)),
58
+ )
59
+ const hasInvalidLabelOrSlot = computed(
60
+ () =>
61
+ !hasLoadingLabelOrSlot.value
62
+ && Boolean(
63
+ props.value.invalid && (slots.invalid || invalidLabel.value),
64
+ ),
65
+ )
66
+ const hasValidLabelOrSlot = computed(
67
+ () =>
68
+ !hasLoadingLabelOrSlot.value
69
+ && !hasInvalidLabelOrSlot.value
70
+ && Boolean(props.value.valid && (slots.valid || validLabel.value)),
71
+ )
72
+ const hasHintLabelOrSlot = computed(
73
+ () =>
74
+ !hasLoadingLabelOrSlot.value
75
+ && !hasInvalidLabelOrSlot.value
76
+ && !hasValidLabelOrSlot.value
77
+ && Boolean(slots.hint || hintLabel.value),
78
+ )
79
+ const isVisible = computed(
80
+ () =>
81
+ hasInvalidLabelOrSlot.value
82
+ || hasValidLabelOrSlot.value
83
+ || hasLoadingLabelOrSlot.value
84
+ || hasHintLabelOrSlot.value,
85
+ )
86
+ const hintSlotScope = computed(() => ({
87
+ modelValue: props.value.modelValue,
88
+ valid: props.value.valid,
89
+ invalid: props.value.invalid,
90
+ loading: props.value.loading,
91
+ }))
92
+ // component
93
+ const HintSlot = defineComponent({
94
+ name: 'HintSlot',
95
+ props: {
96
+ tag: {
97
+ type: String,
98
+ default: 'small',
99
+ },
100
+ },
101
+ setup() {
102
+ return {
103
+ isVisible,
104
+ invalidLabel,
105
+ validLabel,
106
+ loadingLabel,
107
+ hintLabel,
108
+ hasInvalidLabelOrSlot,
109
+ hasValidLabelOrSlot,
110
+ hasLoadingLabelOrSlot,
111
+ hasHintLabelOrSlot,
112
+ }
113
+ },
114
+ render() {
115
+ if (this.isVisible) {
116
+ let role
117
+ if (this.hasInvalidLabelOrSlot) {
118
+ role = 'alert'
119
+ }
120
+ if (this.hasValidLabelOrSlot) {
121
+ role = 'status'
122
+ }
123
+ if (this.hasLoadingLabelOrSlot) {
124
+ return h(
125
+ this.tag,
126
+ {
127
+ role,
128
+ },
129
+ this.$slots.loading?.() ?? this.loadingLabel,
130
+ )
131
+ }
132
+ if (this.hasInvalidLabelOrSlot) {
133
+ return h(
134
+ this.tag,
135
+ {
136
+ role,
137
+ },
138
+ this.$slots.invalid?.()
139
+ ?? this.$slots.invalid
140
+ ?? this.invalidLabel,
141
+ )
142
+ }
143
+ if (this.hasValidLabelOrSlot) {
144
+ return h(
145
+ this.tag,
146
+ {
147
+ role,
148
+ },
149
+ this.$slots.valid?.() ?? this.validLabel,
150
+ )
151
+ }
152
+ return h(
153
+ this.tag,
154
+ {
155
+ role,
156
+ },
157
+ this.$slots.hint?.() ?? this.$slots.hint ?? this.hintLabel,
158
+ )
159
+ }
160
+ return null
161
+ },
162
+ })
164
163
 
165
- return {
166
- hasInvalidLabelOrSlot,
167
- hasHintLabelOrSlot,
168
- hasValidLabelOrSlot,
169
- hasLoadingLabelOrSlot,
170
- hintSlotScope,
171
- HintSlot,
172
- }
164
+ return {
165
+ hasInvalidLabelOrSlot,
166
+ hasHintLabelOrSlot,
167
+ hasValidLabelOrSlot,
168
+ hasLoadingLabelOrSlot,
169
+ hintSlotScope,
170
+ HintSlot,
171
+ }
173
172
  }
174
173
 
175
174
  export default HintSlotFactory
@@ -1,19 +1,19 @@
1
1
  import {
2
- DEFAULT_ALERT_AUTO_CLOSE,
3
- DEFAULT_ALERT_DISMISSABLE,
4
- DEFAULT_ALERT_GROUP,
5
- DEFAULT_ALERT_MODIFIERS,
6
- DEFAULT_ALERT_INFO_ICON,
7
- DefaultAlertIconMap,
2
+ DEFAULT_ALERT_AUTO_CLOSE,
3
+ DEFAULT_ALERT_DISMISSABLE,
4
+ DEFAULT_ALERT_GROUP,
5
+ DEFAULT_ALERT_MODIFIERS,
6
+ DEFAULT_ALERT_INFO_ICON,
7
+ DefaultAlertIconMap,
8
8
  } from '@/constants'
9
9
  import type { Alert } from '@/types/alert'
10
10
 
11
- type AlertInGroup = Alert & { timestamp: number; group: string }
11
+ type AlertInGroup = Alert & { timestamp: number, group: string }
12
12
 
13
13
  const groups = reactive(
14
- new Map<string, Map<string, AlertInGroup>>([
15
- [DEFAULT_ALERT_GROUP, new Map<string, AlertInGroup>()],
16
- ]),
14
+ new Map<string, Map<string, AlertInGroup>>([
15
+ [DEFAULT_ALERT_GROUP, new Map<string, AlertInGroup>()],
16
+ ]),
17
17
  )
18
18
 
19
19
  /**
@@ -33,74 +33,74 @@ const groups = reactive(
33
33
  * addAlert: Function to add alert,
34
34
  * removeAlert: Function to remove alert,
35
35
  * getAlerts: Function to get alerts by group
36
- * }
36
+ * } the reactive list of alerts, groups, addAlert, removeAlert and getAlerts functions
37
37
  */
38
- export const useAlert = () => {
39
- const addAlert = (
40
- {
41
- id = crypto.randomUUID(),
42
- group = DEFAULT_ALERT_GROUP,
43
- title,
44
- icon = DEFAULT_ALERT_INFO_ICON,
45
- content,
46
- footer,
47
- modifiers = DEFAULT_ALERT_MODIFIERS,
48
- dismissable = DEFAULT_ALERT_DISMISSABLE,
49
- autoClose = DEFAULT_ALERT_AUTO_CLOSE,
50
- timestamp = Date.now(),
51
- } = {} as Partial<AlertInGroup>,
52
- ) => {
53
- if (!groups.has(group)) {
54
- groups.set(group, new Map<string, AlertInGroup>())
55
- }
56
- const groupMap = groups.get(group)
57
- const normalizedModifiers =
58
- typeof modifiers === 'string' ? modifiers.split(' ') : modifiers
38
+ export function useAlert() {
39
+ const addAlert = (
40
+ {
41
+ id = crypto.randomUUID(),
42
+ group = DEFAULT_ALERT_GROUP,
43
+ title,
44
+ icon = DEFAULT_ALERT_INFO_ICON,
45
+ content,
46
+ footer,
47
+ modifiers = DEFAULT_ALERT_MODIFIERS,
48
+ dismissable = DEFAULT_ALERT_DISMISSABLE,
49
+ autoClose = DEFAULT_ALERT_AUTO_CLOSE,
50
+ timestamp = Date.now(),
51
+ } = {} as Partial<AlertInGroup>,
52
+ ) => {
53
+ if (!groups.has(group)) {
54
+ groups.set(group, new Map<string, AlertInGroup>())
55
+ }
56
+ const groupMap = groups.get(group)
57
+ const normalizedModifiers
58
+ = typeof modifiers === 'string' ? modifiers.split(' ') : modifiers
59
59
 
60
- if (!icon) {
61
- const alertModifier = normalizedModifiers.find((modifier) =>
62
- DefaultAlertIconMap.has(modifier),
63
- )
60
+ if (!icon) {
61
+ const alertModifier = normalizedModifiers.find(modifier =>
62
+ DefaultAlertIconMap.has(modifier),
63
+ )
64
64
 
65
- if (alertModifier) {
66
- icon = DefaultAlertIconMap.get(alertModifier) as string
67
- }
68
- }
69
- groupMap?.set(id.toString(), {
70
- id,
71
- group,
72
- title,
73
- icon,
74
- content,
75
- footer,
76
- modifiers,
77
- dismissable,
78
- autoClose,
79
- timestamp,
80
- })
81
- }
65
+ if (alertModifier) {
66
+ icon = DefaultAlertIconMap.get(alertModifier) as string
67
+ }
68
+ }
69
+ groupMap?.set(id.toString(), {
70
+ id,
71
+ group,
72
+ title,
73
+ icon,
74
+ content,
75
+ footer,
76
+ modifiers,
77
+ dismissable,
78
+ autoClose,
79
+ timestamp,
80
+ })
81
+ }
82
82
 
83
- const removeAlert = (id: string | number, group = DEFAULT_ALERT_GROUP) => {
84
- const groupMap = groups.get(group)
85
- groupMap?.delete(id.toString())
86
- }
83
+ const removeAlert = (id: string | number, group = DEFAULT_ALERT_GROUP) => {
84
+ const groupMap = groups.get(group)
85
+ groupMap?.delete(id.toString())
86
+ }
87
87
 
88
- const getAlerts = (group = DEFAULT_ALERT_GROUP) => {
89
- return computed(() => {
90
- const groupMap = groups.get(group)
91
- return groupMap && groupMap instanceof Map
92
- ? Array.from(groupMap?.values()).sort(
93
- (a, b) => a.timestamp - b.timestamp,
94
- )
95
- : []
96
- })
97
- }
88
+ const getAlerts = (group = DEFAULT_ALERT_GROUP) => {
89
+ return computed(() => {
90
+ const groupMap = groups.get(group)
91
+ return groupMap && groupMap instanceof Map
92
+ ? Array.from(groupMap?.values()).sort(
93
+ (a, b) => a.timestamp - b.timestamp,
94
+ )
95
+ : []
96
+ })
97
+ }
98
98
 
99
- return {
100
- groups,
101
- alerts: getAlerts(),
102
- addAlert,
103
- removeAlert,
104
- getAlerts,
105
- }
99
+ return {
100
+ groups,
101
+ alerts: getAlerts(),
102
+ addAlert,
103
+ removeAlert,
104
+ getAlerts,
105
+ }
106
106
  }
@@ -4,5 +4,5 @@ import { INJECTION_KEY_ALERT_GROUP } from '../../constants'
4
4
  * Injects alert group name
5
5
  */
6
6
  export function useInjectedAlertGroup() {
7
- return inject(INJECTION_KEY_ALERT_GROUP, {})
7
+ return inject(INJECTION_KEY_ALERT_GROUP, {})
8
8
  }
@@ -7,17 +7,17 @@ import { INJECTION_KEY_ALERT_GROUP } from '@/constants'
7
7
  * @param {Ref<string | undefined>} name the alert group name
8
8
  */
9
9
  export function useProvideAlertGroup({
10
- name,
10
+ name,
11
11
  }: {
12
- name: Ref<string | undefined>
12
+ name: Ref<string | undefined>
13
13
  }) {
14
- const bus = mitt<{
15
- close: string
16
- }>()
17
- provide(INJECTION_KEY_ALERT_GROUP, {
18
- name,
19
- bus,
20
- })
14
+ const bus = mitt<{
15
+ close: string
16
+ }>()
17
+ provide(INJECTION_KEY_ALERT_GROUP, {
18
+ name,
19
+ bus,
20
+ })
21
21
 
22
- return bus
22
+ return bus
23
23
  }
@@ -1,26 +1,26 @@
1
1
  import {
2
- INJECTION_KEY_DROPDOWN_TRIGGER,
3
- INJECTION_KEY_DROPDOWN_ACTION,
4
- INJECTION_KEY_DROPDOWN_ITEM,
2
+ INJECTION_KEY_DROPDOWN_TRIGGER,
3
+ INJECTION_KEY_DROPDOWN_ACTION,
4
+ INJECTION_KEY_DROPDOWN_ITEM,
5
5
  } from '../../constants'
6
6
 
7
7
  /**
8
8
  * Injects dropdown reference and the event bus
9
9
  */
10
10
  export function useInjectedDropdownTrigger() {
11
- return inject(INJECTION_KEY_DROPDOWN_TRIGGER, {})
11
+ return inject(INJECTION_KEY_DROPDOWN_TRIGGER, {})
12
12
  }
13
13
 
14
14
  /**
15
15
  * Injects dropdown item role
16
16
  */
17
17
  export function useInjectedDropdownItem() {
18
- return inject(INJECTION_KEY_DROPDOWN_ITEM, {})
18
+ return inject(INJECTION_KEY_DROPDOWN_ITEM, {})
19
19
  }
20
20
 
21
21
  /**
22
22
  * Injects dropdown action role
23
23
  */
24
24
  export function useInjectedDropdownAction() {
25
- return inject(INJECTION_KEY_DROPDOWN_ACTION, {})
25
+ return inject(INJECTION_KEY_DROPDOWN_ACTION, {})
26
26
  }